ちょっとディープな生物の世界

ネットワークの基本:IPヘッダの内容

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ヘッダに書き込まれた情報をもとにして合体されます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です