ネットワークが正常に動作していいるかの確認と、異常が発生した時のトラブルシューティング を可能にするのがICMP
IPルータがIPデータグラムを宛先に配信できない場合、送信ホストに対して送られる。
このメッセージでは、配送できなかった理由を示すようになっている。
送信元ホストが最適ではない経路を使用していることをルータが検知したときに送られる。
IPパケットにはTTLという生存時間のフィールドがあり、パケットがルータを1つ通過するたびに1つずつ減らされ、0になるとIPデータグラムが破棄される。
これは経路制御トラブルなどで、パケットがネットワーク内を永遠に回り続けるのを防ぐため
ICMPはこのTTLが0になったときに時間超過メッセージを送信元に送り返す。
通信したいホストやルータなどにIPパケットが到達するかどうかを確認したいときに使用
相手先ホストに対してICMPエコー要求メッセージ(Type 8)を送信して、相手先ホストからICMPエコー応答メッセージ(Type 0)が返ってきたら到達可能
ping
コマンドはこれを使用している
IPV4の時にはICMPはIPv4の補助的な役割だった。
しかし、IPv6になるとICMPの役割が非常に大きくなる。
IPv6では、ICMPを大きく2つに分類している。