これまでに収集したものから、Tracertは3つのICMPエコーメッセージを送信することで機能します。 TTL値1から始まります。パケットが遭遇するルーターごとに、TTL値がデクリメントされます。1番目のルーターの場合、1-1 = 0 、したがって、ICMP「timeexceeded」メッセージが送信側マシンに返送されます。次に、送信側マシンによってTTL値が2にインクリメントされ、2番目のルーターに対してサイクルが繰り返されます( 2-> 1 ---> 0)など。
私の理解に欠陥がある場合は、私を訂正してください。
ICMPの「timeexceeded」メッセージが実際にはエラーメッセージであるため、コマンドプロンプトのTracertによって表示されない理由について知りたいのですが。サイクルは単純に進みます。
ありがとう。
「timeexceeded」「error」メッセージは、tracertによって、そのエラーを取り戻すのにかかったミリ秒数として表示されます。このエラーは、1番目、2番目、3番目などのルーターがパケットを受信し、そのルーターのアドレスが含まれていることを証明しているため、tracertはパケットがたどるパスを認識します。それは彼らがしないでください戻ってきたとき、あなたは*
を印刷し、そのルーターのアドレスとしてRequest timed out
を取得します。
「エラーメッセージ」(実際には礼儀情報ほどエラーではありません)は、tracert
によってstderrに送信されないため、表示されません。プログラムがデータを適切に予期して処理するときに、無関係なエラーメッセージを送信することによって、どのような値が収集される可能性があるのかわかりません。
あなたの説明の残りは正しいです。