拓扑图
1,骨干区域( Backbone Area)
骨干区域是Area 0,是整个OSPF域的中心枢纽。一个OSPF域有且只能拥有一个 Area 0,所有的区域间路由必须通过Area0中转。
2,常规区域( Normal Area)
所有的OSPF区域缺省情况下都是常规区域,当然, Area 0是常规区域中比较特殊的一个。
OSPF要求所有的非骨干区域(非0常规区域)都必须与Area 0直接相连。常规区域中允许Type-1, Type-2. Type-3, Type-4以及Type-5 LSA泛洪, Type-7 LSA禁止出现在常规区域内。
3.末梢区域(Stub Area)
末梢区域也被称为Stub区域,当一个非0常规区域只有单一的出口(例如该区域只有一个ABR),或者区域内的路由器不需要根据特定的外部路由来选择离开区域的出口时,该区域可以被配置为Stub区域。
当一个区域被配置为Stub区域后,这个区域的ABR将阻挡Type-5 LSA进入该区域(禁止外部路由被发布到该区域),通过这种方式可减少区域内所泛洪的LSA数量,同时该区域的ABR自动下发一条使用Type-3 LSA描述的默认路由,使得区域内的路由器能够通过这条默认路由到达域外,因此既减小了区域内网络设备的路由表规模,又保证了其访问外部网络的数据可达性。
在一个大量引入外部路由的OSPF网络中,将适当的区域配置为Stub区域可以极大地减小该区域内路由器的路由表规模,从而降低设备的资源消耗。另外,对于Stub区域而言,到达OSPF域内其他区域的路,由依然能够被注入,即ABR依然会将描述区域间路由的Type-3 LSA注入到Stub区域中。
Area 1被配置为Stub区域,这样Area 1的ABR(CO-SW1及Co-sw2)便不能再将Type-5 LSA注入这个区域。由于Type-5 LSA无法进入该区域,因此Type-4LSA也就没有必要再在该区域内泛洪,所以Co-sw1及Co-sw2也就不会再向该区域内注入Type-4 LSA,进而, Router-X的路由表将不会再出现到达省公司(OSPF域外)的具体路由,路由表的规模减小了,设备的资源消耗也就降低了。当然, Router-X访问省公司的需求还是存在的,为了让Router-X发往省公司的流量能顺利到达目的地, ABR会自动向Areal中注入默认路由,该条默认路由使用Type-3 LSA描述, co-SW1及CO-Sw2都会下发默认路由,网络管理员可以通过把控默认路由的Cost从而控制Routerx选择的出口。Router-X发往省公司的流量能够通过该默认路由先到达co-sW1或co-sw2,再通过它们转发到省公司。
设置末梢区域后ASBR生成Type-5 LSA无法进入,ABR也没有必要生成描述ASBR位置的Type-4 LSA,取而代之的是ABR生成一条描述外部路由的默认路由Type-3 LSA,让stub里的路由器转发发往外部网络的数据时把数据都发给ABR,由ABR统一转发。减小stub区域里的路由器的路由表大小。
所有连接到stub区域的路由器,对于该区域的stub属性要有一致的认知,否则OSPF邻居关系的建立将会出现问题。
还可以在ABR上配置,进一步阻挡描述区域间路由的Type-3 LSA进入,区域内的路由器访问区域外的网络时,统一把数据发给ABR。这样,这个区域内只有Type-1 LSA、Type-2 LSA及描述默认路由的Type-3 LSA存在,这意味着区域内路由器的路由表都将只有到达区域内部的路由,以及指向ABR的默认路由,路由器的路由表被极大程度地精简了。这种特殊区域也被称为完全末梢区域(Totally Stub Area)
4.非完全末梢区域(Not-So-Stubby Area)
NSSA (Not-So-Stubby Area)即非完全末梢区域,可以理解为Stub区域的变种,它拥有Stub区域的特点—阻挡Type-4及Type-5 LSA进入,从而在一定程度上减少区域内泛洪的LSA数量,同时它还有另一个特点,那就是允许该区域的路由器将少量外部路由引入OSPF,被引入的外部路由,以Type-7 LSA描述,并且这些Type-7 LSA只能够在当前的NSSA内泛洪,不允许直接进入Area0,为了使这些被引入NSSA的外部路由能让OSPF域内的其他区域学习到, NSSA的ABR会将Type-7 LSA转换成Type-5 LSA然后注入Areao,从而泛洪到整个OSPF域。
Area 1被配置成了NSSA。这样Area 1的ABR将阻挡Type-5 LSA进入这个区域。另一方面, Router-X连接到一个RIP网络,它将路由表中的RIP路由引入OSPF,这些被引入的外部路由以Type-7 LSA描述,这些LSA在Area 1内泛洪,并且禁止进入Area 0.co-sW1及CO-SW2作为NSSA的ABR, 自然也是能收到这些Type-7 LSA的,它们能够根据这些LSA计算出到达RIP网络的路由。
另外它们也负责将Type-7 LSA转换成Type-5 LSA并将后者注入Area 0,这样这些外部路由便能够被整个OSPF域中的路由器学习到。另一方面, CO-SW1及CO-SW2会向NSSA内下发一条Type-7 LSA的默认路由,使得Router-X能够通过这条默认路由到达省公司。
RIP通过RX生成的Type-7 LSA来描述,生成的Type-7在NSSA区域内泛洪。ABR收到Type-7后生成Type-5 LSA注入到Area 0中,让其他区域的路由器可以知道这个RIP,同时ABR也会生成一条Type-7 LSA默认路由给RX可以访问省公司。
我们还可以在NSSA的基础上进一步减少LSA的泛洪。在NSSA的ABR上,可以进一步将Type-3 LSA阻挡掉,从而将区域间的路由都过滤掉,而NSSA的ABR会自动,下发一条默认路由(使用Type-3 LSA描述)到该区域,使得区域内的路由器能够通过这条默认路由访问OSPF域内的其他区域,以及域外的网络。这种类型的特殊区域也被称为Totally NSSA。
5.各种区域类型中允许出现的LSA
表中列举出了在每种OSPF区域类型中,允许出现以及禁止出现的LSA.
Type-1 | Type-2 | Type-3 | Type-4 | Type-5 | Type-7 | |
---|---|---|---|---|---|---|
常规区域 | √ | √ | √ | √ | √ | × |
Stub区域 | √ | √ | √ | × | × | × |
Totally Stub区域 | √ | √ | ×1 | × | × | × |
NSSA | √ | √ | √ | × | × | √ |
Totally NSSA | √ | √ | x2 | × | × | √ |
(1) ABR会自动下发一条Type-3 LSA的默认路由,除此之外其他的Type-3 LSA都被禁止。
(2) ABR会自动下发一条Type-3 LSA的默认路由,除此之外其他的Type-3 LSA都被禁止。
6.判断LSA的新旧
(1)首先,拥有更高链路状态序列号的LSA实例被认为更新,因为路由器每次在刷新LSA的时候,会将该LSA的链路状态序列号加1,链路状态序列号越大,则LSA越新。
(2)如果LSA实例的链路状态序列号相同,那么拥有更大校验和的LSA实例被认为更新。
(3)如果LSA实例的链路状态序列号相同、校验和也相同,且某个实例的老化时间被设置为MaxAge (最大老化时间,缺省3600s),则该实例被认为最新。
(4)如果LSA实例的链路状态序列号相同、校验和也相同,且没有任何一个实例的老化时间被设置为MaxAge,那么当两个实例的老化时间相差超过MaxAgeDif (到达整个AS边界所需的最长时间,通常是15min)时,这两个实例被认为是不同的实例,且老化时间值越小的LSA被认为越新。
(5)如果LSA实例的链路状态序列号相同、校验和也相同,另外,没有任何一个实例的老化时间被设置为MaxAge,并且,两个实例的老化时间相等,或相差不超过MaxAgeDiff,则它们被认为是相同的实例。