RIP协议详解

RIP协议详解

RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。RIP协议基于距离矢量算法(Bellham-Ford)(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离。

RIP应用于OSI网络七层模型的应用层,使用UDP 520端口。在实际中已经很少使用,其最大优点就是简单。
RIP协议详解_第1张图片

报文格式

RIP协议详解_第2张图片

工作过程

RIP使用request和response这两种报文来交互信息。
(1)路由器启动时,RIP协议在接口上发送request报文,等待相邻路由器的request和response,并予以应答,当收到response时,利用距离矢量算法进行路由更新。
(2)路由器周期性发送response,定期通告本地路由信息给邻居路由器。
(3)一个路由器路由信息发生变化,会主动发送response给邻居路由器(使用触发更新)。

工作原理

每一个路由器都会维护一个路由表,路由表中每一项是自己到其他路由器的距离,距离即为跳数,每经过一个路由器跳数加1,RIP规定一个路由最多保存15个路由器,所以距离(metric)只能在0-16之内,16表示无限长既不可达,所以RIP只适合使用于小型网络中,大型网络多使用OSPF。

路由器只会和相邻路由器交换自己的路由表,路由表中通常包含:目的网络,距离,下一跳路由器。它们之间每隔30s就会交换一次,然后根据接收的路由表来判断是否要更新自己的路由表,若180s没有接收到交换信息,那么就判定这个相邻路由器不可达,并在路由表中将距离置为16。

经过n次的路由表交换后,每个路由器都知道自己到达当前AS内任意一个路由器的最短距离和下一跳,这个过程就叫做收敛。

三个定时器

  1. 更新定时器:路由器每隔30s就会发送更新信息。为了防止同一时间所以的路由器发送,添加了5s的偏移,在[25,35]之间取值。
  2. 过期定时器:在180s没有收到该路由项的任何信息,就将其设为不可达。
  3. 刷新定时器:一条记录失效后不会立即删除,而是等待指定时间后删除。

路由表更新

收到其他路由器发来的RIP报文后,执行以下步骤:

  1. 若路由表中没有对应的目的网络表项,就直接将此表项填入到路由表中。
  2. 将所有路由项都先加一,若路由表中存在对应的目的网络表项,同时下一跳相同,直接将路由表中的更新(网络可能会改变,应该使用最新的)。下一跳不相同,就会和路由器中的距离进行比较,若大于路由表中的则不做处理,若小于就执行更新。
  3. 若180s还没有收到邻居路由器的路由表,就将这个邻居路由表的距离设为16,不可达。

每隔30s就会循环这个步骤。若使用触发更新,既当跳数发送变化时,路由器就会发送response更新信息,这样可以加快收敛速度。

RIP缺点

好消息快,坏消息慢(慢收敛)
RIP协议详解_第3张图片
当网1出故障后,R1将其置为16,如果在最坏情况下可能要等到35秒才会将从这个坏消息发出,而在这个时间内,R2可能刚好发送之前正常情况时的路由,这时R1会误以为R2能够到达,于是就将距离加一后更新入路由表,这样R2收到时就也会误以为R1可以到达,这样一直循环直到跳数达到16时,才发现这个坏消息。
其他
● 由于每个路由器要将自己整个路由表发送给所有相邻路由器,路由信息量大,占较大的网络开销。
● 存在路由同步,算法收敛速度慢,容易引发更新不一致。
● 可扩展性不好,只能适用于小规模网络,一条路由上最多15个路由器。
● 可产生路由环路,为避免路由环路需要特殊处理,如水平分割法,触发更新法等。

你可能感兴趣的:(网络,路由器,计算机网络)