pingの見方:遅延、パケットロス、ICMP
pingは、宛先がネットワークのプローブに応答するかを確かめ、それぞれの応答が返ってくるまでの時間を測るツールです。最初の診断手順として便利ですが、ダウンロードの帯域幅は測れませんし、pingだけでアプリケーションやWebサイトが正常に動いていると判断することもできません。
結果が示すもの
多くのpingプログラムは、ICMP Echo Requestメッセージを送り、Echo Replyメッセージを待ちます。表示されるラウンドトリップタイム(RTT)は、宛先まで行って戻ってくるまでの時間です。20 msという値は、1回の応答に約20ミリ秒かかったことを表すもので、メガビット毎秒で表す転送速度ではありません。
結果には一般に、送信数と受信数、RTTの最小値と最大値、平均値が含まれます。遅延が安定しているかを確かめるには、テストを繰り返しましょう。サンプル数が少ないと断続的な問題を見逃すことがあり、逆にテストが長すぎると、通信量やネットワークの状況の変化の影響を受けることがあります。
ホストが応答しないことがある理由
サーバーやファイアウォールがICMPをブロックしたり、応答数を制限したり、診断用の通信の優先度を下げたりしていることがあります。そのため、pingに応答がなくても、HTTPSが使えないとは限りません。逆に、すぐに応答が返ってきたからといって、DNS、TCP接続、ログイン、Webアプリケーション自体が正常に動いている証拠にはなりません。
モバイル回線やWi-Fiでは、無線のスケジューリング、電波干渉、省電力モードによる遅延が加わるため、RTTがばらつくことがあります。テスト中のパケットロスは調べる価値がありますが、ローカルの問題を相手のサービスのせいにしないよう、まずは別の宛先やローカルのルーターと比べてみてください。
確認に役立つ順序
まずローカルのゲートウェイ、次に安定した外部の宛先、最後に問題のあるホストをテストします。IPアドレスとドメイン名の両方で試せば、基本的な接続性の問題とDNSの名前解決の問題を切り分けられます。実際のサービスは、ブラウザーや適切なクライアントでテストしましょう。tracerouteを使えば、それ自体の制約はあるものの、診断用の応答がどこで止まっているかがわかります。
問題を報告するときは、目を引く1つの値だけでなく、時刻、ネットワーク、宛先、プローブの数を伝えましょう。ほかのシステムに頻繁にテストを送りつけるのは避けてください。ほかの宛先には問題なくつながるのに1つのサイトだけ失敗する場合は、インターネット接続全体とは切り離して、そのサイトと経路を調べます。
ジッターとは、連続する遅延の間のばらつきのことです。特に通話やゲームでは重要で、平均遅延が許容範囲に見えても、応答時間が不規則だと支障が出ることがあります。
ICMPと接続品質は別物
pingはICMP Echoを使いますが、ICMPにはほかにも制御用の機能があります。Echo Replyが返ってこないのは、フィルタリングや診断用通信の優先度の低さが原因かもしれないため、アプリケーションの状態とあわせて判断しましょう。ICMPと遅延、ジッター、パケットロスの記事もご覧ください。