ping は、2 つのホスト間の接続テストに使用されますが、ホスト間にあるデバイスの詳細情報は提供しません。 traceroute(tracert)は、パスに沿って正常に到達されたホップのリストを生成するユーティリティです。 このリストは、検証やトラブルシューティングを行うときの重要な情報となります。 データが宛先に到達すると、トレースは、ホスト間のパスに存在する各ルータのインターフェイスをリストします。 データが途中のホップで失敗した場合は、トレースに応答した最後のルータのアドレスが、問題やセキュリティ上の制限のある場所を示す目印となります。

ラウンドトリップ時間(Round Trip Time; RTT)

traceroute を使用すると、パスに沿って存在する各ホップのラウンドトリップ時間と、ホップが応答できない場合が示されます。 ラウンドトリップ時間とは、パケットがリモート ホストに到達し、そのホストから応答が返るまでにかかる時間です。 損失したパケットや、応答がないパケットは、アスタリスク(*)で示されます。

この情報は、問題のあるルータがパス上のどこに存在するかを見つけるのに有用です。 応答時間が長すぎるホップや、データの損失が著しいホップがある場合は、ルータのリソースやその接続に高い負荷がかかっている可能性を示しています。

IPv4 の存続可能時間(Time-to-Live; TTL)と IPv6 のホップ リミット

traceroute は、ICMP 時間超過メッセージのほか、IPv4 の TTL フィールドと IPv6 のホップ リミット フィールドの機能をレイヤ 3 ヘッダーで使用します。

図のアニメーションを再生して、traceroute が TTL をどのように利用するかを表示してください。

traceroute から送信されるメッセージの最初のシーケンスでは、TTL フィールドの値は 1 です。 したがって、IPv4 パケットは、最初のルータでタイムアウトします。 その後、ルータから ICMPv4 メッセージが返ります。 これで、traceroute は、最初のホップのアドレスを取得します。

以降、traceroute は、メッセージのシーケンスごとに TTL フィールドを段階的に(2、3、4...)増やします。 したがって、パケットはタイムアウトするまでにパスをより遠くまで移動するようになり、トレースは各ホップのアドレスを取得できます。 TTL フィールドは、宛先に到達するまで、または規定の最大値に達するまで増加します。

最終的な宛先に到達すると、ホストは、ICMP 時間超過メッセージではなく、ICMP ポート到達不能メッセージまたは ICMP エコー応答メッセージのどちらかを返します。