概述

我们说到广播风暴,通常都是指交换机因为环路而产生的二层广播风暴,很少听说在三层网络中也有广播风暴的。其实三层网络也有环路,也有风暴存在,只是我们很少见到。因为三层网络中自带一个二层网络没有的防环利器:TTL,它减低了风暴的影响,所以我们平常感觉不到三层风暴的存在。今天我们就有意构造一个环路,来验证一个TTL的防环功能,让大家感受一下。不过再此之前,我们先普及一下TTL的基本工作原理。

TTL原理

TTL全称是Time to Live,它是IPv4报文头中一个非常重要的字段,用来表示报文可以在三层网络中转发的跳数,如下图所示:

ipttl值默认多少(天生的防环利器)(1)

IPv4报文头部

TTL总共8bits,所以值范围是0~256。

初始PC发送报文时,会将TTL设置为一个初始值,报文每经过一个路由器,TTL的值就会减1,当路由器收到一个TTL值为1的报文以后,就会直接丢包报文,不做转发了!

ipttl值默认多少(天生的防环利器)(2)

TTL值减1

初始值的设置取决于操作系统的实现,不同的操作系统TTL值可能不一样,例如UNIX为255、Win NT/2000为128、Linux为64、Win7/10为64。

TTL值测试

拓扑

ipttl值默认多少(天生的防环利器)(3)

拓扑

测试配置

R1的配置:添加静态路由,把目的为20.1.1.0/24的报文,指向R2的接口IP;

ipttl值默认多少(天生的防环利器)(4)

R1配置的静态路由和路由表

R2的配置:添加静态路由,把目的为20.1.1.0/24的报文,指向R3的接口IP;

ipttl值默认多少(天生的防环利器)(5)

R2配置的静态路由和路由表

R3的配置:添加静态路由,把目的为20.1.1.0/24的报文,指向R1的接口IP;

ipttl值默认多少(天生的防环利器)(6)

R3配置的静态路由和路由表

现象查看

第一步:PC发送报文的TTL是64,当经过R1以后,会减去1,变为63;

ipttl值默认多少(天生的防环利器)(7)

TTL值为63

第二步:经过R2,R3以后,各减去1,再次到R1以后,发送出去的报文TTL为60;

ipttl值默认多少(天生的防环利器)(8)

TTL值为60

第三步:报文一直循环,不停的减1,R1最后一次发送出去的报文TTL为3;

ipttl值默认多少(天生的防环利器)(9)

TTL值为60

第四步:当R1收到R3发送的TTL值为1的报文以后,就不会发送出去了;

ipttl值默认多少(天生的防环利器)(10)

TTL值为1

第五步:每台设备只需要处理很少的报文,环路就自动的终结,对网络的带宽影响较小。

ipttl值默认多少(天生的防环利器)(11)

R1和R3接口之间的抓包

总结

经过上面的实验,各位小伙伴对TTL的功能有所了解吧?这个例子就是使用静态路由,使网络形成一个环路,然后验证TTL功能。虽然说TTL也能防环,但是在工作中这种情况是要避免的哦,不能有意的配置环路,不然你们公司老大会找你麻烦的:)

最后,做一个简单的总结:

各位小伙伴如果还有疑问,欢迎留言讨论。也非常欢迎关注我的头条号,一起探讨网络原理!

,