以下五种方式来解决RIP的环路问题:
1,Defining a Maximum:跳数范围为1-15,设置为16为不可达。
2,Split Horizon(水平分割):从一个接口收到的路由信息不再从此接口发出。
概念
水平分割是在距离矢量路由协议中最常用的避免环路发生的解决方案之一。由于路由器可能收到它自己发送的路由信息,而这种信息是无用的,水平分割技术不反向通告任何从终端收到的路由更新信息,而只通告那些不会由于计数到无穷而清除的路由。
水平分割法的规则和原理是:
路由器从某个接口接收到的更新信息不允许再从这个接口发回去。
水平分割的优点:
1,能够阻止路由环路的产生。
2,减少路由器更新信息占用的链路带宽资源。
举例:
产生环路的一种情况是:路由器A将从路由器B学习到的路由信息又告诉给了路由器B。最终,路由器B认为通过路由器A能够到达目标网络,路由器A认为通过路由器B能够到达目标网络。路由数据包的时候,数据将在两个路由器间不停地循环,直至TTL的值为0,将此数据包丢弃。
水平分割的思想就是:
在路由信息传送过程中,不再把路由信息发送到接收到此路由信息的接口上。从而在一定程度上避免了环路的产生。
启用水平分割:ip split-horizon
禁用水平分割:no ip split-horizon
A,简单水平分割:从本接口收到的路由条目不再从本接口发出
B,毒性逆转的水平分割:是简单水平分割的加强版。从本接口收到的路由条目也会从本接口发出,但会标记为不可达。
毒性逆转(前提是关掉了水平分割):
毒性逆转(Poisoned Reverse)实际上是一种改进的水平分割。
这种方法的运作原理是:路由器从某个接口上接收到某个网段的路由后,并不是不往回发送信息了,而是发送,只不过是将这个网段的跳数设为无限大,再发送出去。收到此种的路由信息后,接收方路由器会立刻抛弃该路由,而不是等待其老化时间到(Age Out)。这样可以加速路由的收敛。
接口下命令:
Router(config-if)#no ip split-horizon
注意 :只有帧中继(FR)中的主接口(物理接口)是默认关闭水平分割的。
FR:点到点子接口
多点子接口---如果用在公司总部,建议手工关闭。
点到点串口链路以及以太网链路均默认开启水平分割。
3,Route Poisoning(路由中毒):将不可达的路由直接设成infinit(无限大)
4,Holddown Timers:所有邻居都将此路由"冻结",
如在"冻结"期内该路由恢复,继续采纳该路由
如在"冻结"期收到更好的路由,将采纳更好的路由
如在"冻结"期收到更差的路由,不采纳该路由 (180秒-240秒)
抑制计时(holddown timer):
一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新。如果,路由器从一个网段上得知一条路径失效,然后,立即在另一个网段上得知这个路由有效。这个有效的信息往往是不正确的,抑制计时避免了这个问题,而且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。
5,Triggered Updates:避免周期性更新占用带宽,只有当拓扑变化时才发送更新。
触发更新:
若网络中没有变化,则按通常的30秒间隔发送更新信息。但若有变化,路由器就立即发送其新的路由表。这个过程叫做触发更新。
触发更新可提高稳定性。每一个路由器在收到有变化的更新信息时就立即发出新的信息,这比平均的15秒要少得多。虽然触发更新可大大地改进路由选择,但它不能解决所有的路由选择问题。例如,用这种方法不能处理路由器出故障的问题。
注意 :默认RIP的触发更新功能是关闭的
命令格式:
Router(config-if)#ip rip triggered
FR:
主接口:命令报错
点到点子接口:0K
多点子接口:报错
以太网接口:不支持
注意:
12.4的IOS会自动生成Timers basic 30 180 0 240(15.x的IOS没有)
一端配置了触发更新之后,对于每一个请求都会发送并设置一个轮询计时器Poll,每个的周期为5秒,5秒内没收到确认就再发一个,发完6个还没收到,则轮询超时等待下一个普通的更新时间。触发状态从down开始,经过init和loading状态,最后full 。