traceroute コマンドは、パケットがコンピューターから宛先ホストへ到達するまでの経路をトレースするために使用される基本的なネットワーク診断ツールです。途中の各「ホップ」またはルーターを明らかにし、ネットワークのボトルネックを特定し、接続の問題をトラブルシューティングするのに役立ちます。traceroute linux ユーティリティは、すべてのシステム管理者やネットワークエンジニアにとって不可欠です。
traceroute の仕組み
traceroute の背後にあるメカニズムは、IP パケットヘッダーの Time To Live (TTL) フィールドを巧みに操作することにあります。プロセスは次のとおりです。
- traceroute は、TTL 値が 1 のプローブパケットを送信します。
- 経路上の最初のルーターがパケットを受信し、TTL を 0 に減らして破棄します。その後、ルーターは ICMP「Time Exceeded」メッセージをコンピューターに返送します。
- traceroute はそのルーターの IP アドレスと往復時間(RTT)を記録します。
- 次に、今度は TTL が 2 の別のパケットを送信します。このパケットは最初のルーターを正常に通過しますが、2 番目のルーターによって破棄され、やはり「Time Exceeded」メッセージが返送されます。
- このプロセスは、後続のパケットセットごとに TTL が 1 ずつ増加しながら繰り返されます。 「Time Exceeded」メッセージを返すルーターのリストを作成することにより、traceroute は完全な経路をマッピングします。
- パケットが最終的に宛先に到達すると(宛先は ICMP「Echo Reply」メッセージで応答します)、プロセスは終了します。