ping
ICMPのエコー要求を送り、相手からのエコー応答が返ってくるかで、IPの疎通(相手まで届くかどうか)と往復の時間を確かめるコマンド。
イマシルちゃんの解説
「もしもーし、聞こえる?」「聞こえるよー!」と、相手へ呼びかけて返事を確かめるコマンドがpingだよ。
IP通信の状態を知らせるプロトコルであるICMPを使って、エコー要求という確認のメッセージを送るんだ。
相手からエコー応答が返れば、その確認の通信が往復できたと分かるよ。
返事までにかかった往復時間も測れるから、ネットワークの接続確認や遅延の調査に使えるんだ。
ただし、その時間には信号が伝わる時間や機器の処理時間も含まれるので、長いからといって混雑が原因とは限らないよ。
この解説はわかりやすかったですか?
より深い解説
定義
IPv4のpingは、ICMPのエコー要求(Echo Request、タイプ8)を宛先に送り、エコー応答(Echo Reply、タイプ0)が返ってくるかを確かめるコマンドである。応答の有無で、宛先までのレイヤ3(IP)の到達性を、応答までの時間でRTT(往復の遅延)を、応答の欠けで確認通信の損失を調べられる。
IPv6ではICMPv6を使い、要求のタイプは128、応答は129となる。IPv4のICMPの仕様はRFC 792で定められている。管理用IPアドレスが応答する機器なら、SNMPの対応がなくてもpingによる基本的な死活監視はできる。
結果からわかること
| 結果 | わかること |
|---|---|
| 応答が返る | 宛先まで行きと戻りの両方の経路がある。宛先の機器が動いている |
| タイムアウト | 経路がない、途中や宛先でICMPが遮断されている、宛先が停止している など |
| 宛先到達不能 | ルータや宛先が、配送できない理由を通知した。コードから経路、ホスト、ポートなどの原因を区別する |
| 一部だけ応答がない | パケットロスが発生している(回線の品質、混雑、切り替え中など) |
pingが通らなくても、ファイアウォールでICMPを遮断しているだけで、ほかの通信はできる場合がある。逆に、pingが通っても、上位のアプリケーション(Webなど)が正常とは限らない。
作業中の監視に使う
ネットワークの機器の交換や設定の変更では、作業の前から継続してpingを実行しておき、作業の影響(パケットロスの発生)がないかを見張る方法がよく使われる。
| 考え方 | 内容 |
|---|---|
| 宛先の選び方 | 作業する機器を経由する通信になるように、宛先を選ぶ。作業する機器を通らない宛先では、影響を確認できない |
| 送信元の選び方 | 利用者の端末の位置(各拠点の内部ネットワーク)から実行し、利用者と同じ経路を確認する |
| 交換後の確認 | 交換した機器から、直接つながっている隣接の機器それぞれに ping を実行し、各インタフェースが正しく接続されていることを確認する |
関連するコマンド
| コマンド | 内容 |
|---|---|
| traceroute(tracert) | TTLを1ずつ増やして送り、経路上のルータを順に調べる |
| arp | 端末のARPテーブルを表示する(レイヤ2の到達性の確認) |
| nslookup、dig | DNSの名前解決を確認する |
参考資料
実際の試験ではここに出る!全9問
ネットワークスペシャリスト
テクニカルエンジニア(ネットワーク)
- 午前