このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

ネットワーク構成

ネットワークの構成は、下図のとおりです。

演習ファイルのダウンロード

 ネットワークの構成を Packet Tracer で一から設定していくのは大変かと思います。「ダウンロード」ボタンから演習で使用するファイルのダウンロードができます。ファイルは、McAfeeインターネットセキュリティでウイルスチェックをしておりますが、ダウンロードは自己責任でお願いいたします。

Routerのパスワードは、以下のように設定しています。

  • enable password ・・・ cisco
  • line vty      ・・・ cisco

traceroute

 「traceroute」コマンドは、宛先までの経路を表示してくれるコマンドです。このコマンドは、ICMPのエコー要求、エコー応答、時間超過、IPヘッダ内のTTLを使用します。

このコマンドを使用することにより、宛先までの経路上でどこに問題があるのかを確認することができます。

 Windows系のOSでは、「tracert」コマンドを使いますが、Ciscoルータは、linuxと同じコマンド名なのでコマンドを入力する際は、間違えて入力しないように注意して下さい。

下図のネットワークで「traceroute」コマンドの動作を解説していきます。

 Ciscoルータには、Pingコマンドと同様に、「標準Traceroute」コマンドと「拡張Traceroute」コマンドが用意されています。「拡張Traceroute」コマンドでは、「拡張pingコマンド」と同様に詳細な条件が指定できます。

標準traceroute

Router#traceroute { 宛先IPアドレス | 宛先ホスト名 }

拡張traceroute

Router#traceroute [Enter]

拡張tracerouteコマンドを実行すると各種パラメータを質問されます。

Router_A#traceroute
Protocol [ip]: 
Target IP address: 172.16.4.1
Source address: 172.16.1.1
Numeric display [n]: 
Timeout in seconds [3]: 
Probe count [3]: 
Minimum Time to Live [1]: 
Maximum Time to Live [30]: 
Type escape sequence to abort.
Tracing the route to 172.16.4.1

  1   172.16.2.2      2 msec    1 msec    1 msec    
  2   172.16.3.2      1 msec    2 msec    0 msec    
Router_A#

tracerouteコマンドとTTL値の関係

 「traceroute」コマンドを実行すると、IPヘッダのTTL値が1にセットされて、パケットが送信されます。ルータを経由するごとに1ずつTTL値が減算されて、TTL値が0になるとICMP時間超過メッセージを送信元に返します。

Router_AからRouter_Cへtracerouteコマンドを実行してみます。

●Router_Cへのtracerouteの結果

Router_A#traceroute 172.16.4.1
Type escape sequence to abort.
Tracing the route to 172.16.4.1

  1   172.16.2.2      3 msec    1 msec    1 msec    
  2   172.16.3.2      4 msec    1 msec    4 msec    
Router_A#

Router_A から Router_C へ tracerouteコマンドを実行すると以下のように動作します。

1.TTL値が1にセットされてパケットが送られます。

Router_Bまでパケットが届くとTTL値が0になり、時間超過メッセージが送信元のRouter_Aに返されます。

2.TTL値が2にセットされてパケットが送られます。

 今度は、TTL値を2にセットしてパケットを送ります。Router_Bで-1され、Router_Cで-1され、TTL値が0になります。時間超過メッセージが送信元のRouter_Aに返され、Router_Cまで到達できると判断します。 

 「Traceroute」コマンドは、宛先ネットワークに到達できなかった場合、「*」が表示され、どこまで到達できるかを確認することができます。「ping」コマンドと同様、トラブルシュートに役立つコマンドです。

途中で中断するには

 宛先ネットワークが遠い場合、「traceroute」コマンドの応答が長くなります。途中で中止したい場合には、「CTRL + SHIFT + 6」キーを押すと中断できます。