pingを知ろう


はじめに

新人でも何気なく使っているpingコマンドですが、出てくる結果に対してしっかり把握している人は意外と少ないかもしれません。
ここでは、結果に関して書いていきたいと思います。

pingとは?

ICMPプロトコルを使用したネットワークの診断プログラムです。
pingコマンドにより宛先となるノードと通信できるかを確認することができます。
pingが成功すれば送信元と宛先とでIPの通信に問題がないことが証明され、pingが失敗すればIP上の通信に問題があると判断できます。

正常結果

Windowsのコマンドプロンプトでpingを実行した結果。「ping 192.168.0.1」を実行した結果です。
192.168.0.1に ping が成功しており、pingコマンドを実行したPCとIPでの通信が正常にできることを証明しています。

ping 192.168.0.1

Reply from 192.168.0.1: byte=32 time<1ms TTL=128
Reply from 192.168.0.1: byte=32 time<1ms TTL=128
Reply from 192.168.0.1: byte=32 time<1ms TTL=128
Reply from 192.168.0.1: byte=32 time<1ms TTL=128 

※結果から以下の内容がわかります。

表示結果 内容
Reply from PINGが成功した場合に表示。
byte=32 ICMPパケットのデータサイズ。デフォルトで32byteのデータが送信。
time<1ms ICMPパケットの応答までに経過した時間。今回は1ミリ秒(0.001秒)時間を要したことが分かります。
TTL=128 何台のLayer3機器を通過することができるのかを示す。残り128台通過できることが分かります。

タイムアウト結果

以下のように「Request time out :」と表示される場合、要求がタイムアウトされ宛先の機器と通信できないことを意味しています。

ping 192.168.0.1

Request time out :
Request time out :
Request time out :
Request time out :

ただし、WindowsファイアウォールのようにICMPだけをブロックしているケース、経路途中にあるルータなどでセキュリティ上の観点でICMP通信を制限しているケースなどでは、このメッセージが出力されても通信できないのはICMPの通信だけで、TCP/IPにおける通信が問題ないケースがあるので注意が必要です。

宛先ネットワークに到達できなかった場合

以下のように「Destination net unreachable」と表示されている場合はPINGが失敗しています。

ping 172.16.0.1

Reply from 192.168.0.254:Destination net unreachable
Reply from 192.168.0.254:Destination net unreachable
Reply from 192.168.0.254:Destination net unreachable
Reply from 192.168.0.254:Destination net unreachable

172.16.0.1にPINGをした結果、172.16.0.1からの応答はありませんが、代わりに192.168.0.254 が応答している状態です。これは、192.168.0.254 まではパケットが到達したけれど、ルータの時点でルーティング情報がなくて、宛先ネットワークに対してパケット転送できなかったことを示しています。

宛先ホストに到達できなかった場合

以下のように「Destination host unreachable」と表示されている場合も、宛先ホストに到達できていないためPINGが失敗しています。

ping 172.16.0.1

Reply from 192.168.0.254:Destination host unreachable
Reply from 192.168.0.254:Destination host unreachable
Reply from 192.168.0.254:Destination host unreachable
Reply from 192.168.0.254:Destination host unreachable

このエラーは「net」ではなく「host」です。このエラーメッセージは192.168.0.254のルータまでは到達して宛先のネットワークへの到達性があるが、該当する機器(ホスト)に到達できない事を意味します。
または、この機器(172.16.0.1)へのルーティングが見つけられないことを意味するメッセージです。

おわりに

正常以外の結果もいろいろあると思いますが、何気なく正常だ!異常だ!と思うのではなく、出てきた結果に対してしっかりと理解して円滑な作業を行っていきましょう!