疑似ヘッダー
読み:ぎじヘッダー
外語:pseudo header
TCPやUDPで通信するさい、ヘッダー内のチェックサム計算に用いる疑似的なヘッダーのこと。末尾の音引きを略して「疑似ヘッダ」とも。
特徴
TCPヘッダーやUDPヘッダー内で、宛先等を示す有意な情報は送信元・宛先ポート番号だけである。
しかし、このままチェックサムを算出すると異なるアドレスへの配信(誤配信)への対策が取れないと考えられた。精度を持たせるためにこの偽りのヘッダーを疑似的に作り、チェックサム計算に混ぜることとした。
この疑似ヘッダーには送信元・宛先アドレスを含むため、下位のプロトコルに応じて形式が変化する。
構造
IPv4
下位のプロトコルがIPv4の場合、次のとおりとなる。
TCPならRFC 793のセクション3.1で、UDPならRFC 768で説明されるが、両者は実質的に同一である。
先頭より順番に、次の情報が格納される。
- source address (送信元IPアドレス) (32ビット)
- destination address (宛先IPアドレス) (32ビット)
- zero (8ビット) 常に0
- protocol (プロトコル) (8ビット) TCP=6、UDP=17
- length (パケット長) (16ビット) ヘッダー+データの全長
IPv6
下位のプロトコルがIPv6の場合、次のとおりとなる。
この構造は、RFC 1883(インターネットプロトコルバージョン6の仕様)のセクション8.1 上位層チェックサムの項で説明され、TCP/UDP共通である旨規定されている。
先頭より順番に、次の情報が格納される。
- Source Address (送信元IPv6アドレス) (128ビット)
- Destination Address (宛先IPv6アドレス) (128ビット)
- Payload Length (パケット長) (32ビット) ヘッダー+データの全長
- zero (24ビット) 常に0
- Next Header (次ヘッダー) (8ビット) TCP=6、UDP=17
再検索