目标:理解RIP抑制计时器

测试环境:如图1所示:


wKiom1j4eWWzDEH5AAB7FcwosgA662.png

                                       1 测试环境


环境说明:R1上有一个192.168.1.0/24的网络,R1R2R3之间运行RIP协议,R2R3通过R1到达192.168.1.0网络。

测试目标:首先需要关闭R1E1/0端口,然后通过调整R2RIP计时器的参数来使得R2到达192.168.1.0网络的下一跳是R3

RIP计时器:思科路由器对RIP定义了4个计时器,分别是更新计时器、无效计时器、抑制计时器、刷新计时器。其中抑制计时器或许是最难理解的。书中对抑制计时器的定义是,在网络设备收到触发更新的正确公告的同时,也可能伴随着还处于错误状态的周期性更新,当收到的触发更新路由的度量值比原有路由要高时,思科路由器将使用抑制计时器使该更新消息处于挂起状态,对它保持怀疑,直到抑制计时器超时才正式接受该路由。下面通过测试实验取证计时器的效果。


测试步骤:

第一步:首先在R1R2R3上完成基础配置,运行RIP路由协议。完成配置后查看R2的路由表如图2所示:

wKiom1j4eh3jdnDvAAB2G-5PWnU691.png-wh_50

                                   2R2路由表(R3的也一样)

    R2R3到达192.168.1.0网络都通过R1,这没什么好说的,接下来要让R2通过R3到达192.168.1.0网络。


第二步:要让R2通过R3到达192.168.1.0网络,首先R3必须要能公告192.168.1.0网络 给R2,告诉R2可以通过我到达192.168.1.0网络。但是默认情况下R3是不会公告192.168.1.0网络的,因为R3E1/0的端口默认开启了水平分割功能。R3从自己的E1/0端口学到R1公告的192.168.1.0网络,就不会在把该网络从E1/0端口公告出去,为了让R3能够公告该网络,需要在R3的E1/0端口上关闭水平分割功能。关闭水平分割后的效果如图3所示:

wKiom1j4etmwgyFTAAC65PS_D18132.png

                                             3

                                                                    关闭水平分割指令:R3(config-if)#no ip split-horizon

    关闭水平分割后R3将会公告192.168.1.0网络,R3公告该网络的度量值是2R1公告该网络的度量值是1,此时R2还是会选择通过R1来到达192.168.1.0网络。如果关闭R1E1/0端口,R1将不会公告192.168.1.0网络了。这个时候RIP的无效计时器就很有用了,无效计时器默认是180s,也就是说R2R3如果在180秒内不能收到R1发送的更新消息时,就把通过R1到达192.168.1.0网络的路由条目标记为失效。在这180秒内,R3还是会公告192.168.1.0网络给R2,由于R2路由表中度量值更优的路由并没有超过无效计时器的时间,R2不会将R3公告的路由放入路由表中,即便超过了180秒也没有用,因为R3的无效计时器也超时了。下面进一步调整R2RIP的计时器。


第三步: 先把R1E1/0端口重新开启,保证R2R3RIP计时器复位。现在将R2的无效计时器设置为35s,抑制计时器保持默认的180s,再次关闭R1E1/0端口,看看R2是否会在35秒后就将R1公告的路由条目标记为失效,从而接受R3公告的路由(R34个计时器保持默认)。测试结果是R2确实在35秒后就把R1公告的路由标记为无效,但是R2并没有将R3公告的路由放到路由表里,这就是R2的抑制计时器在作怪了。当R2收到更新路由(R3)的度量值(2)比原有的失效路由(R1)要高时,R2将使用抑制计时器使该更新消息处于挂起状态,对它保持怀疑,直到抑制计时器超时才正式接受该路由。也就是说R2还要等待抑制计时器的180s超时后才会接受R3的路由更新,180秒后R3的无效计时器也超时了,R3将不会发送192.168.1.0网络的更新消息。


第四步: R24个计时器设置为30.35.35.180,也就是把无效计时器和抑制计时器都设置为35秒,再次观察测试结果,这一次R2在无效计时器超时后很快就学到了R3公告的192.168.1.0网络,度量值是2跳。如图4所示:

wKiom1j4e-TASDu2AACRUyrHqow872.png-wh_50

                                           4

                                         设置RIP计时器的指令:R2(config-router)#timersbasic 30 35 35 180

     此时在R2ping 192.168.1.1会收到R3回复的ICMP重定向消息,如图5所示:

wKiom1j4fFTRZZTKAABcWSo9lTY278.png

                                图5 R3发给R2的重定向消息


总结:该实验关键在于对RIP计时器的理解,特别是抑制计时器的理解,书中对抑制计时器有一段挺有趣的描述:设置该计时器时一定要小心,如果将该计时器的时间设置得过长,那么正确的路由更新会受到影响,收敛速度会变慢,如果将该计时器的时间设置得过短,那么又失去了原有的意义。在这个实验当中,原有的意义是让R2不要相信R3公告的错误的路由(因为R1E1/0端口关闭了,192.168.1.0网络已经不可达了),这个实验里R2的抑制计时器设置的时间短了,那就失去了原有的意义了。