第63篇:NSSA 区域与 Type7 LSA 的转换

关键词

OSPF、NSSA、Type7、LSA 转换、Stub 区域、ASBR、ABR


一、NSSA 出现的背景

1.1 Stub 区域的限制

Stub 区域不允许 Type 4/5 LSA 进入,这意味着 Stub 区域内不能引入外部路由。但现实中,Stub 区域下的某些设备可能也需要引入少量外部路由(如静态路由)。

1.2 NSSA 的诞生

NSSA(Not-So-Stubby Area) 就是为了解决这个矛盾而生的:

  • 像 Stub 区域一样:不接收 Type 4/5 LSA(保持 LSDB 精简)
  • 不像 Stub 区域:允许本区域内的 ASBR 引入外部路由
     NSSA Area                        Area 0
    
    NSSA-ASBR 引入外部路由 生成 Type7 LSA ────ABR──── Type5 其他区域路由器 收到 Type5 LSA
    └──────────────────┘ (转换后) └──────────────────┘

二、Type 7 LSA 详解

2.1 基本特征

特性 说明
类型编号 Type 7
正式名称 NSSA LSA
生成者 NSSA 区域内的 ASBR
传播范围 仅限 NSSA 区域内
是否转 Type 5 ✅ 由 ABR 转换为 Type 5

2.2 Type 7 与 Type 5 的对比

对比项 Type 5 Type 7
生成者 任何区域的 ASBR NSSA 区域内的 ASBR
传播范围 整个 AS 仅 NSSA 区域内
能否跨区域传播 ❌(必须由 ABR 转换为 Type 5)
Options 字段中的 P-bit 有(标识是否可转换)

2.3 Type 7 LSA 的结构

Type: NSSA (Type 7)
LS ID: 192.168.1.0               → 外部网段
Adv Rtr: 6.6.6.6                 → NSSA 区域内 ASBR 的 Router ID
Net Mask: 255.255.255.0
Metric: 20
E Type: 2
Forwarding Address: 0.0.0.0
Tag: 1
Options: [P]                      → P-bit 标记(表示可转为 Type 5)

2.4 P-bit(Propagate Bit)

P-bit 是 Type 7 LSA 特有的标记位:

  • P-bit = 1:ABR 可以将此 Type 7 转换为 Type 5
  • P-bit = 0:不应转换(仅在 NSSA 区域内有效)

默认情况下,NSSA ASBR 生成的 Type 7 LSA 的 P-bit 为 1。


三、Type 7 → Type 5 的转换过程

3.1 转换条件

NSSA ABR 检查 Type 7 LSA:
  ├─ P-bit = 1?      ──→ 继续检查
  └─ P-bit = 0?      ──→ 不转换

  ├─ 路由可达?       ──→ 继续检查
  └─ 路由不可达?     ──→ 不转换

  ──→ 转换为 Type 5 LSA,通告到其他区域

3.2 转换前后对比

转换前(NSSA 区域内):
  Type 7 LSA: 192.168.1.0/24, Cost=20, AdvRtr=6.6.6.6 (NSSA-ASBR)

转换后(Area 0 及其他区域):
  Type 5 LSA: 192.168.1.0/24, Cost=20, AdvRtr=1.1.1.1 (ABR)
  Type 4 LSA: AdvRtr=1.1.1.1, ASBR=1.1.1.1 (ABR 作为伪 ASBR)

注意:转换后,Type 5 的 Adv Rtr 从 NSSA-ASBR 的 Router ID 变为了 ABR 的 Router ID。对 OSPF 域的其他部分来说,ABR 充当了该外部路由的 ASBR。


四、NSSA 的配置

4.1 配置 NSSA 区域

# ABR 上配置
ospf 1
 area 1
  nssa                       # 将 Area 1 配置为 NSSA

# NSSA 区域内的其他路由器
ospf 1
 area 1
  nssa

4.2 NSSA 区域内引入外部路由

# NSSA 区域内的 ASBR
ospf 1
 import-route static         # 引入静态路由(会在 NSSA 内生成 Type 7 LSA)

4.3 NSSA 参数配置

ospf 1
 area 1
  nssa default-route-advertise              # ABR 自动向 NSSA 内注入默认路由
  nssa no-import-route                      # 禁止 ABR 将本机引入的路由注入 NSSA
  nssa translator-always                    # 强制 ABR 始终执行 7→5 转换
  nssa translator-stable-interval 60        # 转换选举稳定时间

五、NSSA 的默认路由

5.1 NSSA 区域的默认路由行为

与 Stub 区域不同,NSSA 区域的 ABR 默认不会向区域内注入默认路由。

如果需要,必须显式配置:

ospf 1
 area 1
  nssa default-route-advertise

5.2 两种默认路由形式

形式 类型 说明
Type 3 区域间 由 ABR 生成,Cost 固定
Type 7 NSSA 外部 default-route-advertise 生成

推荐使用 default-route-advertise,因为它可以携带更灵活的策略。


六、NSSA 转换器的选举

6.1 多 ABR 场景

当 NSSA 区域中有多个 ABR 时,需要选举一个"转换器"(Translator)来执行 Type 7 → Type 5 的转换。

NSSA Area
  │
  ├── ABR1(Router ID: 1.1.1.1)→ 转换器
  └── ABR2(Router ID: 2.2.2.2)→ 备用

选举规则:
  1. 优先选配置了 translator-always 的 ABR
  2. 否则选 Router ID 最大的

6.2 查看转换器

display ospf nssa-translator

NSSA Translator Information
  Area: 0.0.0.1
  Translator State: Elected    ← 当选状态
  Translator Stable Interval: 60
  Elected Router ID: 1.1.1.1

七、NSSA 与其他特殊区域的对比

区域类型 允许 Type 3 允许 Type 4/5 允许 Type 7 能否引入外部路由
普通区域 ✅(Type 5)
Stub
Totally Stub ❌(除默认路由)
NSSA ✅(Type 7)
Totally NSSA ❌(除默认路由) ✅(Type 7)

八、总结

知识点 核心要点
NSSA 定位 在限制外部 LSA 的同时允许引入外部路由
Type 7 LSA NSSA 内部的外部路由载体
P-bit 标记 标识 Type 7 LSA 是否需要转换为 Type 5
转换过程 由 NSSA ABR 完成 Type 7 → Type 5
默认路由 NSSA 不自动生成,需 default-route-advertise
转换器选举 多 ABR 场景下选举唯一的转换执行者

九、思考

  1. NSSA 与 Stub 区域的核心区别是什么?
  2. 为什么需要 Type 7 LSA?直接在 NSSA 内使用 Type 5 不可以吗?
  3. P-bit 的作用是什么?什么情况下 P-bit 被设置为 0?
  4. 在 NSSA 区域中,Type 7 转换为 Type 5 后,Adv Rtr 字段有什么变化?为什么?
  5. 如果一个 NSSA 区域有多台 ABR,由谁来执行 Type 7 → Type 5 的转换?

下篇预告:第64篇《OSPF 路由选路——区域内 > 区域间 > 外部》——掌握 OSPF 路由优选的核心规则。