RIP防环的水平分割,有时也是需要关闭的
概述
水平分隔,英文名称是split horizon,是一种环路避免机制,距离矢量协议RIP就使用它来避免环路。在RIP中,默认水平分割就是打开的,在大多数的场景下,打开水平分割都是没有问题的。不过在有些场景中,必须要关闭水平分割,网络才能正常运行。今天就列举一个必须要关闭水平分割的场景,在此之前,我们先来看一下水平分隔的基本工作原理。
水平分隔基本原理
水平分隔听起来“高大上”,像是某种高深的网络技术,但其实它很简单,一句话就能描述:一台路由从某个接口接收到路由以后,不会从该接口再发送出去。
我们以一个拓扑来阐述:
- 三台路由器都启用RIP协议;
- 路由器R1会把100.1.1.0/24这个网段的路由发送给R2;
- R2从E0/1接口收到更新,只会把这条路由从E0/2发送给R3,不会把这条路由从E0/1再发送出去。
这个工作原理看起来是不是非常简单?事实上也非常容易理解,即使R2再把路由发送给R1,R1也肯定会优选自己路由表中的100.1.1.0/24网段,丢弃R2发送的更新,所以就不需要发送了。
在大多数场景中,水平分割都是应该打开的,我们就不详细说了,我们今天要看的是“哪些场景需要关闭水平分割”。
接口双IP,水平分割要关闭
水平分割要关闭的场景有多种,我们今天就介绍其中一种比较简单和容易实现的场景:接口配置双IP地址。
拓扑
- 三台路由器都配置RIP协议,在R2上使用RIP通告100.1.1.0/24这条路由;
- R1的E0/0接口配置两个IP地址:12.1.1.1/24,13.1.1.1/24;
测试过程
- 默认情况下,水平分割是打开的,所以R1从E0/1接口收到100.1.1.0/24这条路由以后,不会再从E0/1发送出去,这时R3接收不到这条路由;
- 在R1的E0/0接口上关闭水平分割,查看R3是否能够收到100.1.1.0/24这条路由。
测试配置
R1的配置
R1配置的双IP地址,第二个IP后面要加上关键字“secondary”,否则会覆盖第一个IP的配置。
RIP的配置:通告接口E0/0上的两个IP地址;
R2的配置
R2的接口配置:E0/0配置和R1在同一个网段的IP,然后配置一个loopback接口来承载100.1.1.0/24这条路由。
在RIP中通告这两个接口IP:
R3的配置
R3的配置比较简单,只需要配置IP地址,然后在RIP中发布即可;
默认的测试结果查看
查看R1的路由表,看是否有100.1.1.0/24这条路由:
- 我们发现R1有这条路由100.0.0.0/8(RIP通告主网段);
- 并且接收接口为E0/0;
- 这是R1给R2发送的。
查看R3的路由表,发现此时没有100.1.1.0/24这条路由;
- 则说明此时R1没有把路由发送给R3;
- 这里有说明有可能是水平分割在起作用:从E0/0接口接收的路由,不会再发送出去;
- 为了进一步验证,我们还需要关闭水平分割。
在R1的E0/0接口关闭水平分割
关闭水平分割的命令比较简单,只需要在接口下做如下的配置:
我们再来查看R3的路由表:
发现已经学习到100.0.0.0/8网段的路由了,则说明关闭水平分割以后,R1会把从E0/0接收到的路由又从E0/0发送出去了!
从抓包内容里也可以看到:以R1的E0/0源IP发送的更新:
总结
各位小伙伴,看完上面的内容,应该对RIP水平分隔工作原理掌握了吧?不过在有的场景中,是需要关闭水平分隔的,不然有的路由器会学习不到路由,这样网络就不完整了!
除了上面介绍的双IP场景,各位小伙伴还能想到哪种场景需要关闭水平分割的呢?欢迎留言讨论!先说一下,我知道的至少还有2种哦!
最后给大家推荐一个思科模拟器的使用教程,学习网络必备的哦!