IPアドレスに関する情報をやり取りすることにより、そもそもの送信元と送信先の2台の コンピュータでパケットを送受信できる。
IPv4のIPアドレスは2の32乗で1人が1台のグローバルアドレスをもてないが、 IPv6のは2の128乗で、とてつもなく広大である。
フィールド名 | ビット長 | 説明 |
---|---|---|
ヴァージョン | 4 | IPヘッダのヴァージョン番号。これにより、以下のフィールド配置を認識できる。 |
ヘッダ長 | 4 | ヘッダの長さを4オクテットを1として設定。 |
サービスタイプ | 8 | 優先度、低遅延要求の有無、高スループット要求の有無、高信頼性要求の有無を示す。 |
パケット長 | 16 | IPヘッダとIPデータの和のオクテット長 |
識別子 | 16 | 上位層が分割されたデータを再構築する際に必要となる。 |
フラグ | 3 | 分割可能かどうかと、最後のパケットかどうかを示す。 |
フラグメントオフセット | 13 | フラグメントごとのシーケンス番号。 |
生存期間 | 8 | パケットがネットワークに存在できる時間を示す。ルータを通過するときに減少し、0になると破棄される。 |
プロトコル | 8 | 上位層のプロトコルを示す(1→ICMP、6→TCP、17→UDPなど)。 |
ヘッダチェックサム | 16 | IPヘッダのチェックサム。 |
送信元IPアドレス | 32 | パケットを送信したノードのIPアドレス。どの相手に応答するかを確認できる。 |
宛先IPアドレス | 32 | パケットの宛先となるIPアドレス。ルータがルーティングに使用する。 |
オプション | 可変長 | テストやデバッグ時に使用される。 |
パディング | 32-オプションのビット長 | オプションによるあまりを埋め、32の整数倍になるようにする。 |
データ | 可変長 | データ本体。 |
種別 | フィールド名 | ビット長 | 説明 |
---|---|---|---|
IPv6ヘッダ | ヴァージョン | 4 | IPヘッダのヴァージョン番号。これにより、以下のフィールド配置を認識できる。 |
優先度 | 4 | ルーティング時の優先度を指定する。 | |
フローラベル | 24 | ルータで、ルーティングを優先させるなどの特別な扱いをする必要のあるパケット群を判別するための情報。 | |
ペイロード長 | 16 | IPヘッダの後のペイロード(データ)の長さ(IPv4のパケット長と同じ)。 | |
後続ヘッダID | 8 | 上位層のプロトコルを示す(IPv4のプロトコルと同じ)。 | |
ホップリミット | 8 | IPv4の生存期間と同じ。 | |
送信元IPアドレス | 128 | 自己のIPアドレス。 | |
宛先IPアドレス | 128 | パケット送信先のIPアドレス。 | |
任意 | 拡張ヘッダ | 中継点オプション、経路制御、断片、暗号ペイロード、終点オプションの計6つのヘッダを必要に応じてつなげる。通信効率を上げたり、セキュリティ機能を高める。 | |
ペイロード | データ | データ本体(通常TCPヘッダを含む)。 |
IPはコネクションレス型のプロトコルなので、パケット再送などの機能はない。 異常な状態を回避する策として、ICMPがある。
ICMP(Internet Control Message Protocol)はIPの上位層に位置し、相手の存在確認や、トラフィック過剰、経路変更、 時間超過を通知する。が、実際にはIP上で動作する。