ICMPは、インターネット制御通知プロトコル(英:Internet Control Message Protocal)の略称です。
用途
ICMPは、IPデータグラム処理における誤りの通知や通信に関する情報の通知などのために使用される保守プロトコルであり、一般にIP層の一部と考えられています。 IPv4のためのICMP (ICMPv4) は RFC792によって規定され、IPv6のための ICMP (ICMPv6) は RFC4443 によって規定されています。
機能
ICPMメッセージはIPデータグラム内にカプセル化されますので、インターネットワークを通じてルーティングが可能です。 ICMPは主に以下の機能を持っています。
- ルーター検出
- ルートテーブルの作成と保守
- PMTU検出の支援 PMTU : パス最大転送ユニット((Path Maximum Transmission Unit)
- 問題の診断 (ping、tracert、pathping).
ルーター検出
RFC 1256に規定するルーター検出を行うことができます。
ルート テーブルの保守
OSが起動したとき、ルートテーブルには2、3のエントリしかないのが普通です。 これらのエントリの1つはデフォルト ゲートウェイを指定しています。宛先IPアドレスを含むデータグラムのうちルート テーブルに一致しないものはデフォルト・ゲートウェイに送られます。 ただし、ルーターはネットワーク トポロジ情報を共有していますので、デフォルト ゲートウェイは指定アドレスへの適切なルートを認識していることがあります。その場合には、もっと適切なルーティングがあるデータグラムを受信したときに、ルーターはこのデータグラムを通常通り送信した後、ICMP Redirectメッセージを使用して送信者にもっと適したルートがあることを通知します。このメッセージでは1つのホスト、1つのサブネットまたは1つのネットワークへのリダイレクトを指定できます。
PMTUの検出
TCPにはPMTU(パス最大転送ユニット)検出機能があります。これについてはTCPのトピックで説明しますがが、この機能はICMP Destination Unreachable メッセージに依存します。
ICMPによる問題診断
ICMPに依存している以下の問題診断ツールがあります。
- ping ICMPエコー要求をIPアドレスに送信し、ICMP Echo応答を待ちます。Pingは受信した応答数および要求送信と応答受信の間隔を報告します。
- Tracert
ルートをトレースするユーティリティで非常に便利な機能です。
TracertはICMP Echo要求をIPアドレスに送信し、IPヘッダのTime to Live (TTL) フィールドの値を1から増やし、返されたICMPエラーを分析します。Echo要求に成功するとTTLフィールドが0になり、このEcho要求を転送するルーターがICMP Time Exceeded エラー メッセージを返すまでネットワークをさらに1ホップ進みます。
Tracert はエラーメッセージを返したルーターをパス上の順番通りにプリントします、以下はその1例です:
C:\WINDOWS\system32>tracert www.psteam.co.jp Tracing route to www.psteam.co.jp [203.141.142.16] over a maximum of 30 hops: 1 1 ms 3 ms 7 ms elecomap.com|elecomap.net [192.168.2.1] 2 7 ms 5 ms 8 ms 10.83.204.1 3 5 ms 15 ms 7 ms 221x248x105x241.ap221.ftth.ucom.ne.jp [221.248.105.241] 4 39 ms 5 ms 6 ms 58x159x226x117.ap58.ftth.ucom.ne.jp [58.159.226.117] 5 4 ms 10 ms 5 ms 221x240x29x77.ap221.ftth.ucom.ne.jp [221.240.29.77] 6 16 ms 8 ms 6 ms 221x112x16x217.ap221.ftth.ucom.ne.jp [221.112.16.217] 7 3 ms 4 ms 7 ms usen-61x122x114x209.gate01.com [61.122.114.209] 8 8 ms 21 ms 7 ms usen-61x122x114x53.gate01.com [61.122.114.53] 9 5 ms 8 ms 7 ms usen-61x122x114x58.gate01.com [61.122.114.58] 10 4 ms 9 ms 6 ms 58x159x238x137.ap58.ftth.ucom.ne.jp [58.159.238.137] 11 4 ms 3 ms 7 ms xg1-4-kcd-arena-gw1.sphere.ad.jp [203.138.77.58 12 10 ms 5 ms 12 ms 210.150.217.170 13 5 ms 14 ms 12 ms my6.interlink.or.jp [203.141.142.16] Trace complete.
- Pathping tracertのトレース機能に加えて指定された時間についてルート上の各ホップをpingして遅延やパケット損失を報告するので、パスに弱点がないかをチェックするのに役立ちます。