实际上是一种改进的水平分割,当路由器从某个接口上接收到某个网段的路由信息后,并不是不往回发送信息了,而是将这个网段的跳数(距离)设为无限大,再发送出去。收到此种的路由信息后,接收方路由会立即抛弃该路由,而不是等到其老化时间到。
简单来说,逆转指的是对水平分割而言,原来是不发送,现在是发送。但是发送的是距离为 16 的信息,这样就表明该网络不可达,所以叫毒。
这里可以做一个实验,利用关闭水平分割,手动造成成环现象。
# 关闭 R1 e 0/0 接口的水平分割 R1(config-if)#no ip split-horizon # 关闭 R2 e 0/0 接口的水平分割 R2(config-if)#no ip split-horizon # 设置 R2 的 e0/0 为被动,禁止发送协议报文 R2(config-router)# passive-interface e 0/0 # 关闭 R2 的 loopback 0 口 # 设置 R2 的 e0/0 为主动 R2(config-router)#no passive-interface e 0/0这时我们可以利用 show ip route 来观察,会发现 R1 和 R2 的跳数一直都会增加,增加到 16,全都消失
原因:
由于把 R2 的端口设置成被动,R1 收不到 R2 关闭了 lo 0 的消息。而且 R1,R2 的水平分割都已经被关闭。
这时 R2 会收到来自 R1 的它到 2.2.2.0 网络的跳数是 1,所以到 2.2.2.0 网络的跳数是 2。
由于 R2 已经无法通过直连到达 2.2.2.2。所以会更新自己的跳数。之后 R2 又会给 R1 发送到 2.2.2.2 的跳数是 2。
由于 R1 本身到 2.2.2.2 网络就是通过 R2,所以会更新自己的路由表跳数为 3。就这样以此类推直到到 16 结束。