目 次
目 次/関連項目

1.4 IPヘッダ

 IPパケットはIPヘッダとIPデータから構成されている。本節ではIPヘッダの内容について説明する。IPの機能に関する情報は全てこのIPヘッダ中に格納されるので、IPを理解する上でIPヘッダの内容を理解することはとても大切なことである。IPアドレスもこのIPヘッダ中に格納される。

IP Header
(IPヘッダ)
IP Data
(IPデータ)
図1.4.1:IPパケット

1.4.1 IPヘッダ形式

 IPヘッダ形式を以下に示す。

0 8 16 24               31
Version
(バージョン)
IHL
(ヘッダ長)
Type of Service
(サービスタイプ)
Total Length
( パケット長)
Identification
(識別子)
Flags
(フラグ)
Fragment Offset
(フラグメントオフセット)
Time to Live
(生存時間)
Protocol
(プロトコル)
Header Checksum
(ヘッダチェックサム)
Source Address
(送信元IPアドレス)
Destination Address
(宛先IPアドレス)
Options
(オプション)
Padding
(パディング)

図1.4.2:IPヘッダ

1.4.2 フィールドごとの説明

1.4.2.1 Version 4ビット

IPのバージョンを表す。ここではバージョン4。その他のバージョンを以下に示す。ここで()内は略称名。

表1.4.3:バージョンフィールドの内容
バージョン

プロトコル名

4
Internet Protocol (IP)
5
ST Datagram Mode (ST)
6
Internet Protocol version 6 (IPv6)
7
TP/IX : The Next Internet (TP/IX)
8
The P Internet Protocol (PIP)
9
TUBA (TUBA)

 また、すべのバージョン番号は以下のサイトで参照できる。
 http://www.iana.org/assignments/version-numbers

1.4.2.2 IHL 4ビット

 インターネットヘッダ長(IHL : Internet Header Length)はヘッダの長さであり、データの始点を表す。単位は4オクテット。オプションを持たないIPパケットの場合は5( 5 × 4 = 20 オクテット)となる。

1.4.2.3 Type of Service (TOS) 8ビット

 IPパケットの品質を表す。ここで優先度や最低限の遅延で送ることや、最大限のスループットで送ることなどを指定できる。この値はアプリケーションによって指定される。しかし、TOSの実現は難しく、現在のインターネットではほとんど利用されていない。そのため、ここでは詳しい説明は行わない。

1.4.2.4 Total Length 16ビット

 パケットの長さ(IPヘッダ + IPデータ)を表す。

1.4.2.5 Identification 16ビット

 分割されたパケットの組立を補助するために、送信者によって割り当てられる識別値。

1.4.2.6 Flags 3ビット

 このフィールドはIPパケットを分割する際に使用する。各ビットの意味は以下の通り。

表1.4.4:フラグフィールドの内容
ビット
意味
0
未使用

0

1
分割許可
0(分割可)
1(分割禁止)
2
最後のフラグメントか
0(最後のフラグメント)
1(途中のフラグメント)


1.4.2.7 Flagment Offset 13ビット

 このフィールドは分割されたパケットが元のデータのどこに位置するかをあらわす。

1.4.2.8 Time to Live (TTL) 8ビット

 パケットがインターネット上で生存できる事が許される最大時間を示す。正確にはルータを経由できる数を表す。ルータを経由するごとにこの値を1減らす。この値が0になるとそのパケットは破棄される。

1.4.2.9 Protcol 8ビット

 IPパケットで使用される次(上位)のレベルのプロトコルを示す。 主なものを下の表に示す。

表1.4.5:プロトコルフィールドの内容
プロトコル名
1
ICMP (Internet Control Message Protocol)
2
IGMP (Internet Group Management Protocol)
6
TCP (Transmission Control Protocol)
17
UDP (User Datagram Protocol)
41
IPv6 (Internet Protocol version 6)

 また、全てのプロトコル番号については、以下のサイトで参照できる。
 http://www.iana.org/assignments/protocol-numbers


1.4.2.10 Header Checksum 16ビット

 ヘッダだけのチェックサム。ルータを経由する度にTTLが減算され、ヘッダフィールドの値が変わるので、IPヘッダが処理される各々の箇所で再計算され照合される。

1.4.2.11 Source Address 32ビット

 送信元のIPアドレス。

1.4.2.12 Destination Address 32ビット

 宛先のIPアドレス。

1.4.2.13 Options 可変

 次のような機能をオプションとして付加できる。普段はあまり使用されないので、ここでは詳しい内容は説明しない。
 
  • セキュリティ 
  • ルーズソースルーティング/ストリクトソースルーティング 
  • レコードルート 
  • インターネットタイムスタンプ

    1.4.2.14 Padding 可変

     IPヘッダが32ビット境界で終了する事を保証するために使用される。パディングは0。

    1.4.3 IPデータ

     IPデータには文字どおり、送信したいデータが格納される。実際にはIPの上位プロトコルのヘッダやデータが格納される。例えば電子メール(SMTP)の場合は次のようになる。
    図1.4.6:IPデータの中に各上位プロトコルのヘッダとデータが格納される