Internet Protocol

[サーバの実験室 基礎]

作成 : 2002/10/27

"サーバの実験室"の検索


Internet Protocol

Internet Protocolは、RFC791で定義されている。

Internet Protocolヘッダフォーマット

Internet Protocolヘッダフォーマットは下図を参照。

IP

Version:4bits

Internet Protocolのバージョン。 現行は「4」。

IHL(Internet Header Length):4bits

IPヘッダ長で、単位は4octet。 最低は「5」(5*4octet=20octet=160bits)。

Type of Service:8bits

サービスタイプ。 詳細は次のとおり。

Type of Service

RRECEDENCE:3bits

111 - Network Control
110 - Internetwork Control
101 - CRITIC/ECP
100 - Flash Override
011 - Flash
010 - Immediate
001 - Priority
000 - Routine

Delay(D):1bits

0 - Normal Delay
1 - Low Delay

Throughput(T):1bits

0 - Normal Throughput
1 - High Throughput

Relibility(R):1bits

0 - Normal Relibility
1 - High Relibility

Total Length:16bits

IPデータグラム(IPヘッダとIPデータ)長で、単位はoctet。 このフィールドは、65,535octetsまで許容する。 実用的には、すべてのホストは最大576octetsのデータグラムを受信できることが求められている。

Identification:16bits

断片化されたデータグラムを、組み立てるために使われる識別値。

Flags:3bits

Fragment Offset:13bits

データグラムでは、この破片がどこに属するか示す。 8octets(64bits)のユニットで測られる。 第1の破片は、オフセット0。

Time to Live:8bits

データグラムが生存できる最大時間で、単位はsec。 IPヘッダを処理するとき、最低でも1減らされる。 「0」になったデータグラムは、破棄される。

Protocol:8bits

上位レイヤのプロトコル。 プロトコル番号は、IANA.ORG/Protocol Number Assignment Service/Protocol Numbersを参照。

プロトコル
0x01ICMP
0x06TCP
0x11UDP

Header Checksum:16bits

ヘッダのチェックサムで、ヘッダの内容(TTLとか)が変更されるたびに再計算される。

Source Address:32bits

送信元のIPアドレス。

Destination Address:32bits

送信先のIPアドレス。

Option:variable

オプションの詳細は、RFC791を参照。 オプションフィールドはないことが多い(たぶん)。

Padding:variable

ヘッダ長が32bitsの倍数にならない場合、残りは「0」で埋められる。

Internet Protocolを見る

「tcpdump -X」を実行すると、16進ダンプとASCII変換されたパケットをキャプチャすることができる。 赤い字で表示した部分が、IPヘッダ。

# tcpdump -X host www.goo.ne.jp

192.168.X.X.1159 > www.goo.ne.jp.http: S 136122613:136122613(0) win 5840 <mss 1460,sackOK,timestamp 36720523 0,nop,wscale 0> (DF) [tos 0x10] 
0x0000   4510 003c 5f7e 4000 4006 2dc7 c0a8 XXXX   E..<_~@.@.-.....
0x0010   d296 1925 0487 0050 081d 10f5 0000 0000   ...%...P........
0x0020   a002 16d0 142c 0000 0204 05b4 0402 080a   .....,..........
0x0030   0230 4f8b 0000 0000 0103 0300             .0O.........

[サーバの実験室 基礎]