【ゆーでぃーぴー】

UDP とは?

最終更新:
💡 ひとまとまりずつ送る、シンプルな通信の土台

データをデータグラムというまとまりで送る通信プロトコル。UDP自体は到着・順序・再送を保証せず、必要な信頼性や混雑への対応は、その上の仕組みで補う。

📌 このページのポイント
UDP:ひとまとまりずつ送る送る側受ける側①到着②×未着③到着UDP自体は②を送り直さない必要な機能は、上に重ねた仕組みで補う例:QUICはUDP上で信頼性も提供
欠落が起きた例。①〜③は説明用の番号で、UDPに順序保証があるという意味ではありません。
ひよこ ひよこ
TCPと比べると、何が違うの?
ペンギン先生 ペンギン先生
UDPはデータグラム単位で送るよ。UDP自体には、通信前の接続確立や、届かなかったデータの再送、届く順序をそろえる機能がない。一方TCPは、順序のあるバイト列を信頼性のある形で運ぶ仕組みを提供するんだ。
ひよこ ひよこ
途中でひとつ消えたら、どうなるの?
ペンギン先生 ペンギン先生
UDP自体は、それを送り直さないよ。次のデータグラムが届くこともあり、届く順序も送った順と同じとは限らない。欠けた情報を無視してよいか、再送するか、受け取り順を直すかは、使うプロトコルやアプリの設計で決めるんだ。
ひよこ ひよこ
つまり、UDPのほうが必ず速い?
ペンギン先生 ペンギン先生
必ずとは言えないよ。UDP自体の仕組みは簡単でも、実際の性能は回線や混雑、通信の設計などによる。UDPを使う側にも、ネットワークを混雑させない制御が必要なんだ。到着確認がないから送り放題、という意味ではないよ。
ひよこ ひよこ
どんな場面で使うの?
ペンギン先生 ペンギン先生
音声通話やゲームなど、古い情報の再送より新しい情報を優先する設計で使われることがあるよ。ただし、そうしたアプリがすべてUDPだけで動くわけではない。DNSなどの通信にも使われ、必要に応じた再送や別の通信方式への切り替えは、UDPの上の仕組みが担当するんだ。
ひよこ ひよこ
UDPでは、信頼性のある通信はできないの?
ペンギン先生 ペンギン先生
上に別の仕組みを重ねればできるよ。QUICはUDPデータグラムを使いながら、接続の確立、暗号化、順序のあるストリーム、損失からの回復や混雑制御を提供するトランスポートプロトコルなんだ。UDP自体の機能と、上に重ねた機能を分けて考えよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「UDP」って出てきたら「到着確認や再送を自分では行わず、データのまとまりを送る通信の土台」と思えばだいたいOK!
📖 おまけ:英語の意味
「User Datagram Protocol」 = ユーザーデータグラムプロトコル
💬 datagramは、宛先などを付けて送るデータのまとまり。UDPは、このまとまりを運ぶシンプルな仕組みだよ。

参考資料

← 用語集にもどる