十、OSPF特殊区域
1、技术背景
早期路由器靠CPU计算转发,由于硬件技术限制问题,因此资源不是特别充足,因此是要节省资源使用,规划是非常必要的。
OSPF路由器需要同时维护域内路由、域间路由、外部路由信息数据库。当网络规模不断扩大时,LSDB规模也会不断的增长。OSPF通过划分区域可以减小区域内路由器LSDB的规模,给OSPF划分区域:分为骨干区域和非骨干区域。
划分区域这样确实有效的减少了LSA的条目,但是一些非骨干区域的路由器还是会接收到较多的三类、四类、五类LSA。
OSPF的骨干区域的路由器一般性能会比较强大,能承载和维护更多的LSDB,但是一些非骨干区域的路由器可能并不能承载过大的LSDB,对于非骨干区域的低端路由器来说仍然无法承受。而且有一些非骨干区域的路由器不需要为其他区域提供流量的中转,那么该区域内的路由器就没有必要维护本区域外的LSDB。所以为了进一步减少路由器LSDB的规模以及LSA的数量,我们可以通过引入两个特殊区域,Stub和Nssa区域,进一步减少LSA的数量和路由表的规模。。
OSPF的三种通信量
① 域内通信量:单个区域内的路由器之间交换数据包构成的通信量
② 域间通信量:不同区域的路由器之间交换数据包构成的通信量
③ 外部通信量:OSPF域内的路由器与OSPF区域外或另一个自治系统内的路由器之间交换数据包构成的通信量
2、特殊区域概述
在OSPF网络中,Stub区域、Totally-stub区域、NSSA区域和Totally-NSSA区域是特殊的区域类型,用于在网络中实现特定的路由聚合和传输策略。它们可以帮助简化路由表、减小网络开销、提高网络稳定性,并适应不同网络设计和需求。
注意事项 :非骨干区域才能配置成特殊区域,骨干区域不可以配置成特殊区域,就算配置了也不会生效,因为骨干区域链接多个区域,作为LSA的中转站,一定是需要去传输LSA的。
主要作用
① 减少特殊区域LSA的数量 ② 减少路由表的数量
特殊区域的局限性
① 特殊区域可能会产生次优路径
② 特殊区域不能配置虚拟链路
③ 骨干区域不能配置为特殊区域
OSPF特殊区域的功能和优势
|----------------|-----------------------------------------------------------|
| 区域类型 | 功能和优势 |
| Stub区域 | 将末端区域的网络信息聚合为默认路由,简化路由表,降低网络开销,加快路由收敛速度。 |
| Totally-stub区域 | 在Stub区域的基础上,将Area 0(主干区域)的外部路由信息也聚合为默认路由,进一步简化路由表,优化网络性能。 |
| NSSA区域 | 允许传输末端区域的网络信息到外部区域,但仍然聚合外部区域的网络信息为默认路由,增加网络安全性和管理灵活性。 |
| Totally-NSSA区域 | 在NSSA区域的基础上,允许Area 0(主干区域)的外部路由信息传输到NSSA区域,提供更大的灵活性和控制权。 |
3、特殊区域类型
OSPF的区域可分为两种类型:
1) **传输区域(Transit Area):**除了承载本区域发起的流量和访问本区域的流量外,还承载了源IP和目的IP都不属于本区域的流量,即"穿越型流量"Area0。(如下图)
2) **末端区域(Stub Area):**只承载本区域发起的流量和访问本区域的流量Area1和Area2(如下图)
**主要有四种特殊区域:**Stub末端区域、Totally Stub区域、NASS区域、Totally NASS区域
对于末端区域,需要考虑下几个问题:
**保存到达其他区域明细路由的必要性:**访问其他区域通过单一出口(这里为R2、R3),"汇总"路由相对明细路由更为简洁。
**设备性能:**网络建设与维护必须要考虑成本因素。末端区域中可选择部署性能相对较低的路由器。
OSPF路由器计算区域内、区域间、外部路由都需要依靠收集网络中的大量LSA,大量LSA会占用LSDB存储空间,所以解决问题的关键是在不影响正常路由的情况下,减少LSA的数量。
(1)末梢区域(Stub Area)
末端区域 /末节区域**(Stub Area):** 用于表示一个网络的最后节点,往后不会再有其它网络节点接入。用于将网络中的末端区域与主干区域(Area 0)相连。
**简略特点:**拒绝4、5类,生成3类默认路由。
Stub区域通过汇总外部路由,并使用默认路由,减少区域内路由器的负担,并阻止来自其他区域的LSA信息。Stub区域的ABR,不向Stub区域内传播接收到的AS外部路由,Stub区域中路由器的LSDB、路由表规模都会大大减小。
Stub区域是一种可选的配置属性,但并不建议将每个区域都配置为Stub区域。通常来说,Stub区域位于自治系统的末梢,是那些只有一个ABR的非骨干区域。被设置为stub区域的区域不会学习其他区域的详细路由条目,为保证Stub区域能够到达自治系统外部,Stub区域的ABR将生成一条3类LSA 0.0.0.0/0的默认路由(对应三类LSA),并发布给Stub区域中的其他路由器。(以便访问OSPF中其他区域的网络)。
1)Stub区域的路由及3类LSA
R1作为ASBR引入多个外部网段,如果Area 2是普通区域,则R3将向该区域注入5类和4类LSA。
当把Area 2配置为Stub区域后,R3不会将5类LSA和4类LSA注入Area 2。
R3向Area 2发送用于描述缺省路由的3类LSA,Area 2内的路由器虽然不知道到达AS外部的具体路由,但是可以通过该默认路由到达AS外部。
可以看出R5的路由表上有一条默认路由,下一跳是R3,到达其他区域
2)Stub区域的特点
为保证Stub区域能够到达AS外部,Stub区域的ABR将生成一条缺省路由(使用3类LSA描述)。
1、骨干区域不能被配置为Stub区域。
2、如果要将一个区域配置成Stub区域,则该区域中的所有路由器必须都要配置成Stub路由器。
3、Stub区域内不能存在ASBR,自治系统外部路由不能在本区域内传播。区域内的路由器只需要维护默认路由,而不需要具体的外部路由信息。
4、虚连接不能穿越Stub区域建立
5、当外部网络发生变化后,Stub区域内的路由器是不会直接受到影响。
6、处于STUB区域中的路由设备,其LSDB中不允许出现4、5类LSA,但会生成一条3类的默认路由指向该特殊区域的ABR设备。
在Stub区域中只有域内路由和域间路由。
3)配置
配置说明:
ospf 1 area 0 //将接口GE 0/0添加到Area 0(主干区域)。
ospf 1 area 1 stub //将接口GE 0/1添加到Area 1,并配置为Stub区域。
R1的配置 R2 的配置
router ospf 1 router ospf 1
network 192.168.12.0 0.0.0.255 area 1 network 192.168.12.0 0.0.0.255 area 1
area 1 stub network 192.168.23.0 0.0.0.255 area 0
area 1 stub
通过命令display ospf lsdb查看该路由器所有LSA发现只有一类、二类、三类LSA,还有一条缺省三类LSA
[rtd]display ospf lsdb
OSPF Process 1 with Router ID 192.168.3.4
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 192.168.3.4 192.168.3.4 305 36 80000006 1
Router 192.168.1.2 192.168.1.2 308 36 80000004 1
Network 192.168.3.4 192.168.3.4 305 32 80000002 0
Sum-Net 0.0.0.0 192.168.1.2 315 28 80000001 1 缺省三类LSA
Sum-Net 192.168.4.0 192.168.1.2 315 28 80000001 3
Sum-Net 192.168.2.0 192.168.1.2 315 28 80000001 2
Sum-Net 192.168.1.0 192.168.1.2 315 28 80000001 1
<rtd>dis ip routing-table
Route Flags: R - relay, D - download to fib
Routing Tables: Public
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 OSPF 10 2 D 192.168.3.2 GigabitEthernet0/0/0
2、完全(绝对)末梢区域(Totally Stub)
Totally-stub区域是一种更加精简的Stub区域,除了将末端区域的具体网络信息聚合为默认路由外,还将Area 0(主干区域)的外部路由信息也聚合为默认路由。
Totally STUB区域类似于STUB区域,但还阻止来自骨干区域的LSA信息。这样可以进一步简化区域内的路由表,并减少资源消耗。
在Total Stub Area中只有本区域内的路由。LSA3/4/5均不允许进入本区域,只存在1类、2类LSA。配置Total Stub Area后会在区域内自动的生成一条默认路由(以便访问OSPF中其他区域的网络)。
由stub区域的ABR设备产生一条3类LSA 0.0.0.0/0的默认路由,发布给stub区域中的其他路由器
3)Totally STUB区域的特点包括:
在Totally STUB区域中,外部路由被汇总为默认路由。
区域内的路由器只需要维护默认路由,而不需要具体的外部路由信息。
Totally STUB区域不会接收来自骨干区域的LSA信息。
所有末端区域和外部区域的路由信息都被聚合为一个默认路由。
Totally-stub区域内的路由器只知道默认路由,不知道任何具体的网络信息。
3)配置:特殊区域的所有设备都要配置
ospf
area 0.0.0.2
stub no-summary //把区域2设置为stub区域,stub 区域的ABR上配置就可以
GE 0/0 ospf 1 area 0 //将接口GE 0/0添加到Area 0(主干区域)。
GE 0/1 ospf 1 area 1 stub //将接口GE 0/1添加到Area 1,并配置为Stub区域。
GE 0/2 ospf 1 area 2 stub no-summary //将接口GE 0/2添加到Area 2,并配置为Totally-stub区域。
查看RTD的LSDB:此时可以发现,三类LSA只剩下一条缺省三类LSA
[rtd]display ospf lsdb
OSPF Process 1 with Router ID 192.168.3.4
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 192.168.3.4 192.168.3.4 63 36 8000000B 1
Router 192.168.1.2 192.168.1.2 68 36 80000005 1
Network 192.168.3.4 192.168.3.4 63 32 80000002 0
Sum-Net 0.0.0.0 192.168.1.2 74 28 80000001 1 缺省三类LSA
[rtd]dis ospf routing
OSPF Process 1 with Router ID 192.168.3.4
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
192.168.3.0/24 1 Transit 192.168.3.4 192.168.3.4 0.0.0.1
0.0.0.0/0 2 Inter-area 192.168.3.2 192.168.1.2 0.0.0.1
Total Nets: 2
Intra Area: 1 Inter Area: 1 ASE: 0 NSSA: 0
4、非纯末梢区域(NSSA)
(1)背景
OSPF规定Stub区域是不能引入外部路由的,这样可以避免大量外部路由对Stub区域路由器带宽和存储资源的消耗。对于既需要引入外部路由又要避免外部路由带来的资源消耗的场景,Stub区域就不再满足需求了。因此产生了NSSA区域。
NSSA(Not-So-Stubby-Area)区域是一种允许传输外部路由信息的非纯末梢区域。在NSSA区域中,末端区域可以通过NSSA区域向外传递自己的网络信息,但仍然聚合外部区域的网络信息为默认路由。
**NSSA(Not-So-Stubby Area)**在NSSA区域中允许存在ASBR,区域允许将外部路由引入OSPF区域,但LSA类型被修改以兼容OSPF,并提供更大的灵活性。这个外部路由在NSSA区域内以LSA 7存在。
当此LSA 7路由离开NSSA区域进入别的区域时,NSSA的ABR会进行LSA 7向LSA 5的转换(如图Area 6所示)。
本区域只允许LSA 3进入,禁止LSA4/5的进入。所以此区域有域内、域间和外部路由。
配置NSSA区域需要在区域内手工的创建一条默认路由(以便访问OSPF中其他区域的网络)。
router ospf x
area 6 nssa default-information-originate
两者的差别在于,NSSA区域能够将自治域外部路由引入并传播到整个OSPF自治域中,同时又不会学习来自OSPF网络其它区域的外部路由。
7类LSA是为了支持NSSA区域而新增的一种LSA类型,用于描述NSSA区域引入的外部路由信息。
7类LSA的扩散范围仅限于始发NSSA区域,7类LSA不会被注入到普通区域。
NSSA区域的ASBR将外部路由引入该区域后,使用7类LSA描述这些路由。
NSSA区域的ABR会将7类LSA转化为5类LSA,并将该LSA注入到骨干区域,从而在整个OSPF域内泛洪。
NSSA区域的ABR会阻挡其他区域引入的外部路由引入本区域,即NSSA区域内不会存在4类及5类LSA,为了让NSSA区域内的路由器能够通过骨干区域到达AS外部,NSSA区域的ABR会自动向该区域注入一条7类LSA O N2 0.0.0.0/0缺省路由,该路由采用7类LSA描述。
本NSSA区域的路由器可以拥有ASBR,可以引入外部路由,该外部路由以7类LSA的形式在NSSA区域中存在。
由NSSA区域的ABR路由器将7类LSA转换成5类LSA,如果有多个ABR,router-id大的ABR成为转发者路由器。
(2)、NSSA区域的特点包括:
允许在NSSA区域中引入外部路由。
NSSA区域的ASBR(自治系统边界路由器)将外部路由转换为NSSA LSA类型。
NSSA区域内的其他路由器可以接收和转发NSSA LSA。
末端区域可以传递自己的网络信息到外部区域。
外部区域的网络信息被聚合为一个默认路由。
Nssa区域的LSDB
当R5将外部路由192.168.3.0/24引入NSSA区域时R5作为ASBR生成7类LSA在Area 2内泛洪; R3生成使用7类LSA描述的缺省路由注入Area 2,Area 2内的路由器依然会收到R3注入的3类LSA
LSA的处理原则
当OSPF设备收到一条LSA进行新旧比较的原则
1.比较新收到的LSA和LSDB库中的LSA的 SEQ 序列号 大的优先
2.校验和大的更优
3.收到的LSA是否为3600s 如果是 那么收到的这条LSA 更优
4.新旧的LSA age时间相差15min 小的更优
5.如果没有相差15min 那么就会保留先收到的
(3)配置:属于nssa区域的所有设备都需要配置
ospf 1 router-id 55.1.1.1
area 0.0.0.2
nssa //把区域2设置为nssa区域
ospf 1 router-id 11.1.1.1
nssa translator-always //强制指定R1作为转发者
**参数:**no-import-route //NSSA区域中的路由器,不允许引入外部路由
GE 0/0 ospf 1 area 0 //将接口GE 0/0添加到Area 0(主干区域)。
GE 0/1 ospf 1 area 1 nssa //将接口GE 0/1添加到Area 1,并配置为NSSA区域。
5、完全纯末梢区域(Totally NSSA)
Totally-NSSA区域是一种更加灵活的NSSA区域,除了允许传输外部路由信息,还将Area 0(主干区域)的外部路由信息也传输到NSSA区域中。
Totally NSSA区域类似于NSSA区域,但还阻止来自骨干区域的LSA信息。这样可以进一步控制区域内的资源消耗,并提供更高的灵活性。
在NSSA区域中允许存在ASBR,所以也就可以引入外部路由。这个外部路由在NSSA区域内以LSA 7存在。当此LSA 7路由离开NSSA区域进入别的区域时,NSSA的ABR会进行LSA 7向LSA 5的转换(如图Area 7所示)。
本区域禁止LSA3/4/5进入,只有本区域内路由和外部路由。配置Total NSSA Area后的ABR设备会在区域内自动的生成一条一条3类LSA 0.0.0.0/0的默认路由(以便访问OSPF中其他区域的网络)。
Totally NSSA区域的特点包括:
允许在Totally NSSA区域中引入外部路由。
Totally NSSA区域的ASBR将外部路由转换为Totally NSSA LSA类型。
Totally NSSA区域内的其他路由器可以接收和转发Totally NSSA LSA。
允许传输末端区域和外部区域的网络信息。
Area 0(主干区域)的外部路由信息也传输到Totally-NSSA区域中。
配置:属于nssa区域的ABR设备需要配
ospf 1 router-id 11.1.1.1
area 0.0.0.2
nssa no-summary //把区域2设置为totally nssa区域
GE 0/0 ospf 1 area 0 //将接口GE 0/0添加到Area 0(主干区域)。
GE 0/1 ospf 1 area 1 nssa //将接口GE 0/1添加到Area 1,并配置为NSSA区域。
GE 0/2 ospf 1 area 2 nssa no-summary //将接口GE 0/2添加到Area 2,并配置为Totally-NSSA区域。
6、四者的比较
Stub与NSSA
都是过滤4、5类LSA
Stub生成3类默认路由、NSSA生成7类默认路由
NSSA可引入外部路由作为7类LSA
TotallyStub与TotallyNSSA
都是过滤3、4、5类LSA
Totally Stub生成3类默认路由、Totally NSSA生成3类默认路由与7类默认路由
Totally NSSA仍然可以引入外部路由作为7类LSA传递
整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun 暗号:CSDN】