SDN
← 概念一覧へ
通信プロトコル

UDP

UDP

接続を確立せず、確認も再送もしない高速・低遅延のプロトコル。順序入れ替わりや欠落はありうる。音声・動画・ゲームなど『多少欠けても速さが命』の用途向き。

キーポイント
  • コネクションレス: 事前の接続確立をしない。datagram単位で送る。
  • 保証はdatagram単位のみ。順序の入れ替わりや、パケットの未達がありうる。
  • 輻輳制御をしないので一般に効率的(高速・低遅延)。ブロードキャストも可能(DHCP等)。
  • 向き: 低信頼でも許せるリアルタイム用途(VoIP、ビデオチャット、ストリーミング、リアルタイム多人数ゲーム)。
トレードオフ

UDPは確認・再送・順序整列をしない分、TCPより圧倒的に速く・軽い。代わりにパケットの欠落や順序逆転を許容する。多少データが欠けても止まらず流れ続けることが大事なリアルタイム通信に最適。逆に、1ビットも欠けてはいけないデータ(ファイル、決済)には不向き。必要なら信頼性をアプリ側で自前実装する。

たとえ話: ハガキの投函

UDPはハガキを投函するだけです。相手に届いたかの確認(ACK)もなく、届かなくても再送しません。順番もバラバラに届くかもしれません。その代わり、握手も確認もない分速くて軽い

図を描画中...

TCPの『書留(確実だが遅い)』に対し、UDPは『ハガキ(速いが届く保証なし)』と覚えると対比が効きます。

なぜリアルタイムに向くのか(核心)

ビデオ通話を想像してください。映像の1フレームが届かなかったとき、TCPなら『再送して順番を待つ』ので、その間映像が固まります。会話のテンポが崩れて致命的。

UDPなら欠けたフレームは諦めて次へ進みます。一瞬画質が乱れても、会話は途切れずに流れます。リアルタイム通信では『古いデータが遅れて届く』ことは『データが欠ける』ことより悪いのです。だからUDPが選ばれます。

図を描画中...

いつUDPを選ぶか

  • 最低レイテンシが必要。
  • 遅延データはデータ損失より悪い(古い情報が今さら届いても無意味)。
  • 独自のエラー訂正を自分で実装したい。

用途例: VoIP(音声通話)、ビデオチャット、ライブストリーミング、リアルタイム多人数ゲーム。さらにブロードキャスト(一斉配信、DHCP等)もUDPの得意分野です。

つまずきポイント

  • UDPの『信頼性がない』は欠陥ではなく、速度のための意図的な割り切り。用途が合えば最適解。
  • 『どうしても一部は確実に届けたい』場合は、UDPの上にアプリが独自に最小限の再送・順序制御を載せることもある(QUICなどはこの発想)。
  • TCP/UDPの選択は『確実さ(TCP) vs 速さ(UDP)』。何を犠牲にできるかで決める。

関連する概念

この概念で腕試し

関連する 0 問のクイズに挑戦できます。

クイズを解く