#1 楼
大多数参考文献都说“ RIP不可扩展”,因此只能在较小的网络中使用。但是没有人说“为什么?” RIP中实际上阻止它扩展到更大网络的功能是什么? OSPF如何克服RIP的缺点?
摘要
RIPv1频繁(每30秒)泛洪路由,这会占用较大的CPU负载。路由表增加。 RIP会在每次将路由泛洪到新接口时(无论是否发生拓扑更改)都会重新计算每条路由的度量标准,这使情况更加复杂。随着路由数量的增加,这将阻止RIP以及其他协议的扩展。
RIPv1是有类的
OSPF很少泛洪路由。如果网络中发生拓扑更改,则仅泛洪更改的LSA;否则,将仅更改LSA。指标是根据这些变化计算得出的。因此,在不经常泛洪的LSA上进行按需路由计算可以使OSPF很好地扩展。
OSPF是一种无类协议,支持CIDR,这也使其更具可扩展性。比RIPv1的协议
RIPv1详细信息:
RIP是一种距离矢量协议;所有距离矢量协议都运行Bellman-Ford算法。从较高的层次上讲,这意味着:路由表中的所有路由都会通过所有接口定期发布。
RIP每30秒泛洪每个RIP接口的路由。由于RIP通过谣言进行路由,这意味着拓扑中的每个路由器必须每30秒与路由表的大小成正比地工作。当您接近成千上万的路由时(尤其是在没有硬件转发的基于CPU的路由器上),此问题对CPU负载和流量抖动的影响变得令人恐惧。
RIP协议本身具有固定的最大跳数,为15跳(如果您需要执行任何形式的路径加权,则很小。
基于Bellman-Ford算法的协议容易出现路由循环和无数计数问题。
OSPF详细信息:
相比之下,OSPF是一个链接-状态协议运行Dijkstra的算法。因此:
每个路由器仅在路由更新中宣布其直接连接和重新分配的路由(称为LSA)。
每个路由器默认每30分钟就会泛洪自己的LSA(因为路由刷新计时器)是3600秒或1小时)
路由表中的更改触发时,LSA也被淹没
路由器仅在必要时使用Dijkstra的算法来执行分布式LSA路径计算。
#2 楼
只是为了补充Mike的解释,RIP会重新计算其路由,并每30秒发布一次。在具有成千上万个路由器和数万条路由的网络中,要计算的路由很多-路由器将太忙而无法实际转发任何流量。您可能已经了解到,RIP的最大指标为15跳。这限制了网络的大小。
RIP没有层次结构。想象一个全球网络,每当新加坡的链路上下时,冰岛的路由器都必须重新计算其所有路由。无法将一个区域与另一个区域隔离。
评论
最后一部分(所有路由器都必须重新计算路由)也不适用于OSPF吗?
–user1686
2014年1月19日,0:26
@grawity OSPF具有层次结构,即区域,它使您可以隐藏网络某一部分中的拓扑更改,以免影响其他部分。因此,如果新加坡和冰岛位于不同的地区,则它们不必计算彼此的路线。
–罗恩·托恩(Ron Trunk)
2014年1月19日,12:44
评论
将RIPv1与OSPF进行比较有什么原因吗?为什么不与v2比较?
– Ryan Foley
2014年1月17日下午17:12
@fizzle,按照惯例,当有人说RIP时,它们的意思是RIPv1;也就是说,RIPv2不会实质性地改变RIP的可伸缩性:它引入了无类路由,但仍每30秒对完整的路由表进行一次爆炸,并在每一跳处重新计算该表。如果您曾经运行过具有震荡链路的大型RIP网络,您将了解这有多糟……随机路由黑洞打开并吞噬大量流量,因为传播更新需要很长时间。 RIP和RIPv2占有一席之地,但是它不在大型网络中。
–迈克·彭宁顿
2014年1月17日在18:19
很好的见解,我从未见过网络仍在使用RIP。值得一提的是OSPF验证邻居的能力,但这不能直接回答OP。
– Ryan Foley
2014年1月17日在21:22
感谢@ mike-pennington提供令人满意的答案;-)
–古兰姆
2014年1月18日在9:58