【ゆーでぃーぴー】

UDP とは?

💡 確認なしで爆速配送する「ポスト投函」
📌 このページのポイント
UDP と TCP の比較 TCP(信頼性重視) 送信側 受信側 SYN SYN+ACK ACK ↑ 3ウェイハンドシェイク データ送信 ACK確認 ✔ 接続確立してから送信 ✔ 再送制御・順序保証 ✔ 信頼性が高い ✖ オーバーヘッドが大きい UDP(速度重視) 送信側 受信側 データ1 データ2 データ3(消失) データ4 ↑ ACK不要・即送信 ✔ 接続不要で即送信 ✔ 高速・低遅延 ✔ 動画/音声/ゲーム向き ✖ パケット消失の可能性
UDPとTCPの比較
ひよこ ひよこ

UDPってTCPと何が違うの?

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

一番の違いは「確認しないこと」だよ。TCPは「届いた?」って毎回確認するけど、UDPは確認なしで一方的に送りっぱなし。ポストに投函するだけで、受け取ったか確認しない感じ。

ひよこ ひよこ

確認しないと困らないの?届かないことあるよね?

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

困る場合もあるけど、用途によっては問題ないんだ。たとえば音声通話で1パケット欠けてもちょっとノイズになるだけ。そこで「届いてなかったから送り直して!」と再送を待ってたら、会話が遅れてもっと困るよね。

ひよこ ひよこ

じゃあUDPはどんなときに使うの?

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

リアルタイム性が大事なものに使うよ。動画ストリーミング・音声通話・オンラインゲーム・DNS問い合わせとかね。ちょっと欠けても速さのほうが重要な場面だよ。

ひよこ ひよこ

UDPは信頼性がないって言われるけど、それでもHTTP/3がUDPを使ってるって本当?

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

そうなんだよ、これは面白いところで、HTTP/3QUICというプロトコルの上で動いていて、そのQUICがUDPを使ってるんだ。「信頼性がないUDPを使うの?」って思うよね。実はQUICアプリケーション層で独自に再送制御・順序保証・暗号化をやってしまうんだ。TCPはOSカーネルの中に実装されていて変更しにくいけど、UDPの上にQUICを乗せることで、より柔軟に改良できるようにしたというわけ。ベテランでも「QUICTCPの輻輳制御の違いは?」と聞かれると詰まる人が多いよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「UDP」って出てきたら「確認なしで高速に送りっぱなしにする通信ルールのことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「User Datagram Protocol」 = ユーザーデータグラムプロトコル
💬 Datagramは「データの塊をひとつの独立した単位として送る」という意味。手紙(レター)と違って、1通ずつ独立して届くイメージだよ
← 用語集にもどる