IPヘッダ
IPはデータにIPヘッダを加えてカプセル化し、IPパケットを作ります。IPパケットにされにMACヘッダが加えられ、MACフレームとしてLANケーブルを通してコンピュータに渡されます。IPヘッダには、次のような情報が書き込まれています。
バージョン
IPのバージョンが書かれます。
ヘッダの長さ
IPヘッダの長さを示します。IPヘッダの長さは20バイトですが、4バイトが5つ並んでいるという意味で、「5」の値が書かれています。
サービスタイプ
現在は使われておらず0の値が書かれています。
パケットの全長
IPパケット全体の長さ(バイト)が書かれています。
識別子(ID)
データを分割した場合に、分割したIPパケットに同じ値を記します。分割していない場合には1ずつ値が増えていきます。
フラグ
IPパケットのフラグメンテーション(データの分割)に関する指示を行います。
フラグメントオフセット
分割されたデータが、何バイト目で切り取ったのかを示す値が記されています。
生存時間(TTL)
IPパケットが通過できるルータの数が書かれています。IPパケットがうまく送られずに、ネットワーク内をひたすら周り続けるような現象を防ぎます。多くのOSでは128という値がセットされ、129個目のルーターでIPパケットが破棄されます。
ヘッダチェックサム
IPヘッダが壊れていないかを確かめる値が書かれています。
送信元IPアドレス
送信元のIPアドレスが書かれています。
宛先IPアドレス
宛先のIPアドレスが書かれています。
プロトコル
IPパケットに格納されたデータのプロトコルを示します。ICMP、TCP、UDPなどの種類があります。
IPデータの分割
IPパケットは、MACフレームに格納して送り出されますが、MACフレームが送ることができるデータのサイズは1500バイトまでと決まっています。フレームが運ぶことができる最大のサイズをMTUと呼びます。
例えば、データのサイズが2000バイトだった場合、IPは先頭から1480バイトで切り分けます。IPヘッダのサイズは20バイトなので、1480+20=1500バイトの調度になるようにします。そして、残った520バイトにもIPヘッダを加え、540バイトのIPパケットを作り、それぞれをMACフレームに格納して送信します。
これらの分割されたIPパケットは、識別子、フラグメントオフセット、フラグというIPヘッダに書き込まれた情報をもとにして合体されます。