“RIP协议”与“OSPF协议”的相同点与不同点是什么?


RIP和OSPF的区别

RIP协议叫做路由信息协议,OSPF协议叫做开放式最短路径优先协议。这两个协议都是动态路由协议,其目的都是生成路由表,为数据的访问提供合理的路径,他们的区别其实很多,篇幅有限,那么我会通过以下几个方面来简单介绍一下他们的具体区别:

1、路由算法:

RIP协议是一种典型的距离矢量协议,它使用的也是距离矢量算法,该算法可以用一句话来概括:进行路由更新时传递路由表。

OSPF协议则是一种典型的链路状态协议,它使用的是Dijkstra算法,该算法是通过OSPF邻居之间泛洪发送LSA(链路状态通告)来进行路由更新,并且它会计算出去往所有已知目的地址的所有无环路径,以不同种类的LSA类型将其保存到LSDB(链路状态数据库)中,所有运行OSPF的设备都会有自己的LSDB,然后将LSDB中最优的LSA更新到路由表中。

2、度量值:

RIP协议的度量值是以跳数来计算的,即每经过一跳,度量值就会加一,这样的度量值计算并不符合当前的网络环境,因为当前带宽爆炸性的增长,可能会导致RIP选择了次优路径。

OSPF协议的度量值计算则是以带宽为基准来计算的,其公式为10的8次方/带宽,所以从度量值的计算方式来看,OSPF要更加合理。

3、最大网络直径:

RIP的最大网络直径为15,也就是说RIP协议所能传递路由信息的最大跳数就是15跳,超过15跳就表示不可达。

OSPF协议的最大网络直径为255,可以适应更大的网络环境。

4、邻居关系的建立:

RIP本身并没有邻居关系的概念,它只会将信息发送给所有直连的且运行RIP协议的所有设备。

OSPF则有很详尽的邻居概念,并且根据交互LSA的不同,可以分为邻居(2-way)以及邻接(full)两种不同的邻居关系,前者只会相互发送hello报文,维持邻居关系,而后者则会相互发送路由更新。

5、防环机制:

RIP协议作为典型的距离矢量协议,它的防环机制有两种:水平分割和毒性逆转,简单来说,水平分割就是从一个接口接收的路由更新,不会再从该端口发送出去。毒性逆转则是从一个接口接收的路由更新,会再从该接口发出去,但是会将其置为不可达状态(16跳)。

OSPF协议从算法上就可以达成防环,请参考第一条...

6、路由传递机制:

RIP协议默认会进行自动汇总(有类路由协议),即传输的路由条目会自动进行主类的汇总,这样会导致路由条目不精确,后续RIP协议为了解决该问题,将RIPV1升级为RIPV2,V2版本不仅支持手动汇总,使路由条目传递更加精准,而且将路由更新方式从V1的广播变成了V2的组(224.0.0.9),提升了路由更新效率。

OSPF协议默认不会进行自动汇总(无类路由协议),并且会在每个网段的邻居中选举一个DR指定路由器,所有路由更新会通过224.0.0.6发送给DR,DR再通过224.0.0.5发送给其他所有邻居,这样可以防止重复的路由条目更新。

总结一下:

RIP协议作为最早的动态路由协议,为后续路由协议的开发提供了方向,但是当前网络环境很不适合RIP的生存,例如度量值计算以及最大跳数的限制,导致该协议只能在一些小型的网络环境(网络直径低于15跳)、带宽均等的环境来使用(吐槽:虽然现在很多小型环境也不愿意用RIP)。

而OSPF协议则是当前最主流的IGP协议,无论是园区网络、大型企业乃至于运营商底层,都很喜欢用OSPF,不单单是因为它的算法更优秀,而是它的可管理性要更强,并且它还有一个其它无法企及的功能:就是区域概念以及多种合理的优化方式

小伙伴们如果还想了解更多学习内容,欢迎加群一起学习~


你可能感兴趣的:(“RIP协议”与“OSPF协议”的相同点与不同点是什么?)