IP协议字段之 time to live (TTL)生存时间

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chenbetter1996/article/details/80869679

用Wireshark抓取一个ping包,(最高层是ICMP协议,也是属于网络层,在IP协议之上)查看IP协议层


protocal字段表示IP协议上层协议,此为ICMP。

此外,设计TTL可以有效地防止数据包环路,有时候,拓扑过于复杂,处于疏忽,路由器Bug之类的,会不知道怎么转发数据包。会出现下面的情况


图片来自拼客学院院长手绘:http://www.pinginglab.net/open/course/explore

所以TTL很有效解决了这个问题。


另外,Linux下的traceroute hostname 和 Windows下的tracert hostname 也是发送一个ICMP 数据包来测试的,原理就是Ping。使用的就是TTL字段。



Windows的更清楚。 

原理:

对于第一个路由,IP协议的TTL字段属性设置为1,到第一个路由-1=0就回来了,因此获取到了第一跳路由信息。

对于第二个路由,TTL = 2,到第二个路由器TTL减到0,转发信息会主机,也获取了。

对于第三个路由,TTL = 3,以此类推 

。。。。


猜你喜欢

转载自blog.csdn.net/chenbetter1996/article/details/80869679