UDP
トランスポート層のプロトコルの1つ。接続の手続きも再送もせず、データを送りっぱなしにする代わりに、速くて軽い。
イマシルちゃんの解説
TCPが「届いたかどうか、ちゃんと確認しながら送る書留郵便」だとしたら、
UDPは「ポストに投げ込んだらおしまいの普通郵便」みたいなものなんだ。
届いたか確認しないなんて不安に思うかもしれないけど、そのぶんとっても速いんだよ!
音声通話みたいに「少し欠けても、遅れるよりはマシ」な通信では、UDPが大活躍するんだ。
より深い解説
定義
UDP(User Datagram Protocol)は、RFC 768で定められたトランスポート層のプロトコルである。IPヘッダのプロトコル番号は17。コネクションレス型で、相手との接続を確立せずにデータ(データグラム)を送る。
TCPとの比較
| UDP | TCP | |
|---|---|---|
| 接続の確立 | しない | 3ウェイハンドシェイクで確立する |
| 再送・順序の保証 | しない | する |
| フロー制御・輻輳制御 | しない | する |
| ヘッダの長さ | 8バイト | 20バイト以上 |
| 向いている用途 | 速さや手軽さが大事なもの | 正確に届くことが大事なもの |
UDPが「何もしない」のは欠点ではなく、必要な機能だけをアプリケーション側で作れるという長所でもある。CoAPやQUICのように、UDPの上に独自の再送や暗号化の仕組みを載せるプロトコルも多い。
ヘッダの構造
UDPのヘッダは、次の4つのフィールド(各2バイト)だけからなる。
| フィールド | 長さ |
|---|---|
| 送信元ポート番号 | 2バイト |
| 宛先ポート番号 | 2バイト |
| 長さ(ヘッダ+データ) | 2バイト |
| チェックサム | 2バイト |
チェックサムは、IPv4では省略できる(0にすると「計算していない」の意味)が、IPv6では必須である。
UDPを使う主なプロトコル
| プロトコル | ポート番号 | UDPを使う理由 |
|---|---|---|
| DNS | 53 | 問合せと応答が1往復で済み、速さが大事 |
| DHCP | 67(サーバ)、68(クライアント) | まだIPアドレスがない段階で、ブロードキャストを使うため |
| SNMP | 161、162 | 監視の問合せを軽く行うため |
| NTP | 123 | 時刻合わせは遅れて届くと意味がないため |
| RIP | 520 | 経路情報を定期的に隣のルータへ送るため |
| syslog | 514 | ログを送りっぱなしにするため |
| TFTP | 69 | 簡易なファイル転送 |
| RTP | 可変 | 音声や映像。遅れたデータは再送しても使えないため |
| QUIC(HTTP/3) | 443 | TCPの制約を避け、自前で再送と暗号化を行うため |
DNSは、応答が大きい場合(ゾーン転送や、大きな応答を扱う場合)にはTCPも使う点に注意する。
実際の試験ではここに出る!
- ネットワークスペシャリスト 令和7年度 春期 午前Ⅱ 問5
- ネットワークスペシャリスト 令和7年度 春期 午前Ⅱ 問7
- ネットワークスペシャリスト 令和7年度 春期 午前Ⅱ 問10
- ネットワークスペシャリスト 令和7年度 春期 午後Ⅰ 問2
- ネットワークスペシャリスト 令和7年度 春期 午後Ⅱ 問1
- ネットワークスペシャリスト 令和7年度 春期 午後Ⅱ 問2
- ネットワークスペシャリスト 令和6年度 春期 午前Ⅱ 問10
- ネットワークスペシャリスト 令和5年度 春期 午前Ⅱ 問8
- ネットワークスペシャリスト 令和3年度 春期 午前Ⅱ 問13
- ネットワークスペシャリスト 令和元年度 秋期 午前Ⅱ 問12
- ネットワークスペシャリスト 令和元年度 秋期 午前Ⅱ 問19