web-dev-qa-db-ja.com

TTLおよびtracerouteは同じドメインに対して異なる値を示しています

Tracertとpingに対して2つの異なる出力が得られるのはなぜですか?

合計ホップ数が20を示すping結果と、8を示すtracert。

Linuxマシンのデフォルトのttl値64、icmp echo replyttl値44。

64-44=20

しかし、tracertは8ホップしか表示していません。

理由は何ですか?

Tracertがttlを使用して実装されている場合、何度試しても同じドメインに対して異なる値を取得するのはなぜですか?

GoogleとGoogleサービスの場合、ttl値とtracrtは同じですが、他のドメインの場合は異なります。

1
Cray XT3

あなたがしていることは意味がなく、それが機能するとき、それは運によって機能します。 ping replyパケットの最初のTTL値が何であるかわかりません。そのパケットは、制御できないリモートマシン(pinged)によって送信されます。受信したTTL値からホップカウントを決定するには、初期のTTL値がわかりません。

outbound tracerouteパケットを作成したので、それらの最初のTTLを知っています。これが、この目的のために設計されたtracerouteで機能する理由です。 tracerouteパケットへのICMP応答で受信したTTL値を理解しようとすると、pingから得られる運によってのみ機能するのと同じ無意味な結果が得られます。

あなたが私を信じていないなら、それを試してみてください。 tracerouteを実行し、ICMP応答で受信したTTL値を確認します。 1つのホップから51が表示され、次のホップから238が表示される場合があります。これは、さまざまなデバイスが、作成する応答で異なる初期TTL値を使用するために発生します。

4
David Schwartz