Linuxインフラ実践

TCP/IPの仕組みを初心者向けに図解する

Linuxインフラ実践
記事内に広告が含まれています。

「なぜWebページが表示されるの?」——その裏側にはTCP/IPという通信の仕組みがあります。インフラエンジニアには必須の概念を、初心者でもわかるように図解します。

TCP/IPとは「通信のルール集」

TCP/IPはインターネット通信を支えるプロトコル(通信規約)の集合体です。「どうやってデータを分割するか」「どうやって宛先に届けるか」「届いたか確認するか」などのルールを定めています。

4層モデル

名前役割プロトコル例
4アプリケーション層ユーザーが使うサービスHTTP/HTTPS, DNS(通常UDP/512バイト超でTCP), SSH, SMTP
3トランスポート層端末間の通信制御TCP, UDP
2インターネット層ネットワーク間の経路制御IP, ICMP
1ネットワークインターフェース層物理的な通信媒体Ethernet, Wi-Fi

TCPとUDPの違い

比較項目TCPUDP
特徴信頼性重視(確認応答あり)速度重視(確認応答なし)
順序保証ありなし
再送処理ありなし
用途Web、メール、SSH、ファイル転送DNS(通常はUDP。応答が512バイト超の場合はTCPにフォールバック)、動画ストリーミング、ゲーム

TCPの3ウェイハンドシェイク

TCPで通信を開始する際、必ず以下の3ステップで接続を確立します。

クライアント              サーバー
    │                        │
    │──── SYN ──────────────→│  接続要求
    │                        │
    │←─── SYN-ACK ──────────│  受け入れ確認
    │                        │
    │──── ACK ──────────────→│  確認応答
    │                        │
    ↓ 通信開始               ↓

# SYN = 接続要求
# ACK = 確認応答(Acknowledgement)

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 ネットワーク基礎チートシートで全コマンドをまとめて確認できます。

コメント

タイトルとURLをコピーしました