PING命令结果中的TTL是什么?
TTL:Time-To-Live(生存时间值),该字段指定IP包被路由器丢弃之前允许通过的最大网段数量
1、正文
·TTL的作用: 每经过一个路由器,TTL值减1,当TTL值减到0时,路由器就会将这个包丢弃,这样就可以防止包在网路上无休止的传播发送
2、举例
假设现在有三台电脑,分别是Windows、Linux和Unix,其中有R1、R2、R3、R4、R5五个路由器
对于这三个系统来说,其默认的最大TTL分别如下表所示:
(TTL一般由发送数据的主机设置,本例中为“主机1”)
2.1 主机1ping主机2:
因为主机2是Linux,所以主机1设置TTL为64,主机1到主机2经过了R1,R2,R3三台路由器,所以TTL每次都减1,当数据包送至主机2时,TTL变为了61,所以在用主机1ping主机2时,结果中的TTL就是“61”
2.2 主机1ping主机3:
因为主机3是Unix,所以主机1设置TTL为255,同理,每经过一个路由器,TTL值减1,所以在用主机1ping主机3时,结果中的TTL就是“253”
3、结尾
现在再回过头来看文章开头ping www.baidu.com
的那张图
通过TTL可以粗略估计,百度使用的是Unix系统,而从我的电脑到百度则经过了64-51=13
个路由器
现在再来看百度百科对TTL的解释:
TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。
通过上面的例子,是不是更好理解啦~
(ps:一般来说,延迟越小,TTL越大,则中间所经过的路由器越少,则直连速度越快)