IPヘッダ 【IP header】

概要

IPヘッダ(IP header)とは、IP(Internet Protocol)におけるデータの送受信単位であるIPデータグラム(パケット)の先頭にある、一定の形式に従って制御情報などを記載した部分のこと。

IPでは、送信したいデータを一定の長さごとに区切って、「データグラム」(datagram)という塊にして送信する。データグラムは先頭部分が制御情報を記載したIPヘッダで、その後ろに相手方に運びたいデータの本体である「ペイロード」(payload)が末尾まで続いている。

ヘッダは郵便の封筒のような役割を果たす。封筒に郵便番号や住所、宛名、差出人などを記載するのと同じように、ヘッダには送信元IPアドレスや宛先IPアドレスなど、ネットワーク上の中継機器が配送を行う上で必要な情報を記載する。IPのバージョンによって形式や内容は異なる。

IPv4ヘッダ

IPv4では、先頭からバージョン(4ビット)、ヘッダの長さ(4ビット)、サービスタイプ(TOS:Type Of Service)(8ビット)、データグラム全体の長さ(16ビット)、分割された場合の識別子(16ビット)、フラグ(3ビット)、フラグメントオフセット(13ビット)、生存時間TTLTime To Live)(8ビット)、プロトコル番号(8ビット)、ヘッダチェックサム(16ビット)、発信元IPv4アドレス(32ビット)、宛先IPv4アドレス(32ビット)、オプション(32ビット単位で可変長)となっている。

IPv6ヘッダ

IPv6では、先頭からバージョン(3ビット)、優先順位(9ビット)、フローラベル(20ビット)、ペイロード長(16ビット)、次の拡張ヘッダの種類(8ビット)、ホップ数制限(8ビット)、発信元IPv6アドレス(128ビット)、宛先IPv6アドレス(128ビット)、拡張ヘッダ(32ビット単位で可変長)となっている。

IPv6では基本ヘッダの内容がシンプルな代わりに、用途などに応じて拡張ヘッダを差し込むようになっており、経路や暗号化などに関する情報を格納する。拡張ヘッダは複数連結することもできる。拡張ヘッダがない場合には「次の拡張ヘッダ」でUDPやTCPなどトランスポート層のプロトコルを指定する。

(2023.2.2更新)

IPv4のデータグラム形式

0ビット 31ビット
バージョン
4ビット
データ長
4ビット
サービスタイプ(TOS)
8ビット
全データ長(バイト単位)
16ビット
分割された場合の識別子
16ビット
フラグ
3ビット
フラグメントオフセット
13ビット
生存時間(TTL)
8ビット
プロトコル
8ビット
ヘッダチェックサム
16ビット
発信元IPアドレス
32ビット
宛先IPアドレス
32ビット
オプション
不定長
パディング
32nビット-オプション長


データ


IPv6のデータグラム形式

0ビット 31ビット
バージョン
3ビット
優先順位
9ビット
フローラベル
20ビット
ペイロード長
16ビット
次のヘッダ
8ビット
ホップ制限
8ビット

発信元IPアドレス
128ビット


宛先IPアドレス
128ビット

拡張ヘッダ
可変長


データ