6.3.1 RIP
1.RIP的工作原理
(1)RIP的概念
路由信息协议(RIP)是一种分布式的基于距离向量的路由选择协议,它要求网络中的每一个路由器都要维护从自己到其他每一个目的网络的最短距离记录。
RIP中“距离”(也称为“跳数”)的定义为:
·从一个路由器到直接连接的网络的距离定义为1。
·从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加1。(每经过一个路由器,跳数就加1)
RIP所谓的“最短距离”指的是选择具有最少路由器的路由。RIP允许一条路径最多只能包含15个路由器。“距离”的最大值为16时即相当于不可达。
(2)路由表的建立和更新
RIP路由表中的主要信息是到某个网络的最短距离及应经过的下一跳路由器地址。
路由器在刚刚开始启动工作时,只知道到直接连接的网络的距离(此距离定义为1)。以后,每一个路由器只和相邻路由器交换并更新路由信息,交换的信息是当前本路由器所知道的全部信息,即自己的路由表(具体是到本自治系统中所有网络的最短距离,以及沿此最短路径到每个网络应经过的下一跳路由器)。路由表更新的原则是找出到达某个网络的最短距离。
网络中所有的路由器经过路由表的若干次更新后,最终都会知道到达本自治系统中任何一个网络的最短距离和哪一个路由器是下一跳路由器。
另外,为了适应网络拓扑等情况的变化,路由器应按固定的时间间隔交换路由信息(例如,每隔30秒),以及时修改更新路由表。
路由器之间是借助于传递RIP报文交换并更新路由信息,为了说明路由器之间具体是如何交换和更新路由信息的,在介绍RIP的距离向量算法之前,先介绍RIP报文格式。
2.RIP2报文格式
目前较新的RIP版本是1998年11月公布的RIP2,它已经成为Internet标准协议。RIP2报文格式如图6-8所示。
图6-8 RIP2报文格式
RIP2报文由首部和路由部分组成。
(1)RIP2报文的首部
RIP2报文的首部有4 B:命令字段占1 B,用于指出报文的意义;版本字段占1 B,指出RIP的版本;填充字段的作用是填“0”,使首部补齐4 B。
(2)RIP2报文的路由部分
RIP2报文中的路由部分由若干个路由信息组成,每个路由信息(也称为“项目”)需要20 B,用于描述到某一目的网络的一些信息。RIP规定路由信息最多可重复出现25个,每个路由信息中各部分的作用如下。
①地址族标识符(AFI,2 B)
用来标志所使用的地址协议,IP的AFI为2。
②路由标记(2 B)
路由标记填入自治系统的号码,这是考虑使RIP有可能收到本自治系统以外的路由选择信息。
③网络地址(4 B)
表示目的网络的IP地址。
④子网掩码(4 B)
表示目的网络的子网掩码。
⑤下一跳路由器地址(4 B)
表示要到达目的网络的下一跳路由器的IP地址。
⑥距离(4 B)
表示到目的网络的距离。
由图6-8可见,RIP报文使用运输层的UDP报文进行传送(使用UDP的端口520)。因此RIP的位置应当在应用层,但转发IP数据报的过程是在网络层完成的。
3.距离向量算法
设某路由器收到相邻路由器(其地址为X)的一个RIP报文:
(1)先修改此RIP报文中的所有项目:将“下一跳”字段中的地址都改为X,并将所有的“距离”字段的值加1。(这样做是为了便于进行路由表的更新)
(2)对修改后的RIP报文中的每一个项目,重复以下步骤:
(a)若项目中的目的网络不在路由表中,则将该项目加到路由表中。(表明这是新的目的网络)
(b)若项目中的目的网络在路由表中:
·若下一跳字段给出的路由器地址是同样的,则将收到的项目替换原路由表中的项目。(因为要以最新的消息为准)
(3)若3分钟还没有收到相邻路由器的更新路由表,则将此相邻路由器记为不可达的路由器,即将距离置为16(距离为16表示不可达)。
(4)返回。
以上过程可用图6-9表示。
利用上述距离向量算法,IP网中的所有路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由表。这样,每一个路由器都知道到各个目的网络的最短路由。
下面举例说明IP网的内部网关协议采用RIP时,各路由器路由表的建立、交换和更新情况。
例如,几个用路由器互连的网络结构如图6-10所示。
各路由器的初始路由表如图6-11(a)所示,表中的每一行都包括3项内容,它们从左到右分别代表:目的网络、从本路由器到目的网络的跳数(即最短距离)、下一跳路由器(“-”表示直接交付)。
收到了相邻路由器的路由信息更新后的路由表如图6-11(b)所示。下面以路由器D为例说明路由器更新的过程。
路由器D收到相邻路由器A和C的路由表。
A说:“我到网1的距离是1”,但D没有必要绕道经过路由器A到达网1,因此这一项目不变。A说:“我到网2的距离是1”,因此D现在也可以到网2,距离是2,经过A。A说:“我到网5的距离是1”,因此D现在也可以到网5,距离是2,经过A。”
图6-9 RIP的距离向量算法
图6-10 几个用路由器互连的网络结构
C说:“我到网3的距离是1”,但D没有必要绕道经过路由器C再到达网3,因此这一项目不变。C说:“我到网4的距离是1”,因此D现在也可以到网4,距离是2,经过C。C说:“我到网6的距离是1”,因此D现在也可以到网6,距离是2,经过C。
由于此网络比较简单,图6-11(b)也就是最终路由表。但当网络比较复杂时,要经过几次更新后才能得出最终路由表。
4.RIP的优缺点
RIP的优点是实现简单,开销较小。但其存在以下一些缺点:
(a)当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器,即坏消息传播得慢。
图6-11 各路由器的路由表
(b)因为RIP“距离”的最大值限制为15,所以影响了网络的规模。
(c)由于路由器之间交换的路由信息是路由器中的完整路由表,随着网络规模的扩大,开销必然会增加。
总之,RIP适合规模较小的网络。为了克服RIP的缺点,1989年开发了另一种内部网关协议——OSPF协议。