❶ IP 数据包报头中的 TTL 字段有什么作用
TTL值对我们在进行网络故障分析时能起到很关键的作用。
TTL(time to live),即生存时间,该字段表示一个IP数据报能够经过的最大的路由器跳数,TTL字段是由IP数据报发送端初始设置的。
每个处理该数据报的路由器都需要将其 TTL值减1,即当一个IP数据报每经过一个路由时,其TTL值会减1,当路由器收到一个TTL值为0的数据报时,路由器会将其丢弃。因此,TTL字段的目的是就是为了防止1个IP数据报网络中循环的流动。
例如,当路由器的路由表配置错误或网络设备接线错误是,则可能会造成网络环路,在这种情况下,路由器可能根据其路由表将该数据报一直循环转发下去,导致IP数据报一直在网络中发送。
因此,就需要一种机制来给这些循环传递的数据报上加上一个生存上限,以保证数据报不会无休止的发送,TTL字段正是用于实现这种机制的一种手段。下图为科来网络分析系统对IP数据报的解码:
当我们在分析数据报的过程中如果发现TTL=1的IP数据包或者在科来网络分析系统的诊断下看到IP数据报生存周期太短的事件(组播数据报除外)时,我们就应该怀疑网络中是否存在环路了。
对于网络环路的分析,我们还应该结合报头中的标识字段来查找,如果发现数据报的标识符都相同,并且TTL值一直在递减,那么说明网络中一定存在环路的故障,这时,就应该检查网络设备是否出现有接错线或者路由配置出现问题。