コース一覧
ネットワーク基礎:TCP/IP・HTTP・DNS・CDN
ロードバランサ (L4 / L7)

ネットワーク基礎:TCP/IP・HTTP・DNS・CDN

ブラウザからサーバーまでデータが届く仕組みを、OSI・TCP/IP、IPとルーティング、TCP/UDP、HTTP/HTTPS、DNS、CDNから体系的に学びます。通信障害や構成選択をプロトコルから考えられるようになります。

1
ネットワークの全体像
0. ネットワークとは8分
1. OSI 7階層モデル10分
2. TCP/IP 4階層モデル9分
3. パケットとフレーム9分
4. ルーター・スイッチ・ハブ9分
2
IP とルーティング
0. IPアドレス (IPv4 / IPv6)10分
1. サブネットマスクと CIDR11分
2. NAT とプライベートIP9分
3. ルーティングと経路選択10分
4. ファイアウォール基礎9分
3
TCP / UDP
0. TCP と UDP の違い9分
1. 3-way ハンドシェイク9分
2. 輻輳制御と再送10分
3. UDP の用途 (DNS / 動画 / ゲーム)8分
4. ポート番号と well-known port9分
4
HTTP / HTTPS
0. HTTP の基本10分
1. HTTP メソッド9分
2. HTTPS と TLS ハンドシェイク10分
3. HTTP/2 と HTTP/3 (QUIC)10分
4. REST API の設計原則10分
5
DNS とドメイン
0. DNS とは8分
1. レコードタイプ10分
2. 名前解決の流れ10分
3. DNS キャッシュと TTL9分
4. CDN の仕組みと Anycast10分
6
応用
0. ロードバランサ (L4 / L7)10分
1. プロキシとリバースプロキシ9分
2. WebSocket とリアルタイム通信9分
3. gRPC と HTTP/2 利用10分

ネットワーク基礎:TCP/IP・HTTP・DNS・CDN

01ネットワークとは
02OSI 7階層モデル
03TCP/IP 4階層モデル
04パケットとフレーム
05ルーター・スイッチ・ハブ
06IPアドレス (IPv4 / IPv6)
07サブネットマスクと CIDR
08NAT とプライベートIP
09ルーティングと経路選択
10ファイアウォール基礎
11TCP と UDP の違い
123-way ハンドシェイク
13輻輳制御と再送
14UDP の用途 (DNS / 動画 / ゲーム)
15ポート番号と well-known port
16HTTP の基本
17HTTP メソッド
18HTTPS と TLS ハンドシェイク
19HTTP/2 と HTTP/3 (QUIC)
20REST API の設計原則
21DNS とは
22レコードタイプ
23名前解決の流れ
24DNS キャッシュと TTL
25CDN の仕組みと Anycast
26ロードバランサ (L4 / L7)
27プロキシとリバースプロキシ
28WebSocket とリアルタイム通信
29gRPC と HTTP/2 利用

ネットワーク基礎:TCP/IP・HTTP・DNS・CDN

ロードバランサ (L4 / L7)

サーバーを 2 台に増やしたのに、1 台しか働いていない

台数を増やしても、利用者がつなぐ先が 1 つの住所である以上、勝手には分かれません。前に立って割り振る役が要ります。それがロードバランサです。

役目は 3 つあります。負荷を分けること、1 台が落ちても受け続けること、そして裏の台数が変わっても外から見た住所は変わらないことです。3 つ目のおかげで、混む時間だけ台数を足す、といった運用ができます。

割り振り方は順番に配るのが基本です。台ごとに性能差があるなら重みを付け、処理時間にばらつきがあるなら、今つながっている数が一番少ない台へ送る方式に切り替えます。

IP とポートだけ見るか、中を開けて読むか

ロードバランサには 2 つの立ち位置があります。どこまで中身を見るか、の違いです。

浅いほうは、宛先の IP アドレスとポート番号だけを見て流します。中身を解釈しないので速く、暗号化されたまま裏へ渡せます。データベースの前など、とにかく速さが要る場所で使います。

深いほうは、HTTP として中身を読みます。/api で始まる URL はこちらのグループ、それ以外はこちら、といった振り分けができるのはこちらだけです。暗号を解いて読むので、証明書の管理をここに集約でき、認証やレート制限もまとめて置けます。そのぶん 1 リクエストあたりの処理は重くなります。

パスやホスト名で分けたい要件が 1 つでもあるなら、浅いほうでは実現できません。ここが選択の分かれ目です。

落ちた 1 台に、まだリクエストが飛んでいる

割り振る役は、裏の台が生きているかどうかを知りません。放っておくと、止まった台にも順番どおりに送り続けます。だから定期的に生存確認を投げます。

ポートにつながるかを見るだけの確認と、決められた URL を叩いて正常な結果が返るかを見る確認があります。前者は、プロセスは動いているが中身が壊れている状態を見逃します。アプリ側に確認用の URL を 1 つ用意し、その中でデータベースへの接続まで見て結果を返すようにしておくと、壊れた台が早く外れます。

確認の間隔と、何回続けて失敗したら外すかは調整が要ります。厳しすぎると、一時的に遅れただけの台が外れ、残りに負荷が寄って連鎖して倒れます。

もう 1 つ、時間の設定を裏の台と合わせておく必要があります。使っていない接続を切るまでの時間が、割り振る役のほうが長いと、すでに閉じられた接続にリクエストを流してしまいます。原因不明の失敗がときどき混ざる、という形で出てくるので気づきにくい部類です。裏側を少し長めにしておくと起きません。

Cookie とセッション

ログインが、リロードのたびに切れる

利用者の情報を、受け付けた台のメモリに置いている場合、次のリクエストが別の台に振られると何も残っていません。ログインし直しになります。

その場しのぎは、同じ人を必ず同じ台に送ることです。ただしこれをやると、その台が落ちた時点でその人の情報は消えますし、台数を増やしても既存の利用者は移りません。せっかく前に立てた意味が薄れます。

素直な解き方は、台のメモリに置くのをやめることです。情報を外の共有の置き場に出してしまえば、どの台が受けても同じ結果になります。台を自由に足したり落としたりできる状態は、この形にして初めて手に入ります。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
  • 処理計算や代入を表す長方形
  • ポート番号1台のサーバーで複数のサービスを区別するための番号。
  • データベースデータを構造化して保存する仕組み
  • HTTPWeb の通信プロトコル、HTTPS は TLS で暗号化したもの
  • URLページの住所全体
  • ループ繰り返し処理。矢印で戻すか専用記号で示す
  • 集約複数の値を 1 つの結果にまとめる操作
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/05/27·更新 2026/08/26

関連レッスン

  • プロキシとリバースプロキシ

    フォワードプロキシとリバースプロキシの違い・役割を学びます。

  • WebSocket とリアルタイム通信

    双方向通信を実現する WebSocket の仕組みを理解します。

  • gRPC と HTTP/2 利用

    Protocol Buffers と HTTP/2 を使う gRPC の特徴を学びます。

分からないところは Tap (AI先生) に質問できます

24 時間いつでも、あなたのレベルに合わせて日本語で答えます。

復習ミニクイズ

L7 ロードバランサが振り分け判断に使えるのはどれですか