不想写不想写,动脑子太困,动手太累。。。。。。
我们讲讲讲OSPF的区域结构。
在小型网络中,路由器链路构成的结构并不复杂,很容易确定前往各个目的地的路径。然而,在大型网络中,路由器链路组成的结构极其复杂,前往每个目的地的潜在路径为数众多。因此对所有可能路由进行比较的SPF算法非常复杂,需要很长时间。
一、区域扩大的问题
1)最短路径优先(SPF)算法的频繁计算:在大型网络中,变化是不可避免的,路由器将大量的CPU周期用来重新计算SPF算法和更新路由表。
2)路由表庞大:默认情况下,OSPF不进行路由汇总,这样路由表可能非常大,这取决于网络的规模。
3)链路状态数据库(LSDB)庞大:LSDB包含有关整个网络的拓扑信息,每台路由器都需要保存前往其所在区域中每个网络的路由,虽然并非所有这些路由都将加入到路由表中。
二、解决OSPF区域扩大的方式
1.减少SPF计算量
链路状态路由协议通常将网络划分成区域如下图所示,以减少SPF算法的计算量。区域内的路由器数量以及在区域内扩散的LSA数量较少,这一位置区域内的LSDB(拓扑数据库)较小。其结果是,SPF算法的计算量更小,需要的时间更短。在这种情况下,仍可进行区域间路由选择,但很多内部路由操作(如SPF计算)实在各个区域内进行的。例如,如果区域1存储链路时好时坏的问题,不会导致其他区域内的路由器不断运行SPF算法,因为它们不受区域1内这种问题的影响。
2.OSPF多区域优点
在使用了正确的IP编址层次结构和OSPF配置的情况下,使用多个OSPF区域具有下述重要优点。
1)SPF计算频率更低:详细的路由信息被限制在区域内,因此无需将所有链路状态的变化扩散到其他区域。这样,当网络拓扑发生变化时,只有受影响的路由器需要重新计算SPF,从而将影响限制在当前区域内。
2)路由表更小:使用很多这个区域时,前往区域内具体网络的路由被限制在区域内。可对路由进行配置,使其将这些细路由打包成汇总信息(细路由LSA1、LSA2,汇总信息LSA3),而不是将它们直接通告到其他区域。通过通告汇总信息,可减少区域间传播的LSA,同时确保所有的网络是可达的。
注意:LSA1和LSA2在跨区域的时候打包为LSA3而减少LSA条目,这里的汇总信息指的是LSA3在思科官方文档中称为Summary LSA。
3)降低了链路状态更新(LSU)开销:LSU可包含多种类型的LSA,其中包括链路状态信息和摘要信息。路由器在区域间通告一条路由或少量路由,而不发送针对区域内每个网络的LSU,从而降低在区域间传输LSU的开销。
三、OPSF的两层次区域结构
1.骨干区域和非骨干区域
1)骨干区域:主要功能为快速、高效地传输IP分组的OSPF区域。骨干区域将其他类型的OSPF区域连接起来,通常没有终端用户。骨干区域也叫OSPF区域0,它是网络核心,其他区域都与它直接相连。
注意:在一些CISCO文档中,将骨干区域称为中转区域。然而在OSPF RFC中,中转区域是一个与虚链路相关的术语。虚链路在后续的文章中介绍。
2)常规(非骨干)区域:主要功能为连接用户和资源的OSPF区域。常规区域通常是根据职能或地理位置划分的。默认情况下,常规区域不允许另一个区域使用其连接将数据流传输到其他区域。默认情况下,来自其他区域的所有数据流都必须经过骨干区域0.常规区域又分为几类,包括标准区域、末节区域、完全末节区域和次末节区域(NSSA)和绝对末节NSSA。文章后续的文章中介绍这些区域类型。
OSPF采用严格的两层区域结构。网络的底层物理连接必须与两层区域结构匹配,即所有非骨干区域都直接与区域0相连。
2.分区域后SPF的特点
使用链路状态路由协议时,所有路由器都必须保存一个LSDB。OSPF路由器及其连接的链路越多,LSDB将越大。在所有的路由器中保存所有信息有它的优点,但这种方法在大型网络中没有可扩展性。区域概念是一种折衷:区域内的路由器保存该区域中所有链路和路由器的详细信息,可以将OSPF配置成只保存有关其他区域中路由器和链路的摘要信息。
正确配置OSPF后,当路由器或链路出现故障时,相应的信息只会被扩散到当前区域中的路由器,区域外的路由器不会受到这种信息。通过采用层次结构并控制区域内的路由器数量,OSPF自治系统(AS)可扩展到非常大。
正如前面指出的,OSPF区域必须构成层次结构,这意味着所有区域都必须与区域0相连。在下图中,区域1中的路由器不能与区域2或3中的路由器直接相连。区域之间传输的数据流必须经过骨干区域0。每个区域包含多少台路由器最合适呢?这随着诸如网络稳定性等因素而异,Cisco的建议如下:
1)每个区域包含的路由器数量不应超过50台;
2)每台路由器所属的区域最多不要超过3个。
这些推荐值旨在避免OSPF计算让路由器不堪重负。当然,网络设计和链路稳定性也会影响路由器的负载。
3.OSPF路由器的角色
OSPF路由器的类型决定了什么样的数据流能够进入和离开区域。下面是4种路由器类型如下图。
1)内部路由器:所有接口都位于同一个区域中的路由器,同一个区域中所有内部路由器的LSDB都相同。
2)骨干路由器:位于骨干区域0边缘的路由器,至少有一个接口与区域0相连。骨干路由器在维护OSPF路由信息时采用的步骤和算法与内部路由器相同。
3)区域边界路由器(ABR):连接多个区域的路由器,为其连接的每个区域维护一个LSDB,并路由器前往/来自其他区域的数据流。ABR将区域0连接到非骨干区域,因此是区域的出口,这意味着前往其他区域的路由信息必须经过当前区域的ABR。ABR将这些路由选择信息通告给骨干,骨干路由器再将其转发给其他的ABR。只能在ABR对其连接的区域的地址进行汇总(对其连接的区域的LSDB种的路由选择信息进行汇总)。ABR分离LSA泛洪区,还可能提供默认路由。一个区域肯能有一台或多台ABR。
理想的设计是只让每个ABR连接两个区域:骨干区域和另一个区域。正如前面指出的,建议ABR最多不要连接3个以上的区域。
4)自治系统边界路由器(ASBR):至少有一个接口与其他域(如另一个OSPF自治区域系统或使用其他网络协议的域)相连。OSPF自治系统由所有OSPF区域及其中的路由器组成。ASBR可将外部路由重分发到OSPF域中,反之亦然。
注意:同一台路由器可属于多种类型。例如,如果路由器同时连接区域0、区域1和一个非OSPF网络,则它既是ABR又是ASBR。
对于它连接的每个区域,路由器都有一个独立的LSDB。因此,ABR有两个LSDB,一个针对的是区域0,另一个针对的是它连接的非骨干区域。属于同一区域的两台路由器中针对该区域的LSDB相同。两台路由器之间建立邻接关系后,它们的LSDB将是同步的,这将在下篇文章中介绍