(1)存活时间/生存时间是什么?
存活时间Time-to-live(TTL)值定义了在该数据报丢失之前,所能经历的时间,或者能够经过的最大路由数目。TTL在数据报被创建时就会被定义,而且通常在每次被发往一个路由器的时间减1.
例如: 如果一个数据包的存活时间是2,那就是说当它经过第一个路由器的时候,其TTL会被减去1,并向第二个路由发送,如果到第2个路由这是TLL时间会减去1,变为0。如果这时候数据包还没有到达目的地,则会丢弃该数据包。
(2)存活时间的作用的是啥?
假设在发送目地的过程中,会经过数十个路由器,在这个过程中,可能会碰到被配置错误的路由器,而会导致其目的地错误。在这种情况下,可能这个数据包就会一直发送,在网络中出现一个死循环,这样就会导致整个网络瘫痪等。所以当每次经过一个路由器TTL的值都会减去1,所以可以防止这个问题的出现。
(3)分析IP数据包中TTL值的变化
前面说过,如果在同一个网段传输数据,TTL的值是补变化的。如果是不同的网段TTL的值是变化 的
1. 分析同网段中TTL的值
我搭建的环境是用192.168.0.1 ping 192.168.0.2 (上图是抓包的过程)
可以看到74帧是request帧
相应的75帧就是回应报文(reply)
可以看到如果是相同的网段,TTL的值是相同的。
2. 分析不同网段TTL的值
分析不同网段的TTL,其实在第二节中分析中可以明显看见TTL的值是不同的。 在这里我通过ping新浪的官网。很明显新浪官网地址和我本地的是属于不同的网段
其中19帧是请求报文(request)而20帧是响应报文(reply)
分析19帧报文的详细信息:
分析20帧的详细信息: