全1522文字

 ICMP(Internet Contro lMessage Protocol)は、IPの通信が正しく動作するようにサポートするプロトコルである。例えばIP自体には、IPパケットが宛先に正しく届いているかを確認したり、その結果を送信元に知らせたりする仕組みがない。そうした仕組みを実現し、IPネットワークで正常に通信できるようにするためのプロトコルがICMPだ。

 ICMPにはIPv4版とIPv6版の2種類がある。それぞれICMPv4、ICMPv6などと呼ばれる。IPの通信を支えるという目的は共通しているが、役割は大きく異なる。

IPの通信エラーを通知

 ネットワークでトラブルが発生したとき、まず試みるのがpingコマンド。これを実現しているのが実はICMPv4だ。IPネットワークの経路の状況を調べるのに使うtracert(UNIXやLinux、macOSではtraceroute)というコマンドにもICMPv4が使われている(PICT1)。

PICT1●ICMPv4はpingなどのコマンドに使われる
PICT1●ICMPv4はpingなどのコマンドに使われる
(イラスト:なかがわ みさこ)
[画像のクリックで拡大表示]

 ICMPv4はこうしたエラー通知や障害に関する情報収集のほか、サイバー攻撃に悪用されるケースがあるので注意が必要だ。例えば細工を施したICMPv4パケットをコンピューターに送り付けて動作不能にする「Ping of Death」という攻撃が知られている。こうした攻撃を防ぐため、ルーターやファイアウオールでICMPパケットを遮断するポリシーを採用する企業が一般的である。