ping は ICMP Echo Request を送信し、観測した応答を報告します。これは、あるアドレスまでの一つの制御メッセージ経路を試すものであり、TCP、UDP、DNS、認証、アプリケーションの動作を証明するものではありません。
トラブルシューティング · レッスン 2
ping
回数を制限した ping テストを実行し、応答、損失、RTT、TTL、限界を解釈する方法を学びます。
回数を制限したテスト
一般的な iputils 実装で、各パケットの待ち時間を 2 秒とし、IPv4 の要求を 3 回送ります。
$ ping -4 -c 3 -W 2 example.com
IPv6 を選ぶには -6 を使います。ホスト名は複数のアドレスを返し、実行ごとに異なるものが選ばれる場合があるため、解決されたアドレスを記録してください。
-c 3 は何を指定しますか?
シーケンスと損失
icmp_seq は、その実行中の要求を識別します。応答が欠けると観測上の損失になり、順序が入れ替わった応答は遅延のばらつきを示す場合があります。小さな標本は変動が大きいため、回数を制限した複数の区間と、アプリケーション自身のエラー率を比較します。
損失は往路でも復路でも起こり得ます。また ICMP のレート制限により、ping の損失率がアプリケーションの損失率と異なる場合があります。
icmp_seq の応答が一つ欠けている場合、何が考えられますか?
往復時間
time フィールドは、要求の送信から応答の受信までの往復時間をミリ秒で示します。往路の遅延、相手側での処理、復路の遅延が含まれます。両端で時刻を同期して測定しない限り、片道の遅延は分かりません。
表示された time=23.7 ms は何を測っていますか?
TTL または Hop Limit
表示される IPv4 の TTL または IPv6 の Hop Limit は、受信した応答に残っていた値です。送信側の初期値と復路が分からなければ、引き算で正確なホップ数を求めることはできません。値の変化は、応答元、初期値、復路の違いを反映している可能性があります。
IPv4 の Echo Reply に表示される TTL は何ですか?
適切な層をテストする
ping が成功してもサービスが失敗する場合は、実際のポート、TLS、プロトコル、要求をテストしてください。ping が失敗した場合も、ホスト停止と断定する前に、名前解決、ip route get、近隣状態、ファイアウォールポリシー、キャプチャを調べます。
ping が成功しても証明できないものはどれですか?
レッスン完了
ping を完了しました
これで、ping を明確な制限付き ICMP 測定として利用できます。
アドレスファミリーを選び、解決されたアドレスを記録する。
再現可能なテストのため、回数と待ち時間を制限する。
損失の方向や原因を決めつけずに解釈する。
RTT を往復値、TTL を残り値として扱う。
実際のアプリケーションを別にテストする。