RIP协议

RIP的工作原理

RIP(Routing Information Protocol)是一种内部网关协议(IGP),其中文名是路由信息协议。RIP是一种分布式基于距离向量的路由选择协议。

RIP协议要求网络中的每一个路由器都要维护从它自己到其他所有目的网络的距离记录,即距离向量。这里的“距离”的含义是:从当前路由器目的路由器的路径中所经过的路由器的数量加1。因此,RIP协议的“距离”又称"跳数"(hop count),因为每经过一个路由器,跳数加一。RIP协议认为最好路由路径就是它通过的路由器的数目是最少的。

RIP允许一条路径最多包含15个路由器。因此“距离”大于等于16便相当于不可达。可见RIP协议只适用于小型网络。

RIP协议的特点

  1. 仅与相邻的路由器交换信息(和谁交换信息?);

  2. 路由器之间交换的是自己的路由表(交换什么信息?);

  3. 按固定的时间间隔交换信息(什么时候交换信息?)。

RIP路由表中的主要信息是:到达某个网络的距离与下一跳地址。如下图所示:

距离向量算法

对于每一个相邻路由器发送过来的RIP报文,进行如下操作:

(1) 对相邻路由器B发过来的RIP报文,修改该报文(X的路由表)中的所有表项。将“下一跳”字段中的地址都改为B,并把所有“距离”字段的值加1。

该步操作如下图所示:

(2) 对修改后的RIP报文中的每一项,进行如下步骤:

① 若本路由器的路由表中没有目的网络N,则把该项添加到路由表中;

② 否则,若网络N的下一跳地址为B,则用该表项替代(因为路由信息更新了);

③ 如网络N的下一跳地址不为B,则将本路由器中网络N表项的距离D与该表项的距离d比较,若(d<D),则用改表项替代(发现了更短的路径);

④ 否则,什么都不做。

(3) 若超过3分钟还未收到相邻路由器的路由表,则将此路由器标记未不可达,即将距离设置为16。

距离向量算法的基础是Bellman-Ford算法,其要点是:设X是节点A到B的最短路径上的一个节点。若将路径(A ightarrow B)拆称两端路径(A ightarrow X)(X ightarrow B),则每段路径(A ightarrow X)(X ightarrow B)都分别是节点A到X和节点X到B的最短路径。

RIP协议让一个自治系统(一个网络)中的所有路由器都与相邻的路由器定期交换路由信息,并不断更新其路由表,使得每一个路由器到每一个目的网络的路由都是最短的。


RIP报文格式

RIP报文示意图

RIP报文中的字段

字段 描述
命令(Command) 指出了报文的意义
版本(Version) 指出RIP的版本
必为0 为了4字节对齐,填充0
地址族标识符(Address Family) 标志所使用的地址协议
路由标记 指出自治系统号
网络地址 目的地址
子网掩码 如名所示
下一跳路由器 如名所示
距离 从当前路由器到达目的路由器的距离

仿真模拟抓取RIP报文

使用ENSP仿真:

使用wireshark抓包得:


好消息传得快,坏消息传得慢

RIP存在一个问题:当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。

何以见得?举个例子,现在有三个网络(N_1,N_2,N_3),使用两个路由器(R_1,R_2)相连接,如下图所示:

现在网络(N1)出现故障,导致R1无法到达网络(N_1),如下图所示:

于是乎,路由器(R_1)将到网络(N_1)的距离改为16(即不可达)。存在着这样一种情况,(R1)可能要经过30秒后才把更新信息发送给(R_2)。而(R_2)可能已经先把自己的路由表发送给了(R_1),其中有“(N_1),2,(R_1)”这一项。(R_1)收到报文后,误以为可经过(R_2)到达网络(N_1),于是将收到的“(N_1),2,(R_1)”改为“(N_1),3,(R_2)”并放入自己的路由表。然后(R_1)又把更新的信息发送给(R_2),结果(R_1)(R_2)相互以为对方能够到达(N_1),便一直如此更新彼此的路由表,最后直到该表项的距离字段到达16才停止。这就是“好消息传得快,坏消息传得慢”的含义。


总结

RIP的优点

实现简单,开销较小。

RIP的缺点

  1. RIP限制了网络的规模,因为它能使用的最大距离为16;
  2. 使用RIP的路由器交换的是完整的路由表,因而随着网络规模的扩大,开销也随之增加;
  3. “坏消息传得慢”这个特点,使得更新过程收敛时间过长。

因此对于规模较大的协议,不宜使用RIP协议,而应使用OSPF协议。目前在规模较小的网络中,使用RIP协议的仍然占多数。

CS专业在读,热爱编程。
专业之外,喜欢阅读,尤爱哲学、金庸、马尔克斯。
原文地址:https://www.cnblogs.com/jmhwsrr/p/14103681.html