ping
ICMPのエコー要求を送り、相手からのエコー応答が返ってくるかで、IPの疎通(相手まで届くかどうか)と往復の時間を確かめるコマンド。
イマシルちゃんの解説
「もしもーし、聞こえる?」「聞こえるよー!」っていう、ネットワークの呼びかけが、pingなんだ。
返事が返ってくれば、相手まで道がつながっていることがわかるし、
返事にかかった時間で、道の混み具合もわかる。
ネットワークの工事やトラブル調査で、いちばん最初に使う道具なんだよ!
より深い解説
定義
pingは、ICMPのエコー要求(タイプ8)を宛先に送り、エコー応答(タイプ0)が返ってくるかを確かめるコマンドである。応答の有無で、宛先までのレイヤ3(IP)の到達性を、応答までの時間でRTT(往復の遅延)を、応答の欠けでパケットロスを確認できる。
結果からわかること
| 結果 | わかること |
|---|---|
| 応答が返る | 宛先まで行きと戻りの両方の経路がある。宛先の機器が動いている |
| タイムアウト | 経路がない、途中や宛先でICMPが遮断されている、宛先が停止している など |
| 宛先到達不能 | 途中のルータが、宛先への経路を持っていない |
| 一部だけ応答がない | パケットロスが発生している(回線の品質、混雑、切り替え中など) |
pingが通らなくても、ファイアウォールでICMPを遮断しているだけで、ほかの通信はできる場合がある。逆に、pingが通っても、上位のアプリケーション(Webなど)が正常とは限らない。
作業中の監視に使う
ネットワークの機器の交換や設定の変更では、作業の前から継続してpingを実行しておき、作業の影響(パケットロスの発生)がないかを見張る方法がよく使われる。
| 考え方 | 内容 |
|---|---|
| 宛先の選び方 | 作業する機器を経由する通信になるように、宛先を選ぶ。作業する機器を通らない宛先では、影響を確認できない |
| 送信元の選び方 | 利用者の端末の位置(各拠点の内部ネットワーク)から実行し、利用者と同じ経路を確認する |
| 交換後の確認 | 交換した機器から、直接つながっている隣接の機器それぞれに ping を実行し、各インタフェースが正しく接続されていることを確認する |
関連するコマンド
| コマンド | 内容 |
|---|---|
| traceroute(tracert) | TTLを1ずつ増やして送り、経路上のルータを順に調べる |
| arp | 端末のARPテーブルを表示する(レイヤ2の到達性の確認) |
| nslookup、dig | DNSの名前解決を確認する |