ICMP(Internet Control Message Protocol)というと耳慣れないが、pingコマンドと聞けば、身近であろう。
ICMPの代表例はpingとtracert(またはtraceroute)である。
※Windowsのコマンドプロンプトではtracert、Ciscoなどのネットワーク機器ではtracerouteがほとんど。
では早速、pingを打ってみよう。
ping
・環境を変えてpingを打ってみると、色々なメッセージがでるので試してみましょう。
例えば、以下の構成があります。
ネットワークスペシャリスト_ping
■Case1
PCから、192.168.2.0/24の存在しないIPアドレスにPingを打ってみましょう。
ping 192.168.2.100
timeout
このように、「タイムアウト」と表示されます。

■Case2
PCから、ルータが知らないネットワークにpingを打ちましょう。
unreach
今度は「宛先ホストに到達できません」と出ます。しかも、そのメッセージを返しているのは、192.168.1.254なので、Ciscoルータです。
guts
何となくわかりました。
Case1の場合は、pingを送っても、相手からの応答がないので、PCが「タイムアウト」というメッセージを出しているんですね。
Case2の場合は、デフォルトGWであるルータまで届くのですが、ルータからは宛先が無いので、「到達できません」というメッセージを返しています。
その通りです。メッセージの中身を理解しておくと、実践での切り分けにも役立ちますよ!

過去問では、ICMPに関して「TCP/IP環境において、pingによってホストの接続確認をするときに使用されるプロトコル(H20NW午前 問31)」、「送信元ホストへのIPパケットの送信エラー報告などの制御メッセージを通知する。(H19NW午前 問24)」「ネットワーク機器の接続状態を調べるためのコマンドpingが用いるプロトコル(H18NW午前 問28)」と述べている。