ICMPヘッダのフォーマットとサイズの基本

ネットワーク技術解説

ICMPヘッダのフォーマットとサイズの基本-ICMP(Internet Control Message Protocol)は、ネットワークの通信で利用するOSI参照モデルのレイヤ3に該当するネットワーク層のプロトコル。ここではICMPヘッダのフォーマットとサイズについて基本を説明しています。

ICMPの特徴

・IP通信の通信エラーに関する内容を通知する機能をもつ
・32bitで構成されるIPアドレスを使用する
・pingやtracerouteなどのコマンドで使われる

呼び方

ICMPヘッダを付与したデータの通信単位を「ICMPパケット」と呼ぶ。

ネットワーク層

トランスポート層からネットワーク層に渡されたデータは使用するプロトコルにICMPを選択することでICMPヘッダを付与します。同じネットワーク層のIPヘッダも同時に追加されICMPは上位層のように扱われる。

ICMPヘッダのフォーマット

ICMPヘッダの基本フォーマット

ICMPヘッダの内容はIP通信のさまざまなタイプの通知メッセージを情報として格納できるようになっている。

ICMPヘッダフォーマット
タイプ番号で通知メッセージの種類を示す。
たとえば、Pingコマンドで使われるエコー応答(0)やエコー要求(8)など。
詳しくは「IANA ICMP Parameters」参照。
コードコード番号でタイプの通知メッセージの補足情報を示す。
チェックサムICMPヘッダとデータ含む全体のチェックサム結果を格納。
ICMPヘッダのフォーマット情報

タイプの異なるICMPヘッダのフォーマット

ICMPヘッダの基本フォーマットは「タイプ」によってはフォーマットが変わる。たとえばPingなどで使用するエコー要求・エコー応答のフォーマットでは以下のようになる。

例)ICMPエコー要求・エコー応答

ICMP エコー
ICMPエコー要求・エコー応答のフォーマット

追加されたIDとシーケンス番号には、エコー要求時に入れた値と同じ値を応答時に返すことでどの要求に対する応答かを判別するために利用される。

そのほかのタイプのフォーマットについては以下のRFCを参照。

RFC792 INTERNET CONTROL MESSAGE PROTOCOL

ICMPヘッダのサイズ

ICMPヘッダのサイズ

ICMPヘッダの基本サイズを以下に示す。

ICMPヘッダサイズ [エコー要求・エコー応答]

例としてICMPエコー要求・エコー応答の場合のサイズを以下に示す。

・タイプ
8bit

・コード
8bit

・チェックサム
16bit

・ID
8bit

・シーケンス番号
16bit

参考リンク

イーサネットフレームヘッダのフォーマットとサイズの基本

IPヘッダのフォーマットとサイズの基本

TCPヘッダのフォーマットとサイズの基本

UDPヘッダのフォーマットとサイズの基本


コメント