PingとICMP(ping / ICMP)

分類
テクノロジ系 ネットワーク
出る試験
基本情報応用情報
重要度
★★★☆☆

相手まで届くかを確かめる道具がPing。そのとき使う決まりごとがICMP。往復の時間も測れる。

もう少し詳しい説明

通信がうまくいかないとき、まず知りたいのは「そもそも相手まで届いているのか」です。それを確かめる道具がPing(ピング)です。

ICMPは「知らせるための決まりごと」

ICMP(Internet Control Message Protocol、インターネット制御メッセージプロトコル)は、IPの通信で起きたことを知らせるための決まりごとです。

IPアドレス(インターネットやLANにつながった機器1台1台に割り当てられる番号)を宛先にしてデータを送る仕組みには、弱いところがあります。送りっぱなしで、届いたかどうかを教えてくれません。

そこで、知らせ役を別に用意しました。

これらを運ぶのがICMPです。ICMPは、荷物そのものではなく「配達の状況を知らせるはがき」にあたります。

Pingは、ICMPを使う道具のほう

Pingは、ICMPのエコー要求とエコー応答を使って、相手まで届くかを確かめるコマンドです。

エコー要求(届いていますか)エコー応答(届いています)自分のパソコン時刻を記録して送る相手の機器受け取ったら送り返す
矢印が2本あるところを見てください。測っているのは片道ではなく、行って帰るまでの時間です。

やっていることは単純です。

  1. 相手のIPアドレス(機器1台1台に割り当てられる番号)へ、エコー要求(届いていますか)を送る
  2. 相手は、受け取ったらエコー応答(届いています)を送り返す
  3. 送った時刻と返ってきた時刻の差を測る

ICMPが決まりごと、Pingがそれを使う道具です。この区別は試験で問われます。

分かるのは2つだけ

Pingで分かることは、はっきりしています。

往復時間は、行って帰るまでの時間です。片道の時間ではありません。図の矢印が2本あるのは、このためです。

何回か続けて送って、返ってこなかった割合(パケットロス率)も出ます。「10回送って2回返らなかった」なら、途中でデータが捨てられています。

返ってこなくても、壊れているとは限らない

ここが実務でも試験でも引っかかるところです。

ICMPを意図的に止めている機器があります。 外から勝手に「生きていますか」と聞かれないよう、ファイアウォール(社内と社外の境目に置いて、通してよい通信だけを選んで通す仕組み)がICMPを捨てる設定になっていることがあります。

この場合、相手は正常に動いているのにPingは返りません。「Pingが返らない=止まっている」とは言い切れない、と覚えておいてください。

名前でPingするときは、2つを分けて考える

ping www.example.co.jp のように、名前を指定して実行できます。このとき、中では2段階のことが起きています。

  1. DNS(名前からIPアドレスを調べる仕組み)で、名前を番号に変える
  2. その番号あてに、エコー要求を送る

名前では失敗するのに、番号では成功するなら、止まっているのは1段目です。通信そのものではなく、名前を引くところに問題があります。原因を切り分けられるのが、この使い方の利点です。

tracerouteとの違い

似た場面で使うtraceroute(トレースルート。Windowsでは tracert)があります。

どこまでは届いていて、どこから先が届かないのかを知りたいときは、tracerouteです。tracerouteもICMPを使います(「時間切れです」の知らせを利用して、1つずつ先の機器を調べます)。

試験ではこう出る

科目A(旧・午前)のネットワーク分野で出ます。多いのは、Pingで何が確認できるかを選ばせる問題です。「到達性(届くかどうか)」と「応答時間」の2つが答えになります。

ICMPの位置づけを問う形もあります。選択肢に「データそのものを運ぶ」とあれば誤りで、ICMPが運ぶのは知らせです。

取り違えやすいのは、tracerouteとの役割分担です。経路上の機器を順に表示するのはtracerouteで、Pingではありません。届くかだけを見るのがPing、と範囲を狭く捉えておけば分かれます。

応用情報では、Pingが返らない状況を示して原因の切り分けを問う形になります。名前では失敗して番号では成功するならDNS、どちらも失敗するなら経路かICMPの遮断、という向きで考えてください。

関連する用語

IPアドレス
機器1台1台に割り当てられる番号。Pingはこの番号を宛先にして送る
TCP/IP
インターネットで使う通信の決まりごと一式。ICMPはこの中の1つ
ルーティング
データの渡し先を決める仕組み。届かないときは、ここが原因のことが多い
DNS
名前からIPアドレスを調べる仕組み。名前でPingして失敗したら、まずここを疑う

ミニクイズ

Pingコマンドで確認できることとして、最も適切なものはどれか。

正解は 1番:指定した相手まで通信が届くかどうかと、往復にかかった時間

Pingは、ICMPのエコー要求を送り、エコー応答が返ってくるかを見る道具です。確かめられるのは「届くかどうか」と「往復にかかった時間」の2つです。受け付けているポート番号(機器の中で、どのサービスあての通信かを見分けるための番号)を調べるのはポートスキャンと呼ばれる別の作業で、ICMPではなくTCP(届いたことを確かめながら送る決まりごと)やUDP(確かめずに送る決まりごと)を使います。経路上のルータ(ネットワークとネットワークのあいだに立って、データの渡し先を決める機器)の並びを調べるのはtracerouteの役目で、Pingとは別のコマンドです。相手のOSの種類は、Pingの応答からは分かりません。

間違えた用語の復習リストを見る →

この分野をまとめて解く → ネットワークのミニテスト(全36問)

最終更新:2026-11-05