TCP/IP とデータ通信

ping コマンド

ping コマンドは、特定のホストとの IP 接続が存在しているかどうかを確認するために使用します。基本構文は次のとおりです。

/usr/sbin/ping host [timeout]

host は問題のマシンのホスト名を示します。オプションの timeout 引数は、ping がそのマシンに到達しようと試みる秒数を示し、デフォルトは 20 秒です。詳しい構文とオプションについては、ping(1M) のマニュアルページを参照してください。

ping を実行すると、ICMP プロトコルは、指定されたホストにデータグラムを送って、応答を求めます (ICMP は、TCP/IP ネットワーク上のエラー処理を担当するプロトコルです。詳細は、「ICMP プロトコル」を参照してください)。

次のように入力したとします。


$ ping elvis

ホスト elvis が動作していれば、次のメッセージが表示されます。


elvis is alive

これは、elvis が ICMP の要求に応答したことを示します。しかし、elvis がダウン状態にあるかまたは ICMP パケットを受け取れなかった場合は、ping から次の応答が返されます。


no answer from elvis

マシンが動作状態にあるのにパケットが失われている疑いがある場合は、pings オプションを使用して、問題を追求することができます。たとえば次のように入力します。


$ ping -s elvis 

ping は、ユーザーが割り込み文字を送るかまたはタイムアウトが生じるまで、elvis にパケットを送り続けます。画面上には、次のように出力されます。


PING elvis: 56 data bytes
64 bytes from 129.144.50.21: icmp_seq=0. time=80. ms
64 bytes from 129.144.50.21: icmp_seq=1. time=0. ms
64 bytes from 129.144.50.21: icmp_seq=2. time=0. ms
64 bytes from 129.144.50.21: icmp_seq=3. time=0. ms
.
.
.
----elvis PING Statistics----
4 packets transmitted, 4 packets received, 0% packet loss
round-trip (ms) min/avg/max = 0/20/80   

パケットロスの統計値は、ホストがパケットを失ったかどうかを示します。

ping が失敗した場合は、ifconfignetstat が報告するネットワーク状態を調べます。これについては、次の ifconfig コマンド」と、netstat コマンド」を参照してくだい。