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 | リダイレクト指示(Redirect) | Error |
8 | エコー要求(Echo) | Query |
9 | ルータ通知(Router Advertisement) | Query |
10 | ルータ要求(Router Solicitation) | Query |
11 | 時間超過(Time Exceeded) | Error |
12 | パケットパラメータエラー(Parameter Problem) | Error |
13 | タイムスタンプ保持要求(Timestamp) | Query |
14 | タイムスタンプ保持要求への返答(Timestamp Reply) | Query |
17 | アドレスマスク要求(Address Mask Request) | Query |
18 | アドレスマスク応答(Address Mask Reply) | Query |
Type 3 のコード 一覧
Type 3の場合のコード一覧を下の表に示します。他にもまだコードが存在します。
コード | 情報 | 意味 |
0 | Netwrok Unreachable | ネットワークに到達不能 |
1 | Host Unreachable | 特定のホストに到達不能 |
2 | Protocol Unreachable | プロトコルに到達不能 |
3 | Port Unreachable | ポートに到達不能 |
4 | Fragmentation Needed and DF set | フラグメンテーションが必要 |
5 | Source Route Failed | ソースルート通りにルーティングできない |
6 | Destination Network Unknown | 宛先ネットワークを知らない |
7 | Destination Host Unknown | 宛先ホストを知らない |
8 | Source Host Isolated | 送信元が通信できない |
9 | Network Administartively Prohibited | 送信先ネットワークが拒否している |
10 | Destinantion Host Administartively Prohibited | 送信先ホストが拒否している |
11 | Network Unreachable For TOS | 要求したTOSでネットワークに到達不能 |
12 | Host Unreachable For TOS | 要求したTOSでホストに到達不能 |
13 | Communication Administratively Prohibited | 通信が拒否されている |