第69篇:OSPF 特殊区域——Stub、Totally Stub、NSSA

关键词

OSPF、Stub Area、Totally Stub、NSSA、Totally NSSA、特殊区域、LSDB 精简


一、为什么需要特殊区域?

在多区域 OSPF 网络中,非骨干区域的路由器通常不需要知道完整的全网拓扑。特殊区域的目的是:

  1. 精简 LSDB——减少 LSA 数量,降低路由器内存消耗
  2. 提高稳定性——外部路由变化不影响特殊区域
  3. 简化配置——区域边缘路由器自动生成默认路由

二、五种区域类型总览

区域类型 允许 Type 1/2 允许 Type 3 允许 Type 4/5 允许 Type 7 默认路由
普通区域
Stub ✅(自动)
Totally Stub ❌(除默认路由) ✅(自动)
NSSA ❌(可选)
Totally NSSA ❌(除默认路由) ✅(自动)

三、Stub Area(末梢区域)

3.1 特点

Stub Area

Type1/2 ✅ Type3 ✅ Type4/5 ❌ ABR 自动生成 默认路由 Type3 │ ▼ Area 0(骨干)

核心规则: 1. 不允许 Type 4/5 LSA 进入 2. ABR 自动生成一条默认路由(Type 3,Cost 可配置) 3. 区域内不能配置 ASBR(不能 import-route

3.2 配置

# ABR 上配置
ospf 1
 area 1
  stub

# 区域内其他路由器
ospf 1
 area 1
  stub

注意:区域内所有路由器都必须配置 stub,否则邻居无法建立。

3.3 默认路由 Cost

# 修改默认路由的 Cost
ospf 1
 area 1
  stub
  default-cost 20           # 默认路由的 Cost,默认 1

3.4 适用场景

  • 分支网络的接入层路由器
  • 不需要知道外部路由细节的区域
  • 希望减少 LSDB 规模的地方

四、Totally Stub Area(完全末梢区域)

4.1 特点

Totally Stub Area

Type1/2 ✅ Type3 ❌ Type4/5 ❌ ABR 自动生成 默认路由 Type3

比 Stub 更严格:不仅阻止 Type 4/5,还阻止所有 Type 3 LSA(除了默认路由)。

4.2 配置

# ABR 上配置(加 no-summary 参数)
ospf 1
 area 1
  stub no-summary

# 区域内其他路由器(仍配置 stub)
ospf 1
 area 1
  stub

4.3 Stub vs Totally Stub

对比项 Stub Totally Stub
是否有 Type 3 区域间路由 ✅ 有(但不是全部) ❌ 除了默认路由
LSDB 大小 较小 最小
去往其他区域 路由表中能看到具体网段 只知道默认路由
配置 所有路由器配置 stub ABR 加 no-summary

五、NSSA(Not-So-Stubby Area)

5.1 特点

已在第 63 篇详细讲解,此处作为对比总结:

NSSA Area

Type1/2 ✅ Type3 ✅ Type4/5 ❌ Type7 ✅ 默认路由 ❌

5.2 配置回顾

ospf 1
 area 1
  nssa                          # 配置为 NSSA

# NSSA 内 ASBR 引入路由
ospf 1
 import-route static            # 在 NSSA 内生成 Type 7

六、Totally NSSA

6.1 特点

Totally NSSA Area

Type1/2 ✅ Type3 ❌ Type4/5 ❌ Type7 ✅ 默认路由 ✅

6.2 配置

ospf 1
 area 1
  nssa no-summary               # 阻止 Type 3,自动生成默认路由

七、区域选择决策树

是否需要引入外部路由?
  ├─ 是 ─→ 是否需要区域间路由细节?
  │        ├─ 是 ─→ NSSA
  │        └─ 否 ─→ Totally NSSA
  │
  └─ 否 ─→ 是否需要区域间路由细节?
           ├─ 是 ─→ Stub
           └─ 否 ─→ Totally Stub

八、特殊区域的限制

限制 说明
Area 0 不能是特殊区域 骨干区域必须是普通区域
Virtual Link 不能穿越特殊区域 Virtual Link 只能在普通区域中建立
区域内所有路由器配置必须一致 同一区域要么都是 Stub,要么都不是
特殊区域内不能有 ASBR Stub/Totally Stub 不允许 import-route

九、实际部署建议

9.1 企业分支网络

核心层(Area 0):普通区域
汇聚层(Area 1):Stub
接入层(Area 2):Totally Stub

9.2 需要引入外部路由的分支

核心层(Area 0):普通区域
分支(Area 1):NSSA(分支有本地静态路由需要引入)

十、总结

区域类型 最精简的 LSDB 能否引入外部路由
普通区域
Stub 中等
Totally Stub 最小
NSSA 中等 ✅(Type 7)
Totally NSSA 较小 ✅(Type 7)

十一、思考

  1. Stub 区域和 Totally Stub 区域的核心区别是什么?
  2. 为什么骨干区域(Area 0)不能配置为 Stub 区域?
  3. 在一个 Stub 区域中,如果没有 ABR 自动生成的默认路由,区域内的路由器如何访问其他区域?
  4. 什么场景下应该使用 NSSA 而不是 Stub 区域?
  5. Virtual Link 能否穿越 Stub 区域?为什么?

下篇预告:第70篇《多区域 OSPF 部署设计案例》——从零设计一个企业级多区域 OSPF 网络。