UDP
UDPの概要
- トランスポート層のコネクションレス型プロトコル。
- 再送制御や順序制御がない。
- 信頼性は低く、即時性は速い。(TCPと比べて)
- SNMP、NTP、DNS(問い合わせ)、SNMP、DHCP、TFTP、RTPなど。
UDPのパケットフォーマット
0bit | 8bit | 16bit | 24bit | |
0バイト | 送信元ポート番号 | 宛先ポート番号 | ||
4バイト | UDPデータグラム長 | チェックサム | ||
可変 | UDPペイロード |
※送信元ポート番号~チェックサムまでがUDPヘッダ。ヘッダ長は8バイト固定。
UDPの各フィールド
送信元ポート番号
- 2バイトの値。
- OSがランダムに割り当てる。
宛先ポート番号
- 2バイトの値。
- アプリケーションごとに定義された値をセットする。
UDPデータグラム長
- 2バイトの値。
- UDPヘッダとUDPペイロードを合わせた全体のサイズ。
- 最小値は8。
- 最大値はMTUからIPヘッダ長さ(20バイト)を引いた値。MTUが1500なら1480。
チェックサム
- 2バイトの値。
- UDPデータグラムが壊れていないかの整合性チェックに使用する。
- 計算対象のデータはUDP擬似ヘッダ、UDPヘッダ、UDPペイロード。
- UDP擬似ヘッダとは、チェックサム計算時だけに使われる仮想的なヘッダ。送信元/宛先IPアドレスなどが含まれる。
- 検証には「1の補数演算(ビット反転)」が使用されている。