计算机网络-网络层-内部网关协议RIP

如题所述

第1个回答  2022-07-10
RIP (Routing Information Protocol))是内部网关协议IGP中最先得到广泛使用的协议,它的中文名称叫做 路由信息协议 ,但很少被使用。RIP是一种分布式的基于距离向量的路由选择协议,是互联网的标准协议,其最大优点就是简单。

RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(因此,这是一组距离,即“距离向量”)。RIP协议将“ 距离 ”定义如下:从一路由器到直接连接的网络的距离定义为1。从一路由器到非直接连接的网络的距离定义为所经过的路由器数加1。“加1”是因为到达目的网络后就进行直接交付,而到直接连接的网络的距离已经定义为1。例如路由器R1到网1或网2的距离都是1(直接连接),而到网3的距离是2,到网4的距离是3。

RIP协议的“距离”也称为“跳数”(hop count)吧,因为每经过一个路由器,跳数就加1。RP认为好的路由就是它通过的路由器的数目少,即“距离短”, RIP允许一条路径最多只能包含15个路由器 。因此“距离”等于16时即相当于不可达,可见RIP只适用于小型互联网。

"需要注意的是,到直接连接的网络的距离也可定义为0(采用这种定义的理由是:路由器在和直接连接在该网络上的主机通信时,不需要经过另外的路由器。既然每经过一个路由器要将距高加1,那么不再经过路由器的距离就应当为0)。但两种不同的定义对实现RIP协议并无影响,因为重要的是要找出最短距离,将所有的距离都加1或都减1,对迭择最佳路由其实是一样的。"

RIP不能在两个网格之间同时使用多条路由 ,RIP选择一条具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时廷)但路由器较多的路由。

RIP协议和OSPF协议,都是分布式路由选择协议。 它们的共同特点就是每一个路由器都要不新地和其他一些路由器交换路由信息。我们一定要弄清以下三个要点,即和哪些路由器交换信息?交换什么信息?在什么时候交换信息?

RIP协议的特点是:

(1) 仅和相邻路由器交换信息 。如果两个路由器之间的通信不需要经过另一个路由器,那么这两个路由器就是相邻的。RIP协议规定,不相邻的路由器不交换信息。

(2) 路由器交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表。 也就是说,交换的信息是:“我到本自治系统中所有网络的(最短)距离,以及到每个网络应经过的下一跳路由器”。

(3) 按因定的时间间隔交换路由信息 ,例如,母隔30秒。然后路由器根据收到的路由信息更新路由表。当网路拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。

路由器在刚刚开始工作时,它的路由表是空的,然后路由器就得出到直接相连的几个网络的距离(这些距离定义为1)。接着,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。但经过若干次的更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。

看起来RIP协议有些奇怪,因为“我的路由表中的信息要依赖于你的,而你的信息又依赖于我的。”然而事实证明,通过这样的方式一“我告诉别人一些信息,而别人又告诉我一些信息。我再把我知道的更新后的信息告诉别人,别人也这样把更新后的信息再告诉我”,最后在自治系统中所有的结点都得到了正确的路由选择信息。在一般情况下,RIP协议可以收敛,并且过程也较快。 “收敛”就是在自治系统中所有的结点都得到正确的路由选信的过程。

路由表中最主要的信息就是: 到某个网铬的距离(即最短距离),以及应经过的下一跳地址 。路由表更新的原则是找出到每个目的网络的最短距离。这种 更新算法又称为距离向量算法 。

对每一个相邻路由器发送过来的RIP报文,进行以下步骤:

现在较新的RIP版本是1998年1I月公布的RIP2RFC2453](已成为互联网标准),新版本协议本身并无多大变化,但性能上有些改进。RIP2可以支持变长子网掩码和无分类域间路由选择CIDR。此外,RIP2还提供简单的鉴别过程支特多播。图4-32是RP2的报文格式,它和RIP1的首部相同,但后面的路由部分不一样。

RIP报文由首部和路由部分组成。

RIP的首部占4个字节,其中的命令字段指出报文的意义。例如,1 表示请求路由信息,2表示对请求路由信息的响应或未被请求而发出的路由更新报文,首部后而的“必为0”是为了4字节字的对齐。

RIP2报文中的路由部分由若干个路由信息组成,每个路由信息需要用20个字节。 地址族标识符(又称为地址类别)字段用来标志所使用的地址协议。 如采用IP地址就令这个字段的值为2(原来考虑RIP也可用于其他非TCPP协议的情况), 路由标记填入自治系统号ASN (Autonomous System Number))( 自治系统号ASN原来规定为一个16位的号码(最大的号码是655),由1ANA分配.现在已经把ASN扩展到32位),这是考虑使RIP有可能收到本自治系统以外的路由选择信息。再后面指出某个网络地址、该网络的子网掩码、下一跳路由器地址以及到此网络的距离,一个RIP报文最多可包括25个路由,因而RIP报文的最大长度是4+20×25=504字节。如超过,必须再用一个RIP报文来传送。

RIP2还具有简单的鉴别功能。若使用鉴别功能,则将原来写入第一个路由信息(20字节)的位置用作鉴别。这时应将地址族标识符置为全1(即0 xFFFF),而路由标记写入鉴别类型,剩下的16字节为鉴别数据。在鉴别数据之后才写入路由信息,但这时最多只能再放入24个路由信息。

优点: RIP协议最大的优点就是实现简单,开销较小;如果发现更短的路由,这种更新信息传播的很快。

缺点: 限制了网络的规模,它能使用的最大距离为15(16表示不可达);路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加; 当出现网络故障时,要经过比较长的时间才能将此信息传送到所有的路由器。

设三个网络通过两个路由器互连起来,并且都已建立了各自的路由表。图中路由器交换的信息只给出了我们感兴趣的一行内容。路由器R1中的“ 1,1,直接 ”表示“到网1的距离是1,直接交付”。路由器R2中的“ 1,2,R1 ”表示“到网1的距离是2,下一跳经过R1”。

现在假定路由器R1到网1的链路出了故障,R1无法到达网1。于是路由器R1把到网1的距离改为16(表示到网1不可达),因而在R1的路由表中的相应项目变为“ 1,16,直接 ”。但是,很可能要经过30秒钟后R1才把更新信息发送给R2。然而R2可能已经先把自己的路由表发送给了R1,其中有“1,2,R1”这一项。
相似回答