「なぜWebページが表示されるの?」——その裏側にはTCP/IPという通信の仕組みがあります。インフラエンジニアには必須の概念を、初心者でもわかるように図解します。
TCP/IPとは「通信のルール集」
TCP/IPはインターネット通信を支えるプロトコル(通信規約)の集合体です。「どうやってデータを分割するか」「どうやって宛先に届けるか」「届いたか確認するか」などのルールを定めています。
4層モデル
| 層 | 名前 | 役割 | プロトコル例 |
|---|---|---|---|
| 4 | アプリケーション層 | ユーザーが使うサービス | HTTP/HTTPS, DNS(通常UDP。EDNS(0)で大きな応答も対応。一部処理はTCP), SSH, SMTP |
| 3 | トランスポート層 | 端末間の通信制御 | TCP, UDP |
| 2 | インターネット層 | ネットワーク間の経路制御 | IP, ICMP |
| 1 | ネットワークインターフェース層 | 物理的な通信媒体 | Ethernet, Wi-Fi |
TCPとUDPの違い
| 比較項目 | TCP | UDP |
|---|---|---|
| 特徴 | 信頼性重視(確認応答あり) | 速度重視(確認応答なし) |
| 順序保証 | あり | なし |
| 再送処理 | あり | なし |
| 用途 | Web、メール、SSH、ファイル転送 | DNS(通常はUDP。EDNS(0)により大きな応答もUDPで対応可能。ゾーン転送など一部の処理ではTCPを使用)、動画ストリーミング、ゲーム |
TCPの3ウェイハンドシェイク
TCPで通信を開始する際、必ず以下の3ステップで接続を確立します。
# SYN = 接続要求(Synchronize)
# ACK = 確認応答(Acknowledgement)| ステップ | 送信元 | 内容 | 意味 |
|---|---|---|---|
| 1 | クライアント → サーバー | SYN | 「接続したい」という要求を送る |
| 2 | サーバー → クライアント | SYN-ACK | 「了解、接続を受け入れる」と返す |
| 3 | クライアント → サーバー | ACK | 「確認した」と返す → 通信開始 |
Webページが表示されるまでの流れ
# ブラウザで https://example.com を開いたとき
1. DNS解決: example.com → 93.184.216.34(IPアドレスに変換)
2. TCP接続: 3ウェイハンドシェイクで443番ポートに接続
3. TLSハンドシェイク: 暗号化通信の確立
4. HTTPリクエスト: GETリクエストを送信
5. HTTPレスポンス: HTMLを受信
6. レンダリング: ブラウザがHTMLを表示
# curlで通信の詳細を確認
$ curl -v https://example.com 2>&1 | head -40まとめ
- TCP/IPは4層モデルで構成。各層が役割を分担して通信を実現する
- TCPは信頼性重視(Web・SSH・メール)、UDPは速度重視(DNS・動画)
- TCPはSYN→SYN-ACK→ACKの3ウェイハンドシェイクで接続を確立する
- WebページはDNS解決→TCP接続→HTTP通信の流れで表示される
📋 Phase 3 ネットワーク基礎チートシートで全コマンドをまとめて確認できます。



コメント