⑤Linuxインフラ実践

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

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

「なぜ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の違い

比較項目TCPUDP
特徴信頼性重視(確認応答あり)速度重視(確認応答なし)
順序保証ありなし
再送処理ありなし
用途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 ネットワーク基礎チートシートで全コマンドをまとめて確認できます。

コメント

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