搞清RIP和OSPF的区别,这是我见过最好的总结!

简介: 搞清RIP和OSPF的区别,这是我见过最好的总结!


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,此时,网络中路由更新过程大致为:

(1) R1更新本地LSDB并计算、更新路由表,同时以LSA 1的形式向同区域的R2同步此LS;

(2) R2收到后更新本地LSDB并计算、更新路由表,同时以LSA 1的形式将此LS同步给R3;

(3) R3收到R2的报文后,更新本地LSDB并计算、更新路由表,然后从端口G3/2以LSA 3的形式同步给相邻区域Area 1的路由器;

(4) 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 路由更新示意图

3 总结

RIP和OSPF的区别主要包含如下:

表3-1 RIP和OSPF的区别


相关文章
|
1月前
|
存储 负载均衡 网络协议
OSPF 的主要目的是什么?
【8月更文挑战第4天】
63 17
OSPF 的主要目的是什么?
|
26天前
|
网络协议 算法 数据库
|
4月前
|
存储 网络协议 算法
|
4月前
|
存储 网络协议 算法
|
网络协议 网络架构
你搞懂OSPF协议了吗?
你搞懂OSPF协议了吗?
102 0
|
网络协议 算法 网络架构
动态路由四大天王:OSPF、RIP、IS-IS、BGP,收藏这篇文章足矣!
动态路由四大天王:OSPF、RIP、IS-IS、BGP,收藏这篇文章足矣!
228 0
|
网络协议 算法 数据库
OSPF动态路由协议基础知识
OSPF动态路由协议基础知识
192 1
OSPF动态路由协议基础知识
|
网络协议 算法 数据库
OSPF原理
OSPF原理
163 0
|
算法 网络协议 负载均衡