【とれーするーと】

traceroute(トレースルート) とは?

💡 データの旅路を追跡する「ネットワークの道順表示」
📌 このページのポイント
traceroute:TTLを増やしながら経路上のルーターを発見 送信元 PC R1 Hop 1 R2 Hop 2 R3 Hop 3 宛先 Server ① TTL=1 TTL=0! Time Exceeded → R1のIP判明 ② TTL=2 TTL=0! Time Exceeded → R2のIP判明 ③ TTL=3 TTL=0! Time Exceeded → R3のIP判明 ④ TTL=4 宛先に到達 → 完了
tracerouteの仕組み
ひよこ ひよこ

tracerouteって何?

ペンギン先生 ペンギン先生

データが宛先に届くまでに通るルーターの経路を順番に表示してくれるコマンドだよ。「traceroute google.com」と打つと、自分のパソコンからGoogleサーバーまでにどんなルーターを経由しているか、それぞれの応答時間も含めて見えるんだ。

ひよこ ひよこ

pingとは何が違うの?

ペンギン先生 ペンギン先生

pingは「相手とつながるかどうか」を確認するだけだけど、tracerouteは「途中でどこを通っているか」まで見えるんだ。pingが返ってこないとき、tracerouteを使えば「どの地点で止まっているか」がわかるから障害箇所の特定に役立つよ。

ひよこ ひよこ

どうやって経路を調べてるの?

ペンギン先生 ペンギン先生

TTL(Time to Live)という値を1から順に増やしながらパケットを送るんだ。TTL=1だと最初のルーターで期限切れになって応答が返る、TTL=2だと2番目のルーターまで行って返る…という具合に、1ホップずつ経路を探っていくんだよ。

ひよこ ひよこ

「* * *」って表示されることがあるんだけど…

ペンギン先生 ペンギン先生

そのルーターがtracerouteの応答を返さない設定になっているんだ。セキュリティのためにICMP応答を無効にしている機器は多いから、「* * *」=障害ではないことが多いよ。

ひよこ ひよこ

tracerouteの結果って毎回同じ経路になるの?

ペンギン先生 ペンギン先生

実は同じにならないことがけっこうあるんだ。大規模なネットワークでは負荷分散のために複数の経路が用意されていて、パケットごとに違うルートを通ることがある。さらにtracerouteはパケットを複数回送るんだけど、それぞれが異なる経路を通ると、同じホップ番号に違うIPアドレスが表示されて結果が混乱する。これを「ロードバランシング起因のtracerouteの偽経路問題」と言うんだけど、ネットワーク調査の初心者がこれを見て「ルーティングがおかしい」と誤判断することがあるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「traceroute」って出てきたら「データが宛先に届くまでの経路を調べるコマンド」と思えればだいたいOK!
📖 おまけ:英語の意味
「trace route」 = 経路を追跡する
💬 Trace=追跡する、Route=経路。データが通る道筋を追いかけるコマンドだね
← 用語集にもどる