Linuxシステムでpingを実行しています。私のシステムの基本TTLを確認しました。
i@cloudshell:~$ sudo sysctl -a | grep ttl
net.ipv4.ip_default_ttl = 64
1.1.1.1でpingを試みましたが、すべてがうまくいきます。
i@cloudshell:~$ ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=54 time=7.75 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=54 time=7.26 ms
ただし、8.8.8.8でpingを試みると、デフォルトのTTLより大きいTTLが表示されます。
i@cloudshell:~$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=114 time=1.15 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=114 time=1.36 ms
その間にルータを考えていますが、TTLを増やすことはできますか?それは可能ですか?私が知る限り、ルータは常にTTLを増やすのではなく、減らす必要があります。
答え1
私考えるpingは、サーバーから返された応答パケットのTTLを示します。 Ping は、エコーではなく、ping するサーバーが ping 要求を読み取り、一致する応答を再送信します。これは新しいTTLを含む新しいパケットです。
デフォルトでは、ルータは各パケットのTTLを1ずつ減らし、0に達するすべてのパケットを破棄します。これがTTLのすべてです。
理論的には、ルータはTTLを増やすことができますが、実際にこれを実行できるハードウェアはありません。無限のルーティングループを作成すると、実際に問題が発生する可能性があります。
したがって、ここに表示されるのは、google DNS(8.8.8.8)とcloudflare(1.1.1.1)のTTL設定からそれらの間のルータを引いたものです。