コース一覧
ネットワーク基礎:TCP/IP・HTTP・DNS・CDN
HTTP/2 と HTTP/3 (QUIC)

ネットワーク基礎: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

HTTP/2 と HTTP/3 (QUIC)

画像が 60 個あると、ブラウザは列を作って待ち始める

1 枚のページに画像や CSS や JS が数十個ぶら下がるのは普通のことです。ところが HTTP/1.1 では、ブラウザは同じドメインに対して 6 本までしか同時につなぎません。7 個目以降は、前のどれかが終わるまで順番待ちです。

当時の回避策は、画像用に別のサブドメインを切って本数を稼ぐことでした。6 本という上限は変わらないので、ドメインを増やして掛け算する、という力技です。

1 本の接続に、全部を同時に流し込む

HTTP/2 がやったのは、接続を増やすのをやめて、1 本の中を仕切ることでした。1 つの接続の上に「ストリーム」という論理的な通り道を何本も作り、リクエストとレスポンスを細切れにして混ぜて流します。受け取った側が番号を見て組み直すので、順番待ちが消えます。

もう 1 つの改善がヘッダーです。リクエストのたびに同じ Cookie や User-Agent を丸ごと送っていたのを、2 回目からは差分だけ送る形に圧縮しました。1 つ 1 つは小さくても、数十リクエストぶん積み上がると効いてきます。

ここで、昔の最適化が逆効果に変わります。画像用にサブドメインを分けていると、ドメインごとに別の接続が張られます。せっかく 1 本にまとめられるのに、わざわざ分けて、接続を張る手間と圧縮の効きを両方捨てていることになります。HTTP/2 に上げたのに速くならないときは、この手の古い工夫が残っていないかを疑います。

パケットが 1 個落ちると、関係ない画像まで止まる

ただし HTTP/2 は TCP の上に乗っています。TCP は届いた順に並べ直して渡すので、途中の 1 個が落ちると、その後ろのデータをすでに受け取っていても渡してくれません。

困るのは、この足止めがストリームの区別なく起きることです。画像 A のパケットが 1 個落ちただけで、無関係な CSS も文章も、再送が届くまで一緒に止まります。1 本にまとめたことが、そのまま弱点になりました。

電車で回線が切り替わっても、つながったまま

HTTP/3 は、この足止めを起こす層そのものを取り替えました。土台を TCP から QUIC に変え、並べ直しの管理をストリームごとに独立させています。画像 A が待っていても、CSS は先に渡せます。

QUIC は UDP の上に作られていますが、UDP に任せているわけではありません。順番の管理も再送も混雑の制御も暗号化も、QUIC が自前で持っています。UDP は、途中のルーターに通してもらうための土台として使われているだけです。

副産物として、接続の見分け方が IP アドレスから切り離されました。電車の中で Wi-Fi からモバイル回線に切り替わっても、接続は張り直さずに続きます。

自分が見ているページがどれで通信しているかは、ブラウザの開発者ツールの Network パネルで確認できます。Protocol の列に h3、h2、http/1.1 のいずれかが出ます。同じサイトでも回線や環境によって変わるので、一度見ておくと、この 3 つが今も並存していることが実感できます。

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

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

  • ブラウザユーザーから見たWebのクライアント
  • CSSCascading Style Sheetsの略。
  • HTTPWeb の通信プロトコル、HTTPS は TLS で暗号化したもの
  • ドメインサイト名(example.com)
  • リクエストWeb 通信の基本単位、ブラウザの問い合わせとサーバーの返答
  • Cookieブラウザ側に小さなデータを保存させる仕組み
  • ルーターURL ごとの処理を束ねたモジュール
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/05/27·更新 2026/08/26

関連レッスン

  • REST API の設計原則

    リソース指向、ステートレス、URL 設計など REST の基本を理解します。

  • DNS とは

    人間が読める名前と IP を結びつける DNS の役割を理解します。

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

    L4 と L7 ロードバランサの違いと使い分けを理解します。

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

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

復習ミニクイズ

HTTP/2 が HTTP/1.1 から大きく変えた点はどれですか