図3 tracertコマンドの動作原理<BR>送信元パソコンは,相手のコンピュータに向けて,TTL(生存可能時間)を1から一つずつ増やしてIPパケットを送る。TTLは途中のルーターを経由するごとに1ずつ減り,0になるとルーターがエラー・メッセージを返信してくる。このエラー・メッセージを受け取ることで,途中のルーターの存在が確認できる。
図3 tracertコマンドの動作原理<BR>送信元パソコンは,相手のコンピュータに向けて,TTL(生存可能時間)を1から一つずつ増やしてIPパケットを送る。TTLは途中のルーターを経由するごとに1ずつ減り,0になるとルーターがエラー・メッセージを返信してくる。このエラー・メッセージを受け取ることで,途中のルーターの存在が確認できる。
[画像のクリックで拡大表示]

 使い方を確認したところで,簡単にtracertコマンドのしくみを確認しておこう。このコマンドの動作原理は,以下のようになる(図3[拡大表示])。

 tracertコマンドを実行すると,送信元パソコンは,あて先マシンに対してIPパケット(ICMP*パケット)を送る。このとき,tracertコマンドは,IPパケットのヘッダーに記述する生存時間(TTL:time to live)フィールドをうまく利用する。

 このTTLの値は,ルーターを経由するたびに一つずつ減っていき,ゼロになるとルーターはそれ以上中継せずにパケットを破棄する。このとき,ルーターは送信元に対してエラー・メッセージ(ICMP時間超過メッセージ)を返す。

 そこでtracertコマンドは,TTLの値を1から順番に増やしてIPパケットを何度も送出する。すると,途中にあるルーターが順番にエラー・メッセージを返してくる。このメッセージを受け取ることで,ルーターのIPアドレスがわかる。このようにして,tracertコマンドはあて先までの経路情報を調べているのである。