使い方を確認したところで,簡単にtracertコマンドのしくみを確認しておこう。このコマンドの動作原理は,以下のようになる(図3[拡大表示])。
tracertコマンドを実行すると,送信元パソコンは,あて先マシンに対してIPパケット(ICMP*パケット)を送る。このとき,tracertコマンドは,IPパケットのヘッダーに記述する生存時間(TTL:time to live)フィールドをうまく利用する。
このTTLの値は,ルーターを経由するたびに一つずつ減っていき,ゼロになるとルーターはそれ以上中継せずにパケットを破棄する。このとき,ルーターは送信元に対してエラー・メッセージ(ICMP時間超過メッセージ)を返す。
そこでtracertコマンドは,TTLの値を1から順番に増やしてIPパケットを何度も送出する。すると,途中にあるルーターが順番にエラー・メッセージを返してくる。このメッセージを受け取ることで,ルーターのIPアドレスがわかる。このようにして,tracertコマンドはあて先までの経路情報を調べているのである。