静态路由环路:[1]由路由环路来理解TTL
1、实验拓扑如下图:其中F10(防火墙)、F12(防火墙)、R2(路由器)在本案例中仅仅模拟普通的终端电脑R1、R3、R4、R5则是路由转发设备
2、使用SecureCRT软件登录到各个设备的console接口,根据拓扑图配置1)、配置各个设备的相应接口的IP参数2)、配置相关设备的静态路由F10默认路由指向R3的G0/1F12默认路由指向R5的G0/1R2默认路由指向R5的G0/0R3默认路由指向R4的G0/4R5默认路由指向R4的S0/2上面配置比较简单,不再细述。
3、R4默认路由指向R1的G0/0R4上分别配置到172.16.1.0/24、172.16.2.0/24、172.16.3.0/24的静态路由,下一跳分别指向R5的S1/1、R5的S1/1、R3的G0/0。由于172.16.1.0/24、172.16.2.0/24、172.16.3.0/24三个网段可以路由聚合,所以在R1上一般添加聚合后的静态路由172.16.0.0/16,下一跳指向R4的G0/6。在R1上分别配置到192.168.34.0/24、192.168.45.0/24的静态路由,下一跳都是R4的G0/6R4和R1的路由表如下图所示:
4、连通性测试成功:从F12 ping F10从F12 ping R1的G0/0口
5、接下来,假设R4的G0/4接口意外shutdown,则R4会自动删除到172.16.3.0/24网段的静态路由,然后在F12上ping测试到F10的连通性,结果如下图。
6、接下来,在R1上开启ip包转发的调试功能,在F12上发送一个ping数据包到F10,然后看看R1输出的调试信息,如下图:
7、总结:由于R4上已经没有到172.16.3.0/24网段的路由了,所以R4收到这个ping数据包后,通过全0的默认路由转发给R1,R1收到数据包后,通过查找路由表,又重新将数据包发送给R4,如此反复,直到TTL=0的时候,数据包被丢弃。TTL的初始值一般是56(不固定),也就是说,这个数据包在R4和R1之间被反复发送了56次,当类似的数据包特别多的时候,环路的危害性大大增加,设备负荷增加,耗费大量硬件资源,下一篇介绍如何避免静态路由环路。