ICMPヘッダ

 ICMP(Internet Control Message Protocol)とは、通信エラー通知や通信状態の診断を行なうためのネットワーク層のプロトコルです。

ICMPは、IPと同じネットワーク層にありますが、IPの上位に位置します。IPヘッダのプロトコル番号には、「1」がセットされます。

ICMP
IP

 IPプロトコルは、信頼性の低いプロトコルです。送信したIPパケットが途中で、破棄されたり、紛失してしもIPプロトコル自体に、発生した通信エラーに関して報告する機能はありません。

 そこで、IPの欠点を補うために作られたのがICMPです。ICMPでは、通信エラーやネットワークの状況を通知することができます。ICMPメッセージには、宛先への到達不能や経路変更要求、時間超過、タイムスタンプの要求・応答などのメッセージがあります。

ICMPヘッダの構造

ICMPヘッダの構造は、次のようになっています。

●Type(8ビット)

ICMPメッセージの種類を表す。

●Code(8ビット)

Typeメッセージと共に利用します。

●ICMP Header Checksum(16ビット)

ICMPヘッダを含むICMPメッセージ全体に対するチェックサムです。

ICMP ヘッダの Type 一覧

ICMPのメッセージのタイプを下の表に示します。まだまだ他にたくさんのタイプが存在します。

※もっと詳細な情報を得たい場合は、下のリンク先で確認してみて下さい。
http://www.iana.org/assignments/icmp-parameters

ICMPの種類は2種類あります。

●エラーを通知するErrorメッセージ
●pingやtracertなどの調査コマンドに対して返答するQueryメッセージ

※なお、エラー通知は無限ループに陥らないように、ICMPメッセージに対してICMPのエラーメッセージが送られることはありません。

タイプ機能種類
0エコー応答(Echo Reply)Query
3宛先到達不能(Destination Unreachable)Error
4転送抑制指示(Source Quench)Error
5リダイレクト指示(Redi