Stub区域和Totally Stub区域
对于OSPF各区域,可分为两种类型:
① 传输区域:除了承载本区域发起的流量和访问本区域的流量外,还承载了源IP和目的IP都不属于本区域的流量,即“穿越型流量”,如Area 0
② 末端区域:只承载本区域发起的流量和访问本区域的流量,如Area 1和Area 2
对于末端区域,需要考虑下几个问题:
① 保存到达其他区域明细路由的必要性:访问其他区域通过单一出口,“汇总”路由相对明细路由更为简洁
② 设备性能:网络建设与维护必须要考虑成本因素。末端区域中可选择部署性能相对较低的路由器
③ OSPF路由器计算区域内、区域间、外部路由都需要依靠收集网络中的大量LSA,大量LSA会占用LSDB存储空间,所以解决问题的关键是在不影响正常路由的情况下,减少LSA的数量
STUB区域
Stub区域是一种可选的配置属性,但并不建议将每个区域都配置为Stub区域。通常来说,Stub区域位于自治系统的末梢,是那些只有一个ABR的非骨干区域
① Stub区域的ABR不向Stub区域内传播它接收到的自治系统外部路由(对应四类、五类LSA),Stub区域中路由器的LSDB、路由表规模都会大大减小
② 为保证Stub区域能够到达自治系统外部,Stub区域的ABR将生成一条缺省路由(对应三类LSA),并发布给Stub区域中的其他路由器
缺一个display ospf lsdb
配置Stub区域时需要注意下列几点:
① 骨干区域不能被配置为Stub区域
② 如果要将一个区域配置成Stub区域,则该区域中的所有路由器必须都要配置成Stub路由器
③ Stub区域内不能存在ASBR,自治系统外部路由不能在本区域内传播
④ 虚连接不能穿越Stub区域建立
TOTALLY STUB区域
Totally Stub区域既不允许自治系统外部路由(四类、五类LSA)在本区域内传播,也不允许区域间路由(三类LSA)在本区域内传播
① Totally Stub区域内的路由器对其他区域及自制系统外部的访问需求是通过本区域ABR所产生的三类LSA缺省路由实现的
② 与Stub区域配置的区别在于,在ABR上需要追加no-summary参数
缺一个display ospf lsdb
NSSA区域和Totally NSSA区域
Stub、Totally Stub解决了末端区域维护过大LSDB带来的问题,但对于某些特定场景,Stub、Totally Stub并不是最佳解决方案
RTD和RTA同时连接到某一外部网络,RTA引入外部路由到OSPF域,RTD所在的Area 1为减小LSDB规模被设置为Stub或Totally Stub区域。RTD访问外部网络的路径是RTD->RTB->RTA->外部网络,显然相对于RTD直接访问外部网络而言,这是一条次优路径
OSPF规定Stub区域是不能引入外部路由的,这样可以避免大量外部路由对Stub区域设备资源的消耗
对于既需要引入外部路由又要避免外部路由带来的资源消耗的场景,Stub和Totally Stub区域就不能满足需求了
NSSA区域
OSPF NSSA区域(Not-So-Stubby Area)是在原始OSPF协议标准中新增的一类特殊区域类型
NSSA区域和Stub区域有许多相似的地方。两者的差别在于,NSSA区域能够将自治域外部路由引入并传播到整个OSPF自治域中,同时又不会学习来自OSPF网络其它区域的外部路由
NSSA LSA(七类LSA)
七类LSA是为了支持NSSA区域而新增的一种LSA类型,用于描述NSSA区域引入的外部路由信息
七类LSA由NSSA区域的ASBR产生,其扩散范围仅限于ASBR所在的NSSA区域
缺省路由也可以通过七类LSA来产生,用于指导流量流向其它自治域
七类LSA转换为五类LSA
NSSA区域的ABR收到七类LSA时,会有选择地将其转换为五类LSA,以便将外部路由信息通告到OSPF网络的其它区域
NSSA区域有多个ABR时,进行7类LSA与5类LSA转换的是Router ID最大的ABR
NSSA区域
配置了NSSA区域的ABR产生一条七类LSA缺省路由
<RTB>display ospf lsdb
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter
Router 4.4.4.4 4.4.4.4
Router 2.2.2.2 2.2.2.2
Network 10.1.24.4 4.4.4.4
Sum-Net 10.1.35.0 2.2.2.2
Sum-Net 10.1.13.0 2.2.2.2
Sum-Net 10.1.12.0 2.2.2.2
Sum-Net 192.168.2.0 2.2.2.2
NSSA 0.0.0.0 2.2.2.2
NSSA 10.1.47.0 4.4.4.4
NSSA 192.168.7.0 4.4.4.4
NSSA 10.1.24.0 4.4.4.4
实战演练
在R7和R4上面查看各自的LSDB 发现在R7上面出现了3条NSSA的条目,在R4上的area1中出现了三条NSSA条目也出现了LSA-5的2个条目
在R7上面查看NSSA的具体细节
在R4上面查看NSSA的具体细节
在R4上发生了7-5的转换,将LSA-7转换成LSA-5,并且在R4上可以看到外部路由中的FA地址为7.7.7.7转换后的LSA-5不在NSSA区域泛洪,在剩下其他区域内进行泛洪
在R6上看LSDB的时候 发现有LSA-4的出现 说明只要产生LSA-5,一定会有LSA-4的产生
在R6上可以看到外部路由中的FA地址为7.7.7.7
华为默认情况下,当进行7-5转换的时候,FA地址非0,有一条命令(zero-address-forwarding)可以显示在转换的过程中让FA地址为0
当FA地址非0的时候,那么LSA-5会根据这个FA地址7.7.7.7进行选路
FA地址的作用是告诉OSPF域内路由器如何能够更快捷到达LSA-5所通告的下一跳地址以免OSPF内部路由器在广播网络上以ASBR为下一跳,再由ASBR自己转发到正确的下一跳,而产生额外的路由
lsa7类 Forwarding address的选举
NSSA区域内有环回口宣告进,优选环回口,如果有多个环回口宣告进ospf,优选第一个UP的,如果没有环回口,优选第一个up的物理口
lsa5类 Forwarding address
如果外部路由的下一跳地址满足,在asbr上
① 下一跳地址所对应的网络发布到ospf内
② 下一跳地址所在的link没有slient
③ 下一跳地址所在的link网络类型不是p2mp or P2P
满足上述条件,lsa5 fa地址是非0.0.0.0,等于下一跳地址
如下例子:
R1、R2、R3在123.0.0.0/24的网段中,其中R2和R3是在area0中,R1和R2之间运行rip协议,其中R1把100网段的路由发布到了rip协议中,在R2上进行import了rip路由
TOTALLY NSSA区域
在于ABR上需要追加no-summary参数
配置了Totally NSSA区域的ABR会自动产生一条三类LSA缺省路由
Totally NSSA区域
<RTB>display ospf lsdb
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter
Router 4.4.4.4 4.4.4.4
Router 2.2.2.2 2.2.2.2
Network 10.1.24.4 4.4.4.4
Sum-Net 0.0.0.0 2.2.2.2
NSSA 0.0.0.0 2.2.2.2
NSSA 10.1.47.0 4.4.4.4
NSSA 192.168.7.0 4.4.4.4
NSSA 10.1.24.0 4.4.4.4
总结LSA类型的作用
LSA作用:
① Router LSA(一类):每个路由器都会产生,描述了路由器的链路状态和开销,在所属的区域内传播
② Network LSA(二类):由DR产生,描述本网段的链路状态,在所属的区域内传播
③ Network-summary-LSA(三类):由ABR产生,描述区域内某个网段的路由,并通告给其他相关区域
④ ASBR-summary-LSA(四类):由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域
⑤ AS-external-LSA(五类):由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)
⑥ NSSA LSA(七类):由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播
LSA在各区域中传播的支持情况:
区域类型
路由汇总
特殊区域不仅有效减少了区域内LSA的数量以及路由计算的压力,而且一定程度上也缩小了网络故障的影响范围。但特殊区域的局限性在于其作用范围只在本区域内,对于其他区域,如何才能减少LSA、降低路由计算的压力呢
在大规模部署OSPF网络时,可能会出现由于OSPF路由表规模过大而降低路由查找速度的现象,为了解决这个问题,可以配置路由汇总,减小路由表的规模
区域间路由汇总
路由汇总是指将多条连续的IP前缀汇总成一条路由前缀。如果被汇总的IP地址范围内的某条链路频繁Up和Down,该变化并不会通告给被汇总的IP地址范围外的设备。因此,可以避免网络中的路由振荡,在一定程度上提高了网络的稳定性
路由汇总只能汇总路由信息,所以ABR是可以执行路由汇总的位置之一
ABR向其它区域发送路由信息时,以网段为单位生成三类LSA。如果该区域中存在一些连续的网段,则可以通过命令将这些连续的网段汇总成一个网段。这样ABR只发送一条汇总后的三类LSA,所有属于命令指定的汇总网段范围的LSA将不会再被单独发送出去
Area 1中存在8个连续网段,汇总前RTB将产生8条三类LSA。在RTB上配置汇总后,RTB仅产生1条三类LSA并泛洪到Area 0
外部路由汇总
配置ASBR汇总后,ASBR将对引入的外部路由进行汇总。NSSA区域的ASBR也可以对引入NSSA区域的外部路由进行汇总
如果设备既是NSAA区域的ASBR又是ABR,则可在将七类LSA转换成五类LSA时对相应前缀进行汇总
Area 0中RTA将8个连续的外部路由引入到OSPF域内,产生8条五类LSA并在OSPF进程域内泛洪。在ASBR(RTA)配置外部路由汇总后,RTA将仅产生1条五类LSA并泛洪至OSPF路由进程域内
通告缺省的路由
import-route (OSPF)命令不能引入外部路由的缺省路由。当需要引入其他协议产生的缺省路由时,必须在ASBR上配置default-route-advertise命令,发布缺省路由到整个普通OSPF区域
① ASBR已经有缺省路由,执行default-route-advertise命令,将在整个OSPF区域中通告缺省路由0.0.0.0
② ASBR没有缺省路由,执行default-route-advertise命令时按照以下需求选择是否配置always参数