ping**コマンドは、リモートホストが IP ネットワーク経由で到達可能かどうかをテストするために使用される、最も基本的なネットワーキングユーティリティの 1 つです。これは、ターゲットホストに ICMP(Internet Control Message Protocol)の「エコーリクエスト」パケットを送信し、ICMP の「エコーリプライ」を待機することで機能します。リクエストパケットが送信され、応答が受信された場合に、ping は成功したと見なされます。
典型的なpingコマンドの動作を見てみましょう。
pete@icebox:~$ ping -c 3 www.google.com
PING www.google.com (74.125.239.112) 56(84) bytes of data.
64 bytes from nuq05s01-in-f16.1e100.net (74.125.239.112): icmp_seq=1 ttl=128 time=29.0 ms
64 bytes from nuq05s01-in-f16.1e100.net (74.125.239.112): icmp_seq=2 ttl=128 time=23.7 ms
64 bytes from nuq05s01-in-f16.1e100.net (74.125.239.112): icmp_seq=3 ttl=128 time=15.1 ms
この例では、pingを使用してwww.google.comへの接続性を確認しています。-c 3オプションは、pingに正確に 3 つのエコーリクエストパケットを送信し、その後停止するように指示します。デフォルトでは、pingは 1 秒に 1 パケットを送信します。
Ping 出力の理解
ping icmp_seqコマンドの出力は、貴重な診断情報を提供します。主要な構成要素を分解してみましょう。
ICMP シーケンス (icmp_seq)
icmp_seqフィールドは、各 ICMP パケットのシーケンス番号を表示します。私たちの例では 3 つのパケットを送信し、出力はすべて(icmp_seq=1、icmp_seq=2、icmp_seq=3)正常に返されたことを示しています。ping seqはパケットロスを診断するために非常に重要です。シーケンス番号の欠落に気づいた場合、それは一部のパケットが宛先に到達していないか、返ってきていない接続の問題を示しています。icmp seq番号が順不同で表示される場合、パケットが往復完了するのにデフォルトの 1 秒間隔よりも時間がかかっていることを示唆しており、ネットワークの輻輳や遅延が原因である可能性があります。icmp_seq meaningを理解することがトラブルシューティングの鍵となります。
タイム・トゥ・リブ (TTL)
Time To Live (TTL) フィールドは、パケットのホップカウンターとして機能します。パケットがルーター(「ホップ」)を通過するたびに、TTL 値は 1 ずつ減少します。パケットが宛先に到達する前にカウンターがゼロに達すると、パケットは破棄されます。このメカニズムにより、パケットがネットワーク上で無限に循環するのを防ぎます。
時間 (Time)
timeフィールドは往復時間、つまりパケットがあなたのマシンからターゲットホストへ移動し、エコーリプライが戻ってくるまでにかかった時間を測定します。この値は通常ミリ秒(ms)で測定され、ネットワーク遅延の主要な指標となります。