pingとは?仕組みとICMPによる疎通確認の基本を解説
pingの基本を解説。ICMP Echoの仕組み、RTTやTTLの読み方、tracerouteとの違い、実行コマンド例まで初心者にもわかりやすくまとめました。

pingは、指定した相手のホスト(IPアドレスやホスト名)に到達できるかを確認し、応答までの時間を測るネットワーク診断ツールです。ほぼすべてのOSに標準搭載されており、通信障害の切り分けで最初に使われる定番コマンドです。
pingはどんな仕組みで動く?
pingは独自のプロトコルではなく、IPスイートの補助プロトコルであるICMP(Internet Control Message Protocol)を利用したユーザー向けプログラムです。ICMPはユーザーデータの伝送ではなく、エラー報告や診断を目的としたネットワーク層の仕組みです。
pingコマンドを実行すると、ICMP Echo Request(Type 8)と呼ばれるパケットが送信されます。このパケットには識別子、シーケンス番号、小さなペイロードが含まれます。相手ホストが到達可能でICMPを拒否していなければ、同じペイロードを含むEcho Reply(Type 0)を返します。TCPやUDPのようにポート番号は使わず、IPの上で直接動作するのが特徴です。
送信側はタイムスタンプをもとに往復時間(RTT)を計算し、応答の到達状況からパケットロス率を求めます。名前の由来はソナーの「ピンッ」という発信音とその反響です。1983年にBSD UNIX向けに実装され、以降すべてのTCP/IPスタックに組み込まれてきました。
RTTとTTL、出力結果の読み方
Windowsでの実行例は次のとおりです。既定では4回のEcho Requestが送られます。
C:\> ping www.google.com
www.google.com [142.250.196.132]に ping を送信しています 32バイトのデータ:
142.250.196.132からの応答: バイト数 =32 時間 =12ms TTL=118
142.250.196.132からの応答: バイト数 =32 時間 =11ms TTL=118
142.250.196.132からの応答: バイト数 =32 時間 =13ms TTL=118
142.250.196.132からの応答: バイト数 =32 時間 =11ms TTL=118
パケット送信数 =4、受信数 =4、損失 =0% (0% の損失)「時間 =」がRTTで、ミリ秒単位の往復時間を示します。値が小さいほど遅延が少なく、日本国内の接続なら数ms〜20ms程度、海外サーバーへのアクセスでは数十〜200ms以上になることも珍しくありません。TTLはルーターを経由するたびに1ずつ減るホップカウンターで、初期値(Windowsは128、Linuxは64が多い)との差からおおよその経由ルーター数を推測できます。
まとめ行の損失率は回線の安定性を示します。時間が不安定に揺れたり損失が出たりする場合は、経路のどこかに混雑や障害が潜んでいる可能性があります。
pingとtracerouteの違い
pingは「相手に届くか、どれくらい速いか」を答えるツールです。一方、tracerouteはTTLの値を1から順に増やしながらパケットを送り、途中の各ルーターが返すICMP Time Exceededメッセージを集めることで、パケットがたどる経路をホップごとに可視化します。pingが終点の健康状態を確認するのに対し、tracerouteは旅路そのものを写し出します。
また、pingとスピードテストは別物です。pingが測るのは遅延(応答の速さ)で、スピードテストが測るのはスループット(1秒あたりの転送量、bps)。pingが速くても回線が太いとは限りませんし、逆もまた然りです。オンラインゲームやVoIPでは遅延が体感品質を直接左右するため、ping値が重視される傾向があります。
実際のコマンドと主なオプション
OSによってオプションの書式が異なります。Windowsでは回数に-n、サイズに-lを使います。
# Windows: 10回送信、パケットサイズ1000バイト
ping -n 10 -l 1000 8.8.8.8
# Linux / macOS: 10回送信(-c)
ping -c 10 8.8.8.8
# IPv6を明示的に使う
ping -6 www.google.comIPv6ではICMPv6のEchoメッセージが使われ、内部のパケット形式は異なりますが動作の流れは同じです。パケットサイズを大きくしたpingは、MTUやPMTUディスカバリーの問題を調べるときに役立ちます。
pingが失敗しても障害とは限らない
見落とされがちなのがファイアウォールの存在です。多くのネットワークはセキュリティ上の理由でICMP Echoをブロック、またはレート制限しています。この場合、相手のホストやWebサービスが正常に動いていてもpingは失敗します。逆に、pingの成功はIP層での到達可能性を示すだけで、特定のポートでアプリケーションが動いている保証にはなりません。
ICMPをすべて遮断するとPMTUディスカバリーが機能しなくなり、大きなパケットが届かない通信障害が起きることがあります。セキュリティポリシーは全遮断ではなく、Echoを許可しつつ監視する選択的な運用が推奨されます。
日本の企業ネットワークでも、方針次第でpingへの応答を許可していないケースは少なくありません。自分の環境のローカルポリシーを確認しておくと、トラブル時に誤判断を防げます。
pingを使いこなすための次の一歩
pingは最初の切り分けとして最適です。まず自分のゲートウェイにpingし、次に8.8.8.8などのパブリックDNSへ、最後にドメイン名へと順に試せば、問題が自分のPC、LAN、ISP、遠端ホストのどこにあるかを絞り込めます。詳細な用語解説は、IPアドレスの基礎解説もあわせて参照してください。
経路の詳細を知りたいときはtracerouteやMTRに進み、到達性を繰り返し監視したいときは当サイトのオンラインpingツールがターミナルを開かずに手軽です。ping、traceroute、ファイアウォールの仕組みを組み合わせて理解すると、IPネットワーク全体の見え方が大きく広がります。
