Pingを使った正常性の確認

実際に設定を実施した後は、通信の正常性を確認することになります。

  • うまく通信できているのか?
  • もし通信出来ていない場合、その原因はどこにあるのか?

ここではCiscoルータでのPingコマンドについて紹介していきます。ネットワーク上で通信障害が発生したときに威力を発揮してくれるコマンドばかりですから、しっかりと使いこなせるようにしておきましょう。

Pingコマンド

通信を確認する上で、もっとも基本的なコマンドであり最も使用頻度が多いコマンドがPingコマンドです。Pingを実行することで、宛先の機器までのネットワーク層レベルの到達性を確認することが出来ます。

コマンドは以下です。

Router#ping [宛先IPアドレス]

コマンド実行結果

Router#ping 192.168.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms

Ciscoルータはデフォルトで5回の Ping を実行します。
実行結果に表示される文字によって、成功や失敗といった意味を表しています。
それぞれの意味については以下の通りです。

上記実行結果はすべて「!」と表示されていますから、5回のPingがすべて成功していることが分かります。また実行結果の「round-trip min/avg/max = ~」の部分で宛先までのRTTも表示されますから、宛先までの遅延時間も確認できます。

Pingコマンドの注意点

CiscoルータでPingコマンドを実行する場合に、一点注意しておかなければいけないことがあります。CiscoルータはPingを送り出すインタフェースのIPアドレスを送信元IPアドレスとして使用します。

例えば以下のような構成があったとします。

RTA から RTC のインタフェースアドレスである 10.10.10.1 へ向けてPing を実行する場合に使用する送信元のIPアドレスは、Pingが送り出されるインタフェース、つまり 192.168.1.1 が送信元IPアドレスになります。

このとき RTA,RTC に設定されているルーティングテーブルが以下のような場合に問題が発生します。

エンド-エンドのPC同士は問題なく通信が可能です。しかしRTAから10.10.10.1へ向けてPingを実行した場合はどうでしょう?

この場合の送信元IPアドレスは、192.168.1.1 になります。しかしRTCのルーティングテーブルには、宛先192.168.1.1へのテーブルが存在しません。

そのためPingは RTC から RTA への戻りのルートが無いため到達不可となってしまいます。このようにCiscoルータからのPingは、「Pingを送り出すインタフェースのIPアドレスが送信元IPアドレスになる」ということをしっかり認識しておくことが重要です。

ところで今回の構成で RTA から RTC への Ping を可能とさせる方法は無いのでしょうか?1つの解決方法として192.168.1.0/24のネットワークをルーティングテーブルに反映させてあげることで解決します。

では現状のルーティングテーブルだけで RTA から RTC への Ping を可能とさせる方法はないのでしょうか?

もちろんあります。

その方法が次に解説する拡張Pingという機能になります。

拡張Ping

この構成でルーティングテーブルはそのままで RTA から RTC への Ping を可能にするためには、どうすれば良いと思いますか?

この場合、「Pingを送り出すインタフェースのIPアドレスが送信元IPアドレスになる」ため、送信元IPアドレスが、192.168.1.1 になってしまうのがPing失敗の原因です。送信元IPアドレスを 10.1.1.1 にすれば、Pingが通ります。

拡張Pingという機能を使えば、通常のPingコマンドに加えて様々な機能を利用することが出来ます。

  • Ping送信回数の変更
  • Pingデータサイズの変更
  • Pingのタイムアウト時間の変更
  • 送信元IPアドレスの指定

といった機能を利用することが出来ます。拡張Pingを使用するには、特権モードで「ping」と入力してリターンキーを押下することで利用できます。

コマンド実行結果

router#ping
Protocol [ip]: 「リターン」
#何も入力せずにリターンキーを押下すると括弧内の値が使用されます。

Target IP address: 10.10.10.1 「リターン」
#宛先のIPアドレスを入力

Repeat count [5]: 10 「リターン」
#Ping送信回数を10回に変更

Datagram size [100]: 512 「リターン」
#Pingデータサイズを512byteに変更

Timeout in seconds [2]: 「リターン」
#Pingタイムアウト値はデフォルトの2秒を使用

Extended commands [n]:y 「リターン」
#拡張コマンドを利用するには y を入力

Source address or interface:10.1.1.1 「リターン」
#送信元IPアドレスを変更

Type of service [0]: 「リターン」
Set DF bit in IP header? [no]: 「リターン」
Validate reply data? [no]: 「リターン」
Data pattern [0xABCD]: 「リターン」
Loose, Strict, Record, Timestamp, Verbose[none]: 「リターン」
Sweep range of sizes [n]: 「リターン」

Type escape sequence to abort.
Sending 10, 512-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (10/10), round-trip min/avg/max = 1/2/4 ms

上記の実行結果を見ると分かるように他にも色々な機能を使用することが出来ます。
拡張Pingは現場でもよく使う機能ですから、ぜひ色々と試してみてください。

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: