产品
产品中心
< 返回主菜单
产品

交换机

交换机所有产品
< 返回产品
交换机
查看交换机首页 >

无线

无线所有产品
< 返回产品
无线
查看无线首页 >

云桌面

云桌面产品方案中心
< 返回产品
云桌面
查看云桌面首页 >

安全

安全所有产品
< 返回产品
安全
查看安全首页 >
产品中心首页 >
行业
行业中心
< 返回主菜单
行业
行业中心首页 >

RIP和OSPF的区别

RIP和OSPF是两种内部网关协议,主要运行在路由设备中进行路由计算和路由选择。本文主要介绍和分析两种协议的区别,包括路由计算算法、路由更新方式、控制报文交互方式、报文交互机制和适用场景等。

  • 发布时间:2022-12-28

  • 点击量:

  • 点赞:

分享至

我想评论

1 概述
RIP和OSPF是两种内部网关协议,二者均属于动态路由协议。其中,RIP是出现最早的一种动态路由协议,在算法实现上较简单,在早期的小型简单网络中具有较好的应用效果。但是,随着网络的发展,网络规模扩大且愈加复杂,使得RIP无法满足网络需求,为此OSPF协议得到了更广泛的应用。OSPF协议所采用的实现机制和算法虽然相对较复杂,但在处理大规模网络的路由学习和路径选择问题上更具优势。
                                                     
2 RIP和OSPF的区别
RIP和OSPF在具体实现上存在较大区别,主要体现在路由算法和路由更新方式上,其次它们的邻居间可交互报文类型、协议报文交互方式、管理距离、防环机制、网络规模限制等方面也存在较大差异。

2.1   路由算法

2.1.1  RIP路由算法

RIP主要采用距离矢量算法计算路由,当发生路由更新时,通过距离矢量叠加的方式直接计算路由,并根据路由开销越小越优先的原则进行路由加表,路由的度量值(开销)由跳数决定。当跳数超过15时,就认为网络不可达。
图2-1 距离矢量算法示例图
                                                                                          
例如,假设存在上图所示网络,且Router 1的路由表中已增加直连网络192.168.0.0的路由信息,如图2-2中(a)所示,而Router 2、3中还未同步到此路由更新。此时,路由计算过程如下:
(1) 对于Router 2,当从Router 1发来的更新报文中学习未知网络192.168.0.0的路由时,会在Router 1的路由基础上进行矢量叠加,距离加1,且下一跳置为报文发送端口G1/2的地址,路由信息如图2-2中(b)所示。
(2) 对于Router 3,当从Router 2发来的更新报文中学习未知网络192.168.0.0的路由时,会在Router 2的路由基础上进行矢量叠加,距离再加1,下一跳同样置为报文发送端口G2/2的地址,路由信息如图2-2中(c)所示。
图2-2 去往192.168.0.0网络的路由信息示意图
                                                                                                     

2.1.2  OSPF路由算法

OSPF是一种基于链路状态(Link State, LS)的协议,根据链路带宽来计算路由开销,每台路由器独立维护一张LSDB(Link State DataBase,链路状态数据库),当链路发生变化时,先同步LSDB,再通过SPF(Shortest Path First, 最短路径优先)算法计算获得SPT(Shortest Path Tree,最短路径树),最后更新路由表,如下图所示:
图2-3 OSPF路由计算过程示意图
                                                                                       
1. 路由开销计算
OSPF路由开销为沿途入接口开销的总和,接口开销通过如下公式计算:
接口开销 = 参考带宽 / 接口链路带宽
接口开销计算采用向上取整的方式,参考带宽默认值一般为100Mbps。
图2-4 OSPF路由开销计算过程示意图
                                                                              
例如,假设存在如上图所示网络,当Router 3学习未知网络192.168.0.0的路由时,路由开销计算如下:
入接口G2/1路由开销 = 100M / 10M = 10;
入接口G3/1路由开销 = 100M / 1000M = 0.1,向上取整为1;
路由开销 = 入接口G2/1路由开销 + 入接口G3/1路由开销 = 11。
2. SPF算法
SPF算法中,将每台路由设备当作一个节点(本端设备作为根节点),链路状态信息由带有链路开销值(计算方法参考路由开销计算)的有向线段表示,通过节点加有向线段的方式描绘整个网络拓扑,例如图2-5(a)。然后,基于Dijkstra算法计算从本端(根节点)去往各个节点的开销最小的路径,最终获得无环路的最短路径树图2-5(b),根据SPT就可以更新路由表。
图2-5 SPF算法中网络拓扑结构和计算后的SPT示意图
                                                                                      

2.1.3  对比分析

RIP采用的是距离矢量算法计算路由,算法原理较简单,因此实现和维护管理都比较容易,但网络规模受到跳数限制(大于15即认为不可达),且直接以路由跳数决定路由优劣,在一些场景下的路由选择可能并非最优。
OSPF采用SPF算法计算路由,算法相对较复杂,实现和维护较困难,但不受路由跳数约束,可以适用于较大规模的网络,且基于链路带宽度量路由的策略,在一些场景下路由选择相对更加合理。
例如,假设存在下图所示网络,对于目的网络192.168.0.0/24,Router 2有两条路径可供选择,其中,路径①跳数为1,带宽为10M;路径②跳数为2,带宽为1000M。对于数据转发效率来说,路径②应比路径①更优,但RIP协议仅简单地根据跳数大小判断路径①更优,而OSPF协议通过链路带宽计算路由开销的结论为路径②更优,OSPF的度量方式明显更加符合实际情况。
图2-6 路由计算和选择示意图
                                                                                       

2.2   路由更新方式

2.2.1  RIP路由更新

RIP协议主要基于四个定时器进行路由更新与维护,分别为更新定时器、无效定时器、清除定时器和抑制定时器。RIP的整个路由维护更新过程的覆盖范围为自治系统,当发生路由更新时,同一自治系统下所有路由器都会进行相应的更新过程。
四个定时器的作用如下:
更新定时器:决定定时给邻居发送更新报文的时间间隔;
无效定时器:决定一条路由信息的有效时长;
清除定时器:决定彻底清除无效路由的时间;
已知定时器:决定抑制一条无效路由更新的时长,此定时器主要用于防止出现路由状态反复变化导致路由震荡的问题;
基于四个定时器,RIP路由更新维护过程如图2-7所示:
图2-7 RIP路由定时更新维护过程示意图
                                                                                              
由于采用定时更新方式时路由收敛速度较慢,因此,RIP中还增加了触发更新机制。若开启了触发更新,定时更新会自动关闭,当路由信息发生变化时,路由器会立即向邻居同步路由变化信息,加快路由收敛。

2.2.2  OSPF路由更新

OSPF协议对自治系统进行区域划分,并基于LSA(Link-State Advertisement,链路状态通告)和LSDB进行路由更新维护。同一OSPF区域内的路由器维护相同的LSDB,只有当链路状态发生变化时,才会触发路由更新,此时,同一区域内路由器会先进行LS同步,区域间的路由更新同步则由处于区域边界的路由器(也称ABR)完成路由更新后同步到其他区域,通过这个机制减少网络拓扑变化造成的链路状态信息交互量。
图2-8 OSPF路由更新过程示意图
                                                                                           
例如,假设存在如上所示网络拓扑,R1、R2和R3的G3/1口在Area 0,R3的G3/2、R4在Area 1。若路由器R1新增直连网络192.168.0.0,此时,网络中路由更新过程大致为:
(2) R1更新本地LSDB并计算、更新路由表,同时以LSA 1的形式向同区域的R2同步此LS;
(3) R2收到后更新本地LSDB并计算、更新路由表,同时以LSA 1的形式将此LS同步给R3;
(4) R3收到R2的报文后,更新本地LSDB并计算、更新路由表,然后从端口G3/2以LSA 3的形式同步给相邻区域Area 1的路由器;
(5) R4收到R3的报文后,更新本地LSDB并计算、更新路由表;
在多路访问网络中,OSPF还在区域内增加了DR选举机制,规定非DR、BDR的路由器(DR other)只和DR、BDR交互报文,DR other相互之间不进行报文交互,以此减少报文交互量,节约资源。

2.2.3  对比分析

RIP中有定时更新维护路由和触发更新两种方式,一般系统默认采用定时更新方式。若采用定时更新方式,当发生网络故障时,由于四个定时器的约束,整个网络完成路由同步所需的时间较长。此外,由于RIP的更新域为整个网络,即当某一处网络拓扑发生变化,同一自治系统下所有路由器都要同步进行更新操作,影响范围较广,整个网络路由收敛速度较慢。由于信息同步慢,还可能出现部分路由器更新未及时导致产生路由环路的问题。
OSPF中只有发生链路状态更新时才会进行路由更新维护,能节约资源,且采用了区域划分的机制,按区域进行链路状态同步,减少信息交互量,路由收敛速度较快。此外,OSPF不是直接进行路由更新,而是在区域内同步LSDB后通过SPF算法计算获得无环路的最短路径树(SPT),且有骨干区域和非骨干区域的区分,非骨干区域只能与骨干区域相连和交互信息,通过这些机制避免路由环路问题。
例如,假设存在如图2-9所示网络,网络192.168.0.0突然出现故障,则RIP(采用定时更新方式时)和OSPF的表现分别如下:
RIP协议中,R1会在本地删除对应路由,但是R2不会立即感知到这个变化,而是等无效定时器计时超时,才会将对应路由置为无效,在这个计时等待期间,当R1收到R2的更新报文时,会从中学习自己未知的192.168.0.0网络的路由,且下一跳指向R2,而R2中去往192.168.0.0网络的路由的下一跳指向R1,形成路由环路。在故障产生到R2彻底删除对应路由,中间需要花费几分钟时间。
OSPF协议中,假设3台路由器均在同一区域,R2、R3会先同步这条链路变化,然后各自根据LSDB计算SPT,完成路由更新,虽然过程相对复杂,但信息传递时间花费远低于RIP,且能避免路由环路问题。
图2-9 路由更新示意图
                                                                                             

2.3   其它

邻居间可交互报文差异:RIP中运行了RIP协议的直连双方之间都可以交互报文,没有限制;OPSF中有邻居、邻接关系的设定,建立邻居关系的双方只能交互Hello报文,而建立邻接关系的双方可以交互所有类型OSPF报文,能交互链路更新信息。
报文交互方式:RIP使用UDP数据报传送协议报文,端口号为520,而OSPF将协议报文封装在IP包中进行传送,OSPF的协议号为89。
管理距离:RIP的管理距离往往比OSPF要大,具体默认值在不同厂商设备中规定不同,例如,在锐捷网络的设备中,RIP路由的管理距离默认为120,OSPF路由的管理距离默认为110。
防环机制:RIP中主要有水平分割、毒性逆转和触发更新3种防环机制;OSPF协议在算法本身上就能够达到防环效果,一般不需要额外的防环机制。
网络规模限制:RIP中规定当转发跳数超过15即认为网络不可达,因此所能应用的网络最大直径为15,只能用在中小型网络中;OSPF中没有跳数限制,可以用在较大规模的网络中。
                                                                           
3 总结
RIP和OSPF的区别主要包含如下:
表3-1 RIP和OSPF的区别
特性 RIP OSPF
管理距离(以锐捷网络设备为例) 120 110
报文交互方式 UDP协议,端口号为520 IP协议,IP协议号为89
报文交互对象 运行了RIP的相邻设备 建立邻居或邻接关系的设备
报文交互内容 路由信息 链路状态信息
路由计算算法 距离矢量算法,算法简单 最短路径优先算法,算法复杂
路由开销 基于路由跳数计算 基于链路带宽计算
路由更新方式 定时更新或触发更新 链路发生变化时更新
防环机制 易产生环路,有水平分割、毒性逆转、触发更新三种防环机制 算法本身有防环效果,区域内不会产生环路
网络规模限制 最大为15跳
适用场景 中小型简单网络 大型复杂网络
                                                                   
相关链接

更多技术博文

任何需要,请联系我们

返回顶部

请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式