环路的产生:
当A路由器一侧的X网络发生故障,则A路由器收到故障信息,并把X网络设置为不可达,等待更新周期来通知相邻的B路由器。但是,如果相邻的B路由器的更新周期先来了,则A路由器讲从B路由器那学习了到达X网络的路由,就是错误路由,因为此时的X网络已经损坏,而A路由器却在自己的路由表内增加了一条经过B路由器到达X网络的路由。然后A路由器还会继续把该错误路由通告给B路由器,B路由器更新路由表,认为到达X网络须经过A路由,然后继续通知相邻的路由器,至此路由环路形成,A路由器认为到达X网络经过B路由器,而B则认为到达X网络进过A路由器。
解决方法: 一、抑制计时
一条路由信息无效之后,一段时间内这条路由都处于抑制状态,如果,路由器从一个网段上得知一条路径失效,立即在另一个网段上得知这个路由有效,这个有效的信息往往是不正确的,抑制计时避免了这个问题,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。
二、毒性逆转
当一条路径信息变为无效之后,路由器并不立即将它从路由表中删除,而是用16,即不可达的度量值将它广播出去,这样可以立即清除相邻路由器之间的任何环路。
三、触发更新
当路由表发生变化时,更新报文立即广播给相邻的所有路由器,而不是等待30秒的更新周期,当一个路由器刚启动RIP时,它广播请求报文,收到此广播的相邻路由器立即应答一个更新报文,而不必等到下一个更新周期,网络拓扑的变化会最快地在网络上传播开,减少了路由环路产生的可能性。
四、水平分割
规定由1个接口发送出去的路由信息不能再朝这个接口往回发送.这个办法减少了路由信息的不正确性和负载。
只要通过以上的这四种方法,就可以最大程度的减少环路的发生。 |