关于ip wireshark实验中,ICMP报文返回的ttl值为什么是不变的解释
wireshark的报文界面
可以看到,IP为172.20.0.1的路由器返回的ttl值是64,如果多观察几次该路由器返回的报文,会发现所有的ttl值都是64
ttl值的产生原理
TCP/IP中的TTL这篇文章中提到,ICMP回显的报文中的ttl生成是根据主机上的系统和一些配置来决定的。比如:UNIX 及类 UNIX操作系统 ICMP 回显应答的 TTL 字段值为 255,Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64。所以ttl可以用于识别发送该报文的系统是哪一类。
wireshark中的一些细节
我们知道,发送ICMP探寻报文可以获取从源主机到目的主机上所有路由的信息。这是通过将ttl设置为从1开始递增的值,接收中间路由器返回的超时信息来获取的。所以,从ttl值为64,我们可以看出,这个报文经过一次转发就到达了我们的主机,并且到达我们的主机后,我们的主机没有对该报文再次将ttl减一,而是直接将报文拿给我们。