IPヘッダー

読み:あいぴーへっだー / 英語表記:IP header

IPパケットの先頭に付く制御情報である。宛先と送信元のIPアドレスなどを含み、転送や受信後の処理に使う。IPv4ではオプションがない場合に20バイトとなる。

イマシルちゃんの解説

パケットは、ネットワークで運ぶデータのまとまりだよ。
IPヘッダーはその先頭に付く制御情報で、封筒に書く宛先や差出人の情報に似ているんだ。
ルータは宛先を見て、パケットを次にどこへ送るか判断するよ。

IPv4では、通過するルータで値を減らすTTLも入っているんだ。
値が尽きたパケットは捨てるので、経路に輪があっても回り続けるのを防げるよ。
さらに、中身をTCPやUDPなどのどの処理へ渡すかは、プロトコル番号で見分けるの。
単なる宛名ではなく、届け方や受け取った後の扱いにも必要な情報なんだよ。

より深い解説

定義

IPヘッダーは、ネットワーク層のプロトコルであるIPが、パケット(データグラム)の先頭に付ける制御情報である。ルータは、IPヘッダーの情報だけを見て、パケットを転送する。

IPv4ヘッダーの主なフィールド

フィールド長さ内容
バージョン4ビットIPv4なら4
ヘッダー長4ビットヘッダーの長さ(4バイト単位)
ToS(DSCP、ECN)8ビット優先制御(QoS)のための情報
全長16ビットヘッダーを含めたパケット全体の長さ
識別子、フラグ、フラグメントオフセット32ビット分割(フラグメント)されたパケットを組み立て直すための情報
TTL(生存時間)8ビットパケットが通過できるルータの数の上限
プロトコル番号8ビットデータ部に入っている上位のプロトコル(TCPは6、UDPは17)
ヘッダーチェックサム16ビットヘッダーの誤りの検出
送信元IPアドレス32ビット
宛先IPアドレス32ビット
オプション可変通常は使わない

層ごとのヘッダーに入っているもの

どの情報がどの層のヘッダーに入っているかを整理すると、次のようになる。

情報イーサネットIPTCPUDP
MACアドレス○
IPアドレス○
TTL○
プロトコル番号○
ポート番号(送信元、宛先)○○
シーケンス番号、確認応答番号○
チェックサム○(ヘッダーだけ)○○

TCPとUDPの両方のヘッダーにあるのは、送信元ポート番号、宛先ポート番号、チェックサムである。IPアドレスやTTLはIPヘッダーに、MACアドレスはイーサネットのヘッダーに入っており、TCPやUDPのヘッダーには入っていない。

TCPとUDPのヘッダーの比較

TCPヘッダーUDPヘッダー
長さ20バイト(オプションなし)8バイト
フィールド送信元ポート番号、宛先ポート番号、シーケンス番号、確認応答番号、データオフセット、コントロールフラグ、ウィンドウサイズ、チェックサム、緊急ポインタ送信元ポート番号、宛先ポート番号、データ長、チェックサム

UDPのヘッダーは、ポート番号と、長さとチェックサムだけのとても単純な構造である。

チェックサムと疑似ヘッダー

TCPとUDPのチェックサムは、自分のヘッダーとデータだけでなく、IPヘッダーの一部(送信元・宛先IPアドレス、プロトコル番号など)から作る疑似ヘッダーも含めて計算する。宛先を間違えて届いたパケットを検出するためである。このため、NATでIPアドレスを書き換えたときは、TCPやUDPのチェックサムも計算し直す必要がある。

IPv6ヘッダーとの違い

IPv6の基本ヘッダーは40バイトの固定長で、ヘッダーチェックサムがなく、分割の情報やオプションは拡張ヘッダーに分けられた。TTLに当たるフィールドは、ホップリミットという名前になっている。

検査する範囲と省略の可否

IPv4、TCP、UDPでは、同じチェックサムという名前でも、検査する範囲と省略できる条件が異なる。

フィールド計算の対象IPv4での省略
IPv4ヘッダーのチェックサムIPv4ヘッダーだけ不可
TCPのチェックサム疑似ヘッダー、TCPヘッダー、データ不可
UDPのチェックサム疑似ヘッダー、UDPヘッダー、データ可能

IPv4のUDPでは、フィールドを0にすると未計算を示す。実際に計算した結果が0になるときは、すべてのビットを1として送る。計算時に一時的にフィールドを0として扱うことと、省略を示す0を送ることは別である。

インターネットチェックサムは、16ビット単位の1の補数加算を用いる。独自の単純な例では、対象の語が0x1234と0x0102なら、和は0x1336、そのビット反転は0xECC9となる。受信側でチェックサムも含めて加算すると0xFFFFになる。

IPv4のルータではTTLなどのヘッダー値が変わるため、このチェックサムも更新する。IPv6の基本ヘッダーには同じフィールドがない。一方、誤り検出用の加算値は、攻撃者による改ざんを防ぐ認証の代わりにはならない。

実際の試験ではここに出る!全13問

ネットワークスペシャリスト

午前Ⅱ
午後Ⅰ
午後Ⅱ

この用語が出てくる記事

↑