【とれーするーと】

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

最終更新:
💡 応答した中継地点から道筋を探る

宛先への経路上で応答した中継地点と、そこまでの往復時間を調べるコマンド。通信の遅延や障害を調査する手掛かりになる。

📌 このページのポイント
traceroute:TTLを増やして調べる 送信元PC R1 1ホップ目 調査パケット TTL=1 期限切れ応答が戻る 送信元PC R2 2ホップ目 別のパケット TTL=2 R1を経由してR2へ 期限切れ応答が戻る 表示時間はPCから各地点までの往復 IPv4で応答を得られた例。経路は模式的に省略。
応答を得られた例。星印は待ち時間内に応答がない意味で、故障とは限らない。
ひよこ ひよこ
tracerouteって何?
ペンギン先生 ペンギン先生
宛先までの途中で応答を返した地点と、その応答時間を調べるコマンドだよ。例えばLinuxでは「traceroute example.com」、Windowsでは「tracert example.com」のように宛先を指定するんだ
ひよこ ひよこ
pingとは何が違うの?
ペンギン先生 ペンギン先生
pingは宛先からの応答の有無や往復時間を調べる。tracerouteは途中の中継地点についても手掛かりが得られるよ。ただし、どちらも応答がない理由までは、それだけで断定できないんだ
ひよこ ひよこ
どうやって途中の地点を調べるの?
ペンギン先生 ペンギン先生
IPv4ではTTLを1、2、3…と増やした別々のパケットを送る。中継時にTTLが減り、期限切れを知らせるICMP応答が返れば、その送信元を表示できるんだ。使うコマンドや方式によって、調査用パケットはUDP、ICMP、TCPなどがあるよ
ひよこ ひよこ
「* * *」って表示されたら故障?
ペンギン先生 ペンギン先生
決められた待ち時間内に応答を受け取れなかったという意味だよ。パケットの損失だけでなく、応答の抑制、回数制限、ファイアウォールなども考えられる。その先の地点が応答することもあるから、星だけで故障と判断しないでね
ひよこ ひよこ
表示された時間を引き算すれば、区間ごとの遅延がわかる?
ペンギン先生 ペンギン先生
各値は送信元からその地点までの往復時間なので、引き算だけで区間の遅延とはいえないよ。別々のパケットで測り、帰りの経路や応答処理も影響する。負荷分散で異なる経路の応答が並ぶこともあるから、測定時の手掛かりとして読もう
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「traceroute」って出てきたら「データが宛先に届くまでの経路を調べるコマンド」と思えればだいたいOK!
📖 おまけ:英語の意味
「trace route」 = 経路を追跡する
💬 Trace=追跡する、Route=経路。データが通る道筋を追いかけるコマンドだね

参考資料

← 用語集にもどる