对RIP协议慢收敛的理解

可以从两个角度去看待这一个问题

(1)是其所造成的循环问题

(2)会造成故障信息比正确信息传送的慢

书上说RIP协议好消息传的快,慢消息传的慢,这句话应该如何理解?

首先明白一个基本概念:收敛(convergence)

收敛所需要的时间就称为收敛时间,是指从网络拓扑发生变化到网络中所有路由器都知道这个变化的时间。慢收敛是指路由信息不一致的一种现象。

1.路由环路

产生环路的一种情况是:路由器A将从路由器B学到的路由信息又告诉了路由器B,最终路由器B认为路由器A能够到达目标网络,路由器A认为路由器B可以到达目标网络。路由数据包的时候,数据将在两个路由器之间不停的循环,直到TTL的值为0,将此数据包丢弃。

2.坏消息传的慢

RIP协议将距离定义为跳数,跳数指从源端口到目的端口所经过的路由个数,经过一个路由器跳数加1.

直连跳数是1.

以下图为例分析慢收敛的过程。

分析:在正常情况下,

R1到网络1的距离为1,R2到网络1的距离为2。

此时假设网1出故障,于是R1将自己到网络1的距离改为了16,由于RIP协议采用的是定时更新并不是触发更新,R1打算在下一个30s告诉R2这个消息,但是R2先把自己的消息告诉了R1(此处观点错误),R2说,我到R1的距离是2诶,于是R1就想,原来R2可以到网络1,于是将自己到网络1的距离改为3.

R1又把这个信息告诉R2,R2知道自己是经过R1才到达的网络1,于是R2就把自己的距离改为4,下一次又把信息告诉了R1,R1心里在想,这R2怎么回事啊?但是没办法,自己是从R2才到的网络1,距离接着增大吧,就这样最终直到两者的距离都达到了16才明白,原来网络1是不可到达的。

此处的关键就是:

(1)RIP协议定时更新并不是触发更新,正确的消息在R1的坏消息到达R2之前已经进行了传播(此处观点错误!!!

这是为什么呢?为什么正确的信息就先到达了R1?我觉得这是理解本问题的核心!!

(2)所谓慢收敛是指全局的意思,是整个系统知道网络1不可达的时间比较慢,上述的过程的确体现了这种情况

(3)距离可以互相增加的关键就在于R2是通过R1到达的网络1,而R1是通过R2到达的网络1,只有这样才能实现你增加我也增加的局面。

解决此现象的手段:水平分割:禁止路由选择协议回传路由选择信息,也就是路由器从某个接口接收到的更新信息不允许再从这个接口发回去!

在我寻寻觅觅看了几十篇文章以后,终于找到了我要的问题的答案。

核心:信息传过去了,但是被路由器推迟(CPU忙,链路拥塞)注意对路由器2,3的处理手法!和真题一个思路!

分析一道真题:

例1:source:2016年

分析:现在均已收敛,所以R3到网络的距离为1,R1,R2到该网络的距离为2.(采用RIP要路由器数少),此时R3不可到达网络,并向R2通报R1不可达,就是上述核心说的内容,此时R1并不知道网络不可达的消息,于是R2在将自己设置为不可达以后,发现R3可达,于是修改自己的跳数为3.

总结:这篇文章写得真不容易,充满了肯定-否定-肯定-否定!

猜你喜欢

转载自blog.csdn.net/weixin_42682806/article/details/84635279
今日推荐