MENU

UDP — 軽量で低遅延、ベストエフォート型トランスポートの代表

UDP アイキャッチ
UDP

UDP(User Datagram Protocol)は、コネクション確立や再送、順序保証を行わず、IPパケットに最小限のヘッダだけを付けて送り出す軽量なトランスポート層プロトコルです。1980年8月、デイビッド・リードによってRFC 768として標準化され、わずか3ページの仕様書という簡潔さでも知られます。DNS、DHCP、NTP、VoIP、オンラインゲーム、QUICなど、「速さと低オーバーヘッドが信頼性より重要」な領域でTCPと並ぶ二大トランスポートの一角を担っています。

目次

この記事の目次

  1. 8バイトヘッダだけの最小構造
  2. 1980年RFC 768誕生の経緯
  3. DNS・DHCP・VoIPでの用途
  4. 信頼性をどう補うかという論点
  5. まとめ

8バイトヘッダだけの最小構造

8バイトヘッダだけの最小構造

UDPのヘッダはわずか8バイトで、送信元ポート、宛先ポート、データグラム長、チェックサムの4フィールドしか持ちません。TCPのような20バイト以上のヘッダや、シーケンス番号・ACK番号・各種フラグといった付加情報は存在せず、受け取ったアプリケーションは即座にペイロードを利用できます。1パケットが1メッセージに対応する「データグラム指向」のモデルで、境界が保たれるのもTCPとの違いです。

この簡潔さの結果として、UDPはコネクション確立に伴うラウンドトリップを発生させず、再送タイマや輻輳ウィンドウを管理するメモリも不要です。送信側は宛先IPとポートを指定してsendto()を呼ぶだけ、受信側はrecvfrom()で受け取るだけという、BSDソケットAPIの中でもっとも単純な使い方ができるプロトコルとして実装され続けてきました。

1980年RFC 768誕生の経緯

1980年RFC 768誕生の経緯

UDPはTCPがホスト要件として整備されつつあった1980年、デイビッド・リードによりRFC 768として制定されました。「すべての通信を信頼性付きで行うのは非効率」という認識のもと、IPの上にポート番号と検査だけを加えた最小限のトランスポートが必要だと判断され、わずか3ページの仕様で完結する設計となりました。編集はジョン・ポステルが担当しており、TCP/IPと同じ系譜で生まれた双子のような関係にあります。

1983年に標準化されたDNS(RFC 1035)が問い合わせの主トランスポートにUDPを採用したことで、「インターネットの名前解決は全てUDPで動く」という事実上の役割が確立しました。その後、1992年のNTP、1990年代後半のVoIP、2000年代のオンラインゲーム通信、2010年代のQUICと、新しい低遅延プロトコルが現れるたびにUDPの上に積み上げる形で活用範囲が広がってきました。

DNS・DHCP・VoIPでの用途

DNS・DHCP・VoIPでの用途

UDPがもっとも輝く用途は「短い問い合わせと短い応答」のリクエスト・レスポンス型通信です。DNSはまさにその典型で、ドメイン名の問い合わせと応答が数十バイトで完結するため、TCPの3-wayハンドシェイクのオーバーヘッドを避けて即座に解決結果を返せます。DHCPも起動時のブロードキャストに使われ、IPアドレスを持つ前のホストでも通信できる軽さが重宝されます。

もう一つの大きな用途がリアルタイム性が重要なメディア通信です。VoIPやテレビ会議で使われるRTP(Real-time Transport Protocol、RFC 3550)はUDPの上に構築されており、失われた音声パケットは再送せずに諦め、代わりに後続のパケットを早く届けることを優先します。オンラインゲームのプレイヤー位置同期も、古い情報の再送より最新情報の到達を優先するため、UDP直接かUDP系プロトコルが標準です。

信頼性をどう補うかという論点

信頼性をどう補うかという論点

UDPは信頼性を提供しないため、アプリケーション側が必要に応じて再送や順序制御を自分で実装する必要があります。DNSのように「タイムアウトしたら別サーバへ再送する」程度で済むこともあれば、ファイル配送のように厳格な順序保証が要る場合はTFTPのように独自のシーケンス番号を載せることもあります。プロトコル設計の自由度が高いぶん、設計者の判断と責任が大きいのがUDPの特徴です。

現代では「UDPの上にTLSと信頼性を再構築する」アプローチが主流になりつつあり、その完成形がQUICです。QUICはUDP上にTCP相当の輻輳制御・再送・順序保証と、TLS 1.3相当の暗号化を載せ、ハンドシェイクを1RTTに短縮します。結果として、Webの世界ではTCPからQUICへの移行が一部進んでおり、UDPは「単独で使うプロトコル」だけでなく「より高機能なプロトコルの基盤」としての存在感も増しています。

まとめ

UDPはRFC 768という3ページの仕様で半世紀近く現役を続ける、究極にシンプルなトランスポートです。信頼性を持たないことが弱点であると同時に最大の強みであり、DNSからQUICまで多様な世界を支えてきました。TCPと対をなす「もう一つの選択肢」として、UDPの理解はネットワークプロトコル設計の基本となります。

※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次