1. 从一次路由表膨胀说起:特殊区域到底在解决什么问题
先讲一个我实际遇到的组网场景。前几年给一家连锁零售企业做核心网络改造,总部在A市,下辖二十多个门店,每个门店一台路由器,通过运营商专线和总部核心交换机互联。刚开始业务规模小,OSPF单区域跑得很欢快,所有门店设备都在Area 0里,问题也不明显。后来门店越开越多,总部的核心设备上还接入了ERP、CRM、银联、监控平台等一大堆外部网络的静态路由,这些路由通过路由重发布全部引入到了OSPF。结果门店那些低配路由器开始频繁告警,CPU长时间跑满,OSPF邻居一天能抖好几次,门店结账POS机动不动就断网。
打开设备一看,问题非常清楚:门店路由器内存不到256MB,但OSPF的LSDB里存了整整两百多条Type 5外部LSA和几十条Type 3区域间LSA。每次外部链路变化,所有路由器都要重新泛洪、重新跑SPF算法,低配设备根本扛不住。
这就是OSPF特殊区域存在的根本意义——不是所有路由器都需要知道全网的每一条外部路由。门店接入路由器只需要知道"怎么到达总部、怎么到达其他门店",至于总部连了哪些银联专线、哪些监控平台,对它们来说毫无意义。特殊区域就是把这些"没有意义的路由信息"在区域边界上裁掉,让内部路由器维护最小的LSDB,跑最轻的SPF。
这个优化逻辑放在考试里属于OSPF基础,但放在真实项目里就是能不能保住网络稳定的关键。HCIP-Datacom-Core Technology的OSPF部分对特殊区域的考法非常细,不像HCIA那样只问你stub区域能不能配ASBR,而是会给出具体组网拓扑,让你判断该用哪种特殊区域、外部路由会以什么LSA类型出现在哪台设备上、默认路由该如何通告。接下来我把这四种特殊区域挨个拆开讲。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 四种特殊区域的原理拆解与适用取舍
2.1 Stub区域:把外部路由挡在门外
Stub这个词的直译是"残桩、短截线",在OSPF里形容"末梢"再形象不过。一个区域如果只作为网络的末端存在,区域内的路由器不需要了解OSPF自治系统外部的路由信息,那这个区域就可以配置为Stub区域。
Stub区域的规则有四条,每条都值得展开说:
第一,Stub区域不允许Type 4和Type 5 LSA进入。Type 5是外部路由的载体,Type 4是ASBR的定位信息,两者都是给"外部路由"服务的。把这两个类型的LSA挡在区域外,区域内的LSDB里就只剩Router LSA、Network LSA和Type 3的Summary LSA,SPF的计算范围大幅缩减。
第二,Stub区域内的路由器不能存在ASBR。这个很好理解,ASBR是外部路由的引入者,一定会产生Type 5 LSA,这和第一条矛盾。所以考试经常在这里设坑:如果一个Area 1里有路由重发布配置,那Area 1就不可能配成Stub。
第三,Stub区域不能是骨干区域Area 0。骨干区域是OSPF的枢纽,所有非骨干区域的流量都要经过Area 0转发,如果Area 0变成了Stub,外部路由怎么传?所以这条是硬约束。
第四,虚连接不能穿越Stub区域。虚连接的本质是让非骨干区域和骨干区域之间有逻辑通路,需要通过普通区域的LSA传递信息,Stub区域把外部LSA都挡了,虚连接自然无法建立。
Stub区域的ABR会自动向区域内下发一条Type 3的默认路由(0.0.0.0/0),这样区域内的路由器即使没有外部路由明细,也能通过默认路由把流量送出去。
2.2 Totally Stub区域:连区域间路由都省了
Totally Stub是在Stub基础上进一步裁剪——不只是Type 4和Type 5,连Type 3的区域间LSA也一并挡在外面,只保留ABR下发的那条默认路由。区域内路由器维护的LSDB只剩本区域内部的Router LSA和Network LSA,SPF计算范围被压缩到极致。
配置上有一个特别容易误解的地方:Totally Stub是在ABR上使用stub no-summary命令实现的,而区域内的其他路由器只需要配置stub即可。
no-summary的含义是"ABR不再向该区域通告Type 3的Summary LSA",这个参数只在ABR上生效。如果你在区域内的普通路由器上配了stub no-summary,设备会直接报错或者不生效,因为非ABR路由器根本没有生成Summary LSA的职责。
Totally Stub适合那种"纯末端"场景:区域里只有用户终端接入,没有任何跨区域的业务访问需求,去往外部的流量全部走默认路由。零售门店、小型分支办公室就属于典型场景。
2.3 NSSA区域:网开一面,让外部路由以Type 7身份进入
Stub区域的最大限制是区域内不能有ASBR,但现实场景里经常遇到"这个区域虽然是末梢,但它自己需要引入外部路由"的情况。比如一个分公司区域,有自己的服务器网段,有一段静态路由指向第三方专线。这个区域既不想接收全公司的外部路由明细,又需要把自己本地的外部路由发布出去。
NSSA(Not-So-Stubby Area,非完全末梢区域)就是为这种场景设计的。NSSA区域仍然拒绝普通的Type 5 LSA进入,但允许区域内的ASBR产生一种新的LSA类型——Type 7 LSA(NSSA External LSA)。Type 7 LSA在NSSA区域内
