Traceroute の使い方と経路調査・読み方

  • URLをコピーしました!

ネットワーク通信で問題が起きた際、「Ping は通らないが、どこで止まっているのか知りたい」という場面はよくあります。 そんなときに活躍するのが Traceroute(トレーサルート) です。 本記事では、Traceroute の仕組みや実行方法、結果の読み方についてわかりやすく解説します。

Traceroute とは?

Traceroute は、通信パケットが宛先に到達するまでの 経路(ルータの通過点) を調べるコマンドです。 途中のどの機器で通信が止まっているのか、遅延が発生しているのかを特定するのに利用されます。

Traceroute は OS により以下のような名称で提供されています。

  • Windows: tracert
  • Linux / macOS: traceroute

Traceroute の仕組み

Traceroute は、ICMP または UDP パケットを使い、TTL(Time To Live) を少しずつ増やして宛先までの経路を調べます。

  1. まず TTL=1 のパケットを送信 → 最初のルータで TTL が 0 となり「Time Exceeded」エラーを返す。
  2. 次に TTL=2 のパケットを送信 → 2番目のルータで TTL が 0 となり応答を返す。
  3. このように TTL を1ずつ増やしていき、宛先から「Echo Reply」などの応答が返れば到達成功。

この仕組みにより、宛先までのルータ(ホップ)を順番に特定できます。

Traceroute の実行方法

Windows の場合:

tracert 8.8.8.8

Linux / macOS の場合:

traceroute 8.8.8.8

例として Google Public DNS(8.8.8.8)までの経路を調べると、途中で通過したルータ(ホップ)と応答時間(ms)が表示されます。

Traceroute の結果の見方

Tracing route to 8.8.8.8 over a maximum of 30 hops

  1    <1 ms    <1 ms    <1 ms  192.168.1.1
  2     3 ms     3 ms     3 ms  203.0.113.1
  3    10 ms    11 ms    12 ms  10.0.0.1
  4    30 ms    31 ms    29 ms  8.8.8.8

Trace complete.
  • ホップ数: 経路上のルータの通過回数(上の例では4ホップ)。
  • 応答時間(ms): 1回の通信にかかった往復時間。値が大きいほど遅延。
  • *(アスタリスク): 応答が返ってこなかったことを意味します(タイムアウト、ICMPブロックなど)。

よくある結果と原因

現象原因の例
途中で「* * *」が続く途中のルータが ICMP 応答を遮断している(ファイアウォールやISP仕様)
途中で止まって先に進まないルーティングミス・経路断・NAT超えの通信不可など
応答時間が極端に大きいネットワーク混雑・回線遅延・海外経路など

Traceroute の応用

  • 社内ネットワークで通信が止まっている箇所の特定
  • 外部サーバへの経路や遅延の把握
  • 複数経路の比較による回線品質調査

また、ISPやクラウド環境では mtr(My Traceroute)などのツールを使うと、リアルタイムで遅延やパケットロスを継続的に監視できます。

まとめ

  • Traceroute は経路上のルータを特定し、通信がどこで止まっているかを調べるコマンド。
  • TTL を利用して段階的に経路情報を取得する仕組み。
  • 応答がない「*」は必ずしも障害ではなく、ICMP 応答を遮断しているだけの場合もある。

Ping と Traceroute を組み合わせることで、ネットワークトラブルの原因をより正確に突き止めることができます。

目次