RIP
什么是RIPRIP如何交换信息?收敛距离向量算法RIP的特点:RIP协议好消息传得快,坏消息传的慢:
什么是RIP
RIP (Routing Information Protocol),为最早出现的距离向量路由协议。属于网络层,其主要应用规模较小,可靠性要求较低的网络,可以通过不断的交换信息让路由器动态的适应网络连接的变化,这些信息包括每个路由器可以到达那些网络,这些网络有多远等。RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录,如:
3.代价(距离):通常为“跳数”,即从源端口到目的的端口所经过的路由器个数,经过一个路由器跳数+1,。特别的,从一路由器到直接连接的网络距离为1.RIP允许一条路由最多智能包含15个路由器,因此距离为16表示网络不可到达。
RIP如何交换信息?
仅仅只和相邻路由器交换信息路由器交换的信息是自己的路由表(如图二路由表):类似于人与人的交流 3.每30秒交换一次路由信息,然后路由器根据新信息更新路由表。若超过180s没收到邻居路由器的通告,则判断邻居没了,并跟新自己路由表。 因此,路由器在刚开始工作时,只知道直接连接的网络的距离,接着每个路 由器也只有数目非常有限的相邻路由器交换并跟新路由信息。
收敛
定义:经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址。 个人理解:感觉有点像区块链,但是不同的是,区块链式广播式传递信息,二RIP仅仅只是相邻的路由器传递自己本身知道的所有信息。
距离向量算法
修改相邻路由器发来的RIP报文中的所有表项: 例如: 对于地址为x的相邻路由器发来的RIP报文,修改次报文中所有项目:把“下一跳”字段中的地址改为x,并把所有的“距离”字段+1。
对于修改后的RIP报文中的每一个项目,进行一下步骤:
R1路由表中若没有Net3,则把该项目填入R1路由表R1路由表中若有Net3,则查看下一跳路由器地址: 若下一跳是x,则用收到的项目替换源路由表中的项目; 若下一跳不是x,则比较然后选择距离最小。 若180还没有收到相邻路由器x的跟新路由表,则把x记为不可到达的路由器,即把距离设为16
然后不断相隔30s,进行跟新循环。
如果还是不好理解的话。看看下这道王道上出的例题:
已知路由器R6的路由表,现收到相邻路由器R4发来的路由跟新信息,试跟新路由器R6的路由表? 答案:
RIP的特点:
RIP协议好消息传得快,坏消息传的慢:
当网络出现故障时,要经过较长的时间才能将此信息传送到所有的路由器,“慢收敛”。 当出现坏消息时,比如网1出现了故障:
这个时候R1是知道是无法到达的,则其到网1的距离为16,并且为直接交付。但是R2在收到R1报文之前,即在R2并不知道R1出故障时,发送了原来的报文,1 2 R1。于是,R1收到R2跟新报文后,误以为可以经过R2到网1,于是更新自己的路由表,1 3 R2,并且将次更新信息发送给R2.然后R2以后又跟新自己的路由表为1 4 R1, 30s后,又把这个信息发送给R1. …………………… 然后就这样一直循环 一直到知道了距离等于16为止,这个时候才知道,噢噢噢噢原来,如此原来,是不可以达到呀。
勉励 打卡第十天,加油ヾ(◍°∇°◍)ノ゙
申明:其中的图片一部分来自本校的计算机网络韩老师的PPT,一部分来自王道。 原创总结不易!!! 如果觉得我的文章对你有所帮助与启发,点赞给我个鼓励吧(づ ̄3 ̄)づ╭❤~ 关注我和我一起共勉加油吧! 如果文章有错误,还望不吝指教!