【てぃーしーぴーゆーでぃーぴー】

TCP / UDP とは?

💡 「確実に届ける」TCP vs「速さ優先」UDP
📌 このページのポイント
TCP vs UDP TCP(信頼性重視) コネクション型通信 データ順序を保証 パケットロス時に再送 フロー制御・輻輳制御あり 1 2 3 ✓ 順序通り到着 用途: Web、メール、ファイル転送、SSH vs UDP(速度重視) コネクションレス型通信 順序保証なし 再送なし(届かなくてもOK) 低オーバーヘッド・低遅延 1 3 2? 欠損あり 用途: 動画配信、ゲーム、DNS、VoIP
TCP と UDP の比較イメージ
ひよこ ひよこ

TCPの「確実に届ける」ってどういうこと?

ペンギン先生 ペンギン先生

TCPは通信前に3ウェイハンドシェイク(SYN→SYN-ACK→ACK)でコネクションを確立するよ。送ったデータには番号が振られ、受信側が「ここまで受け取った」と応答する。データが欠けたら再送する。だからWebページや添付ファイルが壊れずに届くんだ

ひよこ ひよこ

じゃあ全部TCPでいいのでは?

ペンギン先生 ペンギン先生

TCPは確実だけどオーバーヘッド(余分な処理)が大きい。ビデオ通話で1フレーム欠けても再送するより次のフレームを表示した方がいいし、オンラインゲームでは0.01秒の遅延が致命的。UDPなら余分な確認をスキップして最速でデータを送れる。「多少欠けてもOK、速度が命」な場面ではUDPが最適なんだよ

ひよこ ひよこ

ポート番号って何?

ペンギン先生 ペンギン先生

IPアドレスが「建物の住所」なら、ポート番号は「部屋番号」だよ。HTTP(80)、HTTPS(443)、SSH(22)、DNS(53)のように用途ごとに決まったポート番号がある。1つのサーバーで複数のサービスを動かせるのはポート番号のおかげだね

ひよこ ひよこ

おもしろい!QUICって何?

ペンギン先生 ペンギン先生

Googleが開発してHTTP/3で採用された新プロトコルだよ。UDP上に構築されているけど、TCPと同等の信頼性を持つ。接続確立が1-RTTで超高速、パケットロスの回復も効率的。モバイル環境でWi-Fi↔4Gの切り替え時にも接続が途切れないコネクションマイグレーション機能もあるんだ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
TCP/UDP」って出てきたら「信頼性TCPと速度のUDPという2つの通信方式」と思えればだいたいOK!
📖 おまけ:英語の意味
「Transmission Control Protocol / User Datagram Protocol」 = 伝送制御プロトコル / ユーザーデータグラムプロトコル
💬 TCPは「伝送を制御する」、UDPは「データグラム(パケット)をそのまま送る」プロトコルだよ
← 用語集にもどる