- 当我们一台能连通网络的计算机上,打开cmd,执行这样一条语句“ping www.baidu.com”时,会出现以下界面。在这个界面中,可以看到主机与百度服务器的网络连通性。其中在往返行程的传送时间后面,有一个TTL值,这是什么呢?今天就来简单认识一下TTL——生存时间。
- 为了避免IP数据包在传输过程中陷入死循环或者是无休止地投递下去,就会存在一个寿命计数器,也就是TTL,每当IP数据包经过一个路由器被处理之后,计数器就会减一,如果在传送到目标IP之前,TTL的值变为0,则此数据包就会被丢弃。
- 以上说法不难理解。因为IP包所经过的网络路径是比较复杂的,有时候存在环路,如果数据包迟迟传送不到目标或者是陷入死循环,对资源是一种损耗。所以需要设置一个值,来反映一个IP数据包是否被正常传送。
- 一般来说,操作系统都会为TTL设置一个默认值,不同的操作系统TTL值会有所差异。windows操作系统的TTL值默认为64,而linux操作系统的值默认为128。通过TTL值我们可以大致看出IP数据包经过了多少路由器,但是这个数不一定准确,因为TTL值还会受到带宽等条件的约束。
- 可以发现,当我们ping某一个IP时,四个数据包的TTL值没有什么差异,这说明此时的网络比较稳定,路径都是经过最优选择算法定下来了的。