🔥什么是RIP协议?
RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大的优点是简单。 RIP协议要求网络中每一个路由器都维护从它自己到其他每一个路由网络的唯一最佳记录(即一组距离)最短的,经过跳数最短的。 距离:通常为“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数加1.特别的,从一路由器到直接连接的网络距离为1.RIP允许一条路由最多只能包含15个路由器,因此如果距离为16则表示网络不可达。距离可以从1-16.(不能为16) RIP协议只适用于小互联网。 和哪些路由器交换信息?在什么时候交换信息?交换什么信息?
❓❓❓RIP协议和谁交换?多久交换一次?交换什么?
1.仅和相邻路由器交换信息。不相邻的路由器不交换信息。 2.路由器交换的信息是自己的路由表。当前本路由器所知道的全部信息。 3.每30秒交换一次路由信息,然后路由器根据新信息更新路由表。若超过180s没收到邻居路由器的通告,则判定邻居没了,链路出了问题,或者说路由器出了问题,并更新自己的路由表。 这里需要强调的是,路由器刚开始工作的时候,它的路由表是空的,只知道直接连接的网络的距离(距离为1),接着每一个路由器也只和数目数目非常有限的相邻的路由器交换并更新路由信息。但经过若干次的更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳的路由器地址。即“收敛”。 路由表中最重要的信息是最短距离。
🔥距离向量算法
1.修改相邻路由器发来的RIP报文中所有表项,对地址为X的相邻路由器发来的RIP报文,修改此报文中的所有项目:把下一跳字段中的地址改为X,并把所有的“距离”字段+1。 假设从位于地址X的相邻路由器发来的RIP报文的某一个项目是:“Net2,3,Y”,意思是“我经过路由器Y到网络Net2的距离为3”,那么由本路由器就可以推断出:“我经过X到网络Net2的距离为3+1=4”.则,修改为Net2,4,X。 2.对修改后的RIP报文中的每一个项目,进行以下步骤: ①如果说原来的路由表中没有目的网络Net,则把该项目添加到路由表中。 表明这是新的目的网络,应当加入到路由表中,例如,本路由器中没有到目的网络Net2的路由,那么在路由表中就要加入新的项目“Net2,4,X”。 否则(即在路由表中有目的网络Net,这时就再查看下一跳路由地址) ②若下一跳路由地址是X,则把收到的项目替换原路由表中的项目。【因为这是最新的消息,要以最新的消息为准,不管原来的项目是什么,现在都要替换成现在的消息】 否则(到目的网络Net,但是下一跳路由器不是X) ③若收到的项目中的距离d小于路由表中的距离,则进行更新。(例如,若路由表中已有项目“Net2,5,P”,就要更新为“Net,4,X”,因为到网络Net2的距离原来是5,现在减到4,更短了。)否则什么也不做。【若距离更大了,显然不应该更新。如果距离不变,更新意义不大也就没必要去更新了】 3.如果3分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器,即把距离置为16。 4.返回