web-dev-qa-db-ja.com

Tracerouteの仕組みを理解する

これまでに収集したものから、Tracertは3つのICMPエコーメッセージを送信することで機能します。 TTL値1から始まります。パケットが遭遇するルーターごとに、TTL値がデクリメントされます。1番目のルーターの場合、1-1 = 0 、したがって、ICMP「timeexceeded」メッセージが送信側マシンに返送されます。次に、送信側マシンによってTTL値が2にインクリメントされ、2番目のルーターに対してサイクルが繰り返されます( 2-> 1 ---> 0)など。

私の理解に欠陥がある場合は、私を訂正してください。

ICMPの「timeexceeded」メッセージが実際にはエラーメッセージであるため、コマンドプロンプトのTracertによって表示されない理由について知りたいのですが。サイクルは単純に進みます。

ありがとう。

2
iridescent

「timeexceeded」「error」メッセージは、tracertによって、そのエラーを取り戻すのにかかったミリ秒数として表示されます。このエラーは、1番目、2番目、3番目などのルーターがパケットを受信し、そのルーターのアドレスが含まれていることを証明しているため、tracertはパケットがたどるパスを認識します。それは彼らがしないでください戻ってきたとき、あなたは*を印刷し、そのルーターのアドレスとしてRequest timed outを取得します。

1
DerfK

「エラーメッセージ」(実際には礼儀情報ほどエラーではありません)は、tracertによってstderrに送信されないため、表示されません。プログラムがデータを適切に予期して処理するときに、無関係なエラーメッセージを送信することによって、どのような値が収集される可能性があるのか​​わかりません。

あなたの説明の残りは正しいです。

2
Chris S