4 

イーサネットのヘッダやら、IPのヘッダやら、なんだか混乱してきました。




無理やり覚えようとせずに、整理しながら考える。復習しながらみていこう。レイヤ2で使われるイーサネットフレームの構造と、レイヤ3で使われるIPパケットの構造を確認してほしい。
ip
IPv4のヘッダは、基本的には20バイトである。(付加情報をつけることで拡張することも可能)
詳しい中身は以下だ。

1)バージョン(4bit):IPのバージョン情報。バージョン4

2)Hedder Length(またはIHL:IP Header Length)(4bit):IPヘッダのヘッダ長。32ビットの何倍かを整数で示す。付加情報をふけることで32ビットの整数倍にならない場合は、ヘッダ末尾のオプションに詰め物(Padding?)を入れることで、32ビットの整数倍にする。通常は20バイト(=160ビット)なので、ここには5が入る。

3)ToS(Type of Service)(8bit):ToSとして利用される場合とDiffServとして利用される場合の2パターンがある。Tosの場合は、3ビットで優先度をつける。DiffServの場合は6ビットで優先度をつける。どちらにしてもそれほど使わない。

4)パケット長(16bit):16bitあるので2の16乗=65535バイトが最大サイズ ※でもこのサイズはフラグメントする前のものではない。だから実際には1500程度がMAXだろう。2バイトもあるので桁があまるよね。

5)識別子:フラグメント化されたパケットを識別するグループ番号みないなもの。大きいサイズのパケットがフラグメント化された場合、この識別子が同じパケットを再組み立てして元のパケットにする。どの順で再組み立てするにはフラグメントオフセットで判断する。

6)フラグ(3bit):1ビット目はReserved Bitとして予約されているので利用しません。2ビット目はDF(Dont Flagment)ビットで、これを入れるとフラグメント化(パケットの分割)されない。3ビット目はMore Flagmentsであり、同じ識別子の中でこれ以上のフラグメント化されたパケットがあるかを示す。同一識別子のパケットの中で、このビットが無いものが、最終パケットになる。

7)フラグメントオフセット(13ビット):フラグメント化されたパケットの位置をしめす。これによって、分割された同一識別子のパケットの組み立て順序が分かる。先頭パケットのフラグメントオフセットは0。

8)TTL(Time To Live):このパケットの生存時間。通常は128から始まり、ルータを超える毎に1つずつ減っていく。0になったらこのパケットは廃棄される。この機能がないと、ネットワーク上を永遠に流れるパケットが存在してしまう。

9)プロトコル番号(8ビット):
 プロトコル番号の例は後述(下の方)します。

10)ヘッダチェックサム(8ビット):ヘッダの内容の整合性を確認するためのもの
 
11)送信元IPアドレス(32ビット):送信元IPアドレス

12)宛先IPアドレス(32ビット):宛先IPアドレス

13)オプション(32ビット x N):めったに使わないが、ルーティングの負荷情報などのオプションを入れることができる。IPパケットを32の整数倍にする必要があるため、余った部分は詰め物が入れられる。2)のHedder Lengthと関連を持ち、オプションが増えれば、値も大きくなる。

過去問では、IPヘッダの中身を問われている。
【H18NW午前 問22】
IPv4のIPヘッダに含まれるものはどれか。

ア あて先MACアドレス     イ あて先ポート番号
ウ シーケンス番号        エ 存在時間(TTL)

正解:エ

プロトコル番号の例
番号 プロトコル 解説
1 ICMP Internet Control Message Protocol  
2 IGMP Internet Group Management Protocol  
6 TCP  Transmission Control Protocol   
8 EGP  Exterior Gateway Protocol  
9 IGP  any private interior gateway    
17 UDP  User Datagram Protocol   
41 IPv6  
46 RSVP Reservation Protocol   
47 GRE  General Routing Encapsulation  
50 ESP  Encap Security Payload 
51 AH  Authentication Header
58 IPv6-ICMP ICMP for IPv6   
88 EIGRP      
89 OSPF      
103 PIM   Protocol Independent Multicast  
112 VRRP Virtual Router Redundancy Protocol 
133 FC Fibre Channel