web-dev-qa-db-ja.com

疑わしいデフォルトの存続時間(TTL)255?

デフォルトの存続可能時間の値は255です。ipv4パケットがルーターを通過するたびに、その値は1ずつ減ります。

しかし、adslルーターにpingを実行すると、TTL= 64と表示されます

Pinging 192.168.0.1 with 32 bytes of data:
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=2ms TTL=64
Reply from 192.168.0.1: bytes=32 time=2ms TTL=64
Reply from 192.168.0.1: bytes=32 time=2ms TTL=64

Pcからルーターへのホップは1ホップだけなので、期待されるTTLは254ですが、ここでpingがTTLとして64と表示されるのはなぜですか。

助けていただければ幸いです...

8
satheesh91

pingマンページからの引用は次のとおりです。

TTLの詳細TTL IPパケットの値は、パケットが破棄される前に通過できるIPルーターの最大数を表します。現在の実務では、インターネット内の各ルーターがTTLフィールドを1つずつ。

TCP/IP仕様では、TTLフィールドを64に設定することを推奨していますが、多くのシステムではより小さい値を使用しています(4.3BSDは30、4.2BSDは15を使用しています)。

そして引用する RFC 1700:

インターネットプロトコル(IP)の現在の推奨デフォルト存続時間(TTL)は64です。

10
Teun Vink

最大値TTLは255ですが、これはデフォルトではありません。デフォルト値は こちら でわかるように、オペレーティングシステムによって異なります。

たとえば、WindowsとLinuxで127.0.0.1へのpingを確認します。

私の窓7:

Windows ping

私のLinuxマシン:

Linux ping

そのため、デフォルトが64のマシンから応答を受け取っているようです。

4
Malt

TTL値はリモートマシンによって決定されます。たとえば、Linuxマシンにpingを実行した場合、その元のTTL=値は64です。返されるために通過するネットワークの数に応じて、TTLしたがって、Googleのネームサーバーである8.8.8.8にpingすると、元の値は128になります。返された時点で、値は121になる可能性があります(私にとっては)それは私に到達するために7つのネットワークを通過し、それがWindowsマシンだったことを意味します。

共通TTL値-ルーター-255 Windows-128 Linux-Mac-64

1
dubu2