|
|
|
|
 |
1.4 IPヘッダ
|
IPパケットはIPヘッダとIPデータから構成されている。本節ではIPヘッダの内容について説明する。IPの機能に関する情報は全てこのIPヘッダ中に格納されるので、IPを理解する上でIPヘッダの内容を理解することはとても大切なことである。IPアドレスもこのIPヘッダ中に格納される。
|
IP Header
(IPヘッダ)
|
IP Data
(IPデータ)
|
1.4.1 IPヘッダ形式
IPヘッダ形式を以下に示す。
|
|
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 フィールドごとの説明
1.4.2.1 Version 4ビット
IPのバージョンを表す。ここではバージョン4。その他のバージョンを以下に示す。ここで()内は略称名。
|
バージョン
|
プロトコル名
|
|
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パケットを分割する際に使用する。各ビットの意味は以下の通り。
|
ビット
|
意味
|
値
|
|
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
|
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データの中に各上位プロトコルのヘッダとデータが格納される
|
|
|
 |
|
|