随着网络规模日益扩大 ,网络中的路由器数量不断增加。当一个巨型网络中的路由器都运行0SPF路由协议时,就会遇到如下问题:1)每台路由器都保留着整个网络中其他所有路由器生成的LSA,这些LSA的集合组成LSDB,路由器数量的增多会导致LSDB非常庞大,这会占用大量的存储空间。2)LSDB的庞大会增加运行SPF算法的复杂度,导致CPU负担很重。3)由于LSDB很大,两台路由器之间达到LSDB同步会需要很长时间。
网络规模增大之后 ,拓扑结构发生变化的概率也增大,网络会经常处于“动荡”之中,为了同步这种变化,网络中会有大量的OSPF协议报文在传递,降低了网络的带宽利用率。更糟糕的是:每一次变化都会导致网络中所有的路由器重新进行路由计算。
为了减少LSA的数量,屏蔽网络变化波及的范围。OSPF协议通过将自治系统划分成不同的区域(Area)来解决上述问题。区域是在逻辑上将路由器划分为不同的组。一般情况下每个区域的路由器数量建议不超过50台。
OSPF划分区域之后,并非所有的区域都是平等的关系。 其中有一个区域是与众不同的,它的区域号(Area ID)是O,通常被称为骨干区域(Backbone Area)。由于划分区域之后,区域之间是通过ABR(区域边界路由器)将一个区域内的已计算出的路由封装成Type3类的LSA发送到另一个区域之中来传递路由信息。需要注意的是:此时的LSA中包含的己不再是链路状态信息,而是纯粹的路由信息了。或者说,此时的OSPF是基于D-V算法,而不是基于链路状态算法的了。这就涉及到一个很重要的问题:路由自环。因为D-V算法无法保证消除路由自环。如果无法解决这个问题,则区域概念的提出就是失败的。
解决的方法是:所有ABR将本区域内的路由信息封装成LSA后,统一的发送给一个特定的区域,再由该区域将这些信息转发给其他区域。在这个特定区域内,每一条LSA都确切的知道生成者信息。在其他区域内所有的到区域外的路由都会发送到这个特定区域中,所以就不会产生路由自环。这个“特定区域”就是骨干区域。由上面的分析可知:所有的区域必须和骨干区域相连,也就是说,每一个ABR连接的区域中至少有一个是骨干区域。而且骨干区域自身也必须是连通的。
下面大家一起来做一个实验,看看在思科的路由器中,OSPF如何划分区域,非骨干区域如何与骨干区域连接。
一、组网结构
R1路由器位于拓扑图中心,与R2、R3、R4路由器直接互联,R1路由器在骨干区域area0,R2、R3、R4路由器分别属于area2、area3、area4的ABR。
配置方法请查看原文链接:OSPF区域划分配置实例