RIP路由协议的理解
@(计算机网络)
距离向量算法,实际中较少使用。
- 默认,RIP使用简单的度量:通往目的站点所需经过的链路数。取值为1~15,数值16表示无穷大。
- 使用UDP的520端口发送和接收RIP分组。
- RIP 每隔30秒以广播形式发送一次路由信息,在邻居之间互传。
- 防止广播风暴:后续分组做随机延时后发送。
- 如果一个路由在180s内未被更新,相应的距离设置为无穷大:16,并从路由表中删除该表项。
- RIP分组分为:
- 请求分组
- 响应分组
上面的是基础储备。
路由收敛很慢如何理解?
收敛过程的详细理解,是非常必要的。
直连跳数是1.

初始时R1到C网络的跳数是1,路由表中就记录着1,R2经过R1再到C共两跳,因此记录跳数是2.
现在:

R1到C的路径被剪断了,R1可以感受到,于是在自己的路由表中更新为16,表示”无穷大”,不可达。
这是个坏消息,坏消息传得慢。现在看如何慢。
R1准备在下一个30秒内告诉R2这个坏消息,但是R2先把自己的所有信息都告诉了R1,R1一看咦?R2到C的跳数是2,我到R2就一跳,现在虽然我不能直接到C了,那么绕道R2不就可以了吗?说干就干,于是把自己到C的跳数改为3.好了,真相被谎言掩盖了。开始了二者之间的互捧臭脚时间。
R1向R2这个好基友坦白所有的信息,R2看到R1到C的距离变为3了,R2知道自己是经过R1才到达的C,于是毫不犹豫的改为4.下一次再把全部信息告诉R1,R1收到一看,咋回事啊,怎么又加一跳了呢!R2那边发生了什么?但是还是得根据规则,毫不犹豫的修改到C的距离跳数。就这样不断增加,直到都为16,才恍然大悟,原来大家都到不了了啊。
就是这样的更新过程。理论掌握到这个程度就可以解绝大部分题了。
比如:

(2016.37)假设R1,R2,R3采用RIP协议交换路由信息,且均已收敛。若R3检测到网络201.1.2.0/25不可达,并向R2通告一次新的距离向量,则R2更新后,其到达该网络的距离是:B
update :
需要更新的是这道题的详细解法。上面提到的坏消息传得慢和这里的情况并不完全对应。也即,上面设定的情景中,是一个路由器知道坏事发生了,但是还没来得及告诉邻居,于是开始不断的增长跳数,直到为16时才明白不可达。这里的题干说的是R3先向R2通告了自己的新的距离路由向量,所以R2知道通过R3这里不可达。但是不要忽视了R1,已经收敛的情况下,R1到该网络的距离是2。题干设定是R3告诉了R2,但是没说告诉了R1,那么当R2更新时,通过R1知道到达网络的距离向量是3.即R2到R1距离为1,R2到网络距离为2,那么综合为3.往后,当R3告诉R1后,才会开启新的一波距离向量增长的过程。这里牵涉到三个路由,需要特别注意。
update:
思考一个相对难点的题目:

分析:这个题目不必动手把数据都标到图上,没有必要。且全部标上,会让问题更加复杂。因此,我们直接推算即可。首先要明确的是C自己实际测算的结果就是最小的值,明确了这一点,直接选出B即可。
选个最小的,于是为11;
C到B:实际测的是6,就是6。
C到D,实际测的是3,就为3.
C到E,实际测得是5,就为5;
取最小的8.
于是选择B为最终答案。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212251.html原文链接:https://javaforall.net
