4.4.3 フィールドごとの説明
|
■Source Port (送信元ポート番号)
送信元のポート番号が16ビットで格納される。相手からの返事を必要としない通信なので送信元のポート番号はなくてもよい。その場合は値を0とする。
|
■Destination Port (宛先ポート番号)
送信先のポート番号が16ビットで格納される。
|
■Length(パケット長)
16ビットのフィールドで、UDPヘッダの長さと、UDPデータの長さをあわせた値がオクテット単位で格納される。
|
■Checksum (チェックサム)
|
送信元IPアドレス
|
|
宛先IPアドレス
|
|
パディング
0
|
プロトコル番号
17
|
UDPパケット長
|
図4.4.3 UDP疑似ヘッダ
|
チェックサムは送信されたデータが壊れていないか確かめるために用いられるものである。
チェックサムは16ビットで構成され、UDPのヘッダとデータの信頼性を保証するものである。チェックサムの計算には図4.4.3のUDP疑似ヘッダを一時的にUDPパケットの先頭に付加する。そして、疑似ヘッダとUDPパケットの合計が16ビットの倍数になるようにデータの最後に0を追加する。また、UDPヘッダのチェックサムフィールドは0にしておく。そして、16ビットごとに1の補数を求めてさらにその合計の1の補数を求めたものをチェックサムフィールドに入れる。
受信側では、UDPパケットを受け取るとIPヘッダからIPアドレスの情報を得てUDP疑似ヘッダを作成し、チェックサムを再計算する。チェックサムフィールドにはチェックサム以外の全てのヘッダとデータの和の補数が入っているので、チェックサムを含む全てのデータを足した値が0になればこのUDPパケットの中身は正しく受信されたことになる。 |