ネットワーク監視・トラブルシュート

ping ぴんぐ

ICMPネットワーク疎通確認レイテンシTTLtracerouteパケットロス
pingって何?ネットワークが繋がってるか確認できるって聞いたけど

簡単に言うとこんな感じ!

ping(ピング)は、ネットワーク上の相手に「おーい、聞こえてる?」って呼びかけて、「聞こえてるよ!」って返事が来るかどうかを確かめるツールだよ。潜水艦のソナーが音波を発射して反響を待つのと同じイメージ!「届いてるか・どのくらい時間がかかったか」を一瞬で確認できるんだ。


pingとは

ping(ピング)は、ネットワーク上の特定のホスト(コンピューターやサーバー、ルーターなど)に対して「通信が届くかどうか」を確認するための診断コマンドおよびその仕組みのことです。正式な名称は Packet Internet Groper とも言われますが、語源は潜水艦のソナー音「ping」から来ており、音波を発射して反響(エコー)を待つイメージそのものです。

技術的には ICMP(Internet Control Message Protocol) という通信プロトコルを使い、「Echo Request(応答してください)」というパケットを送って、相手から「Echo Reply(はい、届いています)」が返ってくるまでの時間を測定します。この往復にかかる時間を RTT(Round-Trip Time) または レイテンシ(遅延時間) と呼び、ミリ秒(ms)単位で表示されます。

ネットワークのトラブルシュート(障害調査)において ping は最初に使う基本中の基本のコマンドです。「そもそも相手に届いているのか?」という最もシンプルな疑問に答えてくれるため、情報システム担当者だけでなく、システム発注・管理を担うビジネスパーソンにとっても知っておきたい概念です。


pingで何がわかるか

確認できること詳細
疎通確認相手ホストにパケットが届いているかどうか(到達性)
RTT(遅延時間)パケットの往復にかかった時間(ms)。小さいほど速い
パケットロス率送ったパケットのうち返ってこなかった割合(%)。0%が理想
TTLパケットが通過できるルーターの残り段数(ネットワーク経路の深さの目安)

コマンドの実行例(Windows)

> ping www.example.com

www.example.com [93.184.216.34]に ping を送信しています:
返信: バイト数 =32 時間 =12ms TTL=55
返信: バイト数 =32 時間 =11ms TTL=55
返信: バイト数 =32 時間 =12ms TTL=55
返信: バイト数 =32 時間 =13ms TTL=55

パケット: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)
ラウンド トリップの概算時間 (ミリ秒):
  最小 = 11ms、最大 = 13ms、平均 = 12ms

RTT(遅延時間)の目安

  ~ 1ms    :同じLAN内(とても速い)
  1 ~ 10ms :国内の近い場所
 10 ~ 50ms :国内遠距離・快適なインターネット
 50 ~100ms :国際回線(アジア圏など)
100ms ~    :要注意。アプリによっては遅延を感じる

覚え方

「ピン!と返事が来るか確かめる」

潜水艦のソナー音「PING!→反響」そのまま。届かなければ無音(タイムアウト)。


歴史と背景

  • 1983年 — Mike Muuss氏がARPANET(インターネットの前身)のデバッグ用に約200行のCコードで作成。名称は潜水艦のソナー音から命名
  • 1984年 — UCバークレー版BSDのUNIXに標準収録され、広く普及
  • 1990年代 — WindowsやmacOSにも標準搭載。「ネットワーク確認といえばping」という地位を確立
  • 2000年代以降 — セキュリティ上の理由からICMPをブロックするファイアウォール設定が増加。「pingが通らない=繋がっていない」とは言い切れない場面も出てくる
  • 現在 — クラウドサービスの監視ツールや死活監視システムの内部でも ping の仕組みが広く使われ続けている

pingと関連コマンドの比較

pingは単独で使うことも多いですが、ネットワーク診断では下図のように役割の異なるコマンドと組み合わせて使います。

ネットワーク診断コマンドの役割マップ ping 疎通・遅延確認 「届いているか?」 「どのくらい速いか?」 使用プロトコル: ICMP Echo 確認対象: 特定の1ホスト traceroute / tracert 経路確認 「どこを通っているか?」 「どこで詰まっているか?」 使用プロトコル: ICMP / UDP 確認対象: 経路上の全ルーター nslookup / dig 名前解決確認 「ドメインがIPに 変換できているか?」 使用プロトコル: DNS 確認対象: DNSサーバー応答 トラブルシュートの順序:名前解決 → ping疎通 → traceroute経路

ビジネスパーソンが知っておくべきpingの限界

  • 「pingが通らない ≠ サービスが死んでいる」:ファイアウォールの設定によってICMPパケットだけをブロックしているサーバーも多い。Webサービスが正常でもpingが返らないことがある
  • 「pingが通る ≠ アプリが正常」:ネットワーク層での疎通は確認できても、アプリケーション層(Webサーバー・DBなど)の障害は検出できない
  • 死活監視との組み合わせ:本番環境の監視では ping による死活監視(定期的にpingを打って無応答になったらアラート)が基本構成としてよく使われる

関連する規格・RFC

規格・RFC番号内容
RFC 792ICMPの基本仕様(Echo Request / Echo Reply を定義)
RFC 4443IPv6向けICMP(ICMPv6)の仕様
RFC 2151pingを含むネットワーク診断ツールのガイド

関連用語

  • ICMP — pingが内部で使っているプロトコル。ネットワーク制御・エラー通知を担う
  • traceroute — pingを発展させた経路確認コマンド。どのルーターを経由しているかを表示する
  • RTT(Round-Trip Time) — パケットの往復時間。pingで計測される遅延の単位
  • TTL(Time To Live) — パケットが生存できるルーター通過回数の上限
  • 死活監視 — pingなどを使ってサーバーが動いているかを定期確認する仕組み
  • ファイアウォール — ICMPをブロックしてpingを通さないことがある。pingが返らない原因の一つ