UDP ゆーでぃーぴー
UDPUser Datagram Protocolコネクションレスリアルタイム通信データグラム
UDPについて教えて
簡単に言うとこんな感じ!
「届かなくてもいいから速く!」を優先するプロトコルだよ。ビデオ会議やオンラインゲームで使われていて、多少データが欠けても遅延のほうが困るような場面で大活躍なんだ!
UDPとは
UDP(User Datagram Protocol)は、インターネットのトランスポート層で動作するコネクションレス型のプロトコルです。1980年にRFC 768として標準化され、TCPと並ぶトランスポート層の主役として今日も広く使われています。
UDPの最大の特徴は「送りっぱなし」であることです。TCPのように接続確立や確認応答を行わず、データを一方的に送信します。その分オーバーヘッドが小さく、遅延が少ないため、動画ストリーミング・音声通話・オンラインゲーム・DNSクエリなど、速度や即時性が優先される通信に適しています。
「届かなくてもいい」というわけではありませんが、1パケット欠けても視聴者が気づかない程度の動画や、再送するより最新データを優先したいリアルタイムゲームでは、TCPの再送待ちが逆効果になります。UDPはそのような場合に選ばれます。
TCPとUDPの比較
| 項目 | TCP | UDP |
|---|---|---|
| 接続方式 | コネクション型(3ウェイハンドシェイク) | コネクションレス型 |
| 信頼性 | 高い(再送・順序保証あり) | 低い(再送・順序保証なし) |
| 速度 | 相対的に遅い | 速い |
| ヘッダサイズ | 最小20バイト | 8バイト固定 |
| フロー制御 | あり | なし |
| 輻輳制御 | あり | なし |
| 主な用途 | Web, メール, ファイル転送 | 動画配信, ゲーム, DNS, VoIP |
歴史と背景
- 1980年:RFC 768でUDPが標準化。非常にシンプルな仕様のまま現在に至る
- 1996年:RealNetworkがストリーミング配信にUDPを活用し普及が進む
- 2000年代:VoIP(IP電話)の普及でUDPの重要性が高まる
- 2010年代:オンラインゲームのリアルタイム通信でUDPが標準的に使われる
- 2018年:HTTP/3の基盤プロトコルQUICがUDP上に構築されることで再注目
UDPのデータグラム構造
UDPヘッダはわずか8バイト。送信元・宛先ポート番号、パケット長、チェックサムのみで、TCPと比べ非常にシンプルです。
主な利用シーン
| 用途 | 理由 |
|---|---|
| DNS クエリ応答 | 1往復の短いやりとり。再送よりリトライのほうが速い |
| VoIP・ビデオ会議 | 遅延が致命的。多少の欠けは許容できる |
| オンラインゲーム | 最新の位置情報が重要。古いパケットの再送は不要 |
| 動画ストリーミング | バッファリングで多少の欠けを吸収できる |
| QUIC (HTTP/3) | アプリ層で信頼性を実装することで柔軟性を確保 |
| NTP(時刻同期) | 軽量なやりとりで十分 |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 768 | UDP の基本仕様(1980年) |
| RFC 8085 | UDPの利用ガイドライン |
| RFC 9000 | QUIC(UDPベースのHTTP/3基盤) |
関連用語
- TCP — 信頼性を重視するコネクション型プロトコル
- ポート番号 — UDPでも使われる通信の宛先識別子
- UDPマルチキャスト・ブロードキャスト — UDPの一対多通信
- SCTP — TCPとUDPの特性を組み合わせた第三のプロトコル