PingとICMP(ping / ICMP)
相手まで届くかを確かめる道具がPing。そのとき使う決まりごとがICMP。往復の時間も測れる。
もう少し詳しい説明
通信がうまくいかないとき、まず知りたいのは「そもそも相手まで届いているのか」です。それを確かめる道具がPing(ピング)です。
ICMPは「知らせるための決まりごと」
ICMP(Internet Control Message Protocol、インターネット制御メッセージプロトコル)は、IPの通信で起きたことを知らせるための決まりごとです。
IPアドレス(インターネットやLANにつながった機器1台1台に割り当てられる番号)を宛先にしてデータを送る仕組みには、弱いところがあります。送りっぱなしで、届いたかどうかを教えてくれません。
そこで、知らせ役を別に用意しました。
- 宛先まで行けなかった(宛先に到達できません)
- 途中で寿命が切れて捨てられた(時間切れです)
- 届いているかを確かめたい(エコー要求/エコー応答)
これらを運ぶのがICMPです。ICMPは、荷物そのものではなく「配達の状況を知らせるはがき」にあたります。
Pingは、ICMPを使う道具のほう
Pingは、ICMPのエコー要求とエコー応答を使って、相手まで届くかを確かめるコマンドです。
やっていることは単純です。
- 相手のIPアドレス(機器1台1台に割り当てられる番号)へ、エコー要求(届いていますか)を送る
- 相手は、受け取ったらエコー応答(届いています)を送り返す
- 送った時刻と返ってきた時刻の差を測る
ICMPが決まりごと、Pingがそれを使う道具です。この区別は試験で問われます。
分かるのは2つだけ
Pingで分かることは、はっきりしています。
- 届くかどうか
- 往復にかかった時間(RTT。Round Trip Time、ラウンドトリップタイム)
往復時間は、行って帰るまでの時間です。片道の時間ではありません。図の矢印が2本あるのは、このためです。
何回か続けて送って、返ってこなかった割合(パケットロス率)も出ます。「10回送って2回返らなかった」なら、途中でデータが捨てられています。
返ってこなくても、壊れているとは限らない
ここが実務でも試験でも引っかかるところです。
ICMPを意図的に止めている機器があります。 外から勝手に「生きていますか」と聞かれないよう、ファイアウォール(社内と社外の境目に置いて、通してよい通信だけを選んで通す仕組み)がICMPを捨てる設定になっていることがあります。
この場合、相手は正常に動いているのにPingは返りません。「Pingが返らない=止まっている」とは言い切れない、と覚えておいてください。
名前でPingするときは、2つを分けて考える
ping www.example.co.jp のように、名前を指定して実行できます。このとき、中では2段階のことが起きています。
- DNS(名前からIPアドレスを調べる仕組み)で、名前を番号に変える
- その番号あてに、エコー要求を送る
名前では失敗するのに、番号では成功するなら、止まっているのは1段目です。通信そのものではなく、名前を引くところに問題があります。原因を切り分けられるのが、この使い方の利点です。
tracerouteとの違い
似た場面で使うtraceroute(トレースルート。Windowsでは tracert)があります。
- Ping … 相手まで届くかを見る。途中は分からない
- traceroute … 相手までにどのルータ(ネットワークとネットワークのあいだに立って、データの渡し先を決める機器)を通ったかを順に表示する
どこまでは届いていて、どこから先が届かないのかを知りたいときは、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