在 OSPF 的多区域架构中,特殊区域(Special Areas)设计的初衷是为了 减少低性能路由器的 LSDB 负载 (主要通过过滤 Type-4 和 Type-5 LSA)并维持全网连通性。
我们需要从 LSA 过滤规则 、缺省路由(Default Route)下发机制以及 ABR/ASBR 的角色行为三个维度来深度解析。
OSPF 特殊区域特性对比表
为了方便你横向对比,我整理了这四种区域的核心差异:
| 区域类型 | 允许 Type-3 | 允许 Type-5 | 缺省路由 (Default Route) 来源 | ABR 行为 | ASBR 存在性 |
|---|---|---|---|---|---|
| Stub | 是 | 否 | Type-3 LSA ($0.0.0.0/0$) | 自动下发 | 不允许 |
| Totally Stub | 否 (仅缺省) | 否 | Type-3 LSA ($0.0.0.0/0$) | 自动下发 | 不允许 |
| NSSA | 是 | 否 (转为 Type-7) | 无 (需手动或条件触发) | 不自动下发 | 允许 |
| Totally NSSA | 否 (仅缺省) | 否 (转为 Type-7) | Type-3 LSA ($0.0.0.0/0$) | 自动下发 | 允许 |
1. Stub Area (末梢区域)
- 过滤规则 :禁止 Type-5 LSA (外部路由) 在区域内泛洪。由于 Type-5 被滤除,与之对应的 Type-4 LSA (ASBR 汇总) 也就失去了意义,同样被滤除。
- 缺省路由 :为了保证能访问外部网络,ABR 会自动产生一条 Type-3 LSA 的缺省路由。
- 限制 :区域内不能存在 ASBR,且虚连接(Vlink)不能穿过 Stub 区域。
2. Totally Stub Area (完全末梢区域)
- 进阶过滤 :在 Stub 的基础上,进一步滤除了 Type-3 LSA (区域间路由)。
- 缺省路由 :ABR 仅保留一条 Type-3 LSA 的缺省路由,用于指引所有区域外(包括区域间和自治系统外)的流量。
- 原理依据 :此区域内的路由器 LSDB 极小,仅包含本区域拓扑和一条指向 ABR 的缺省路由。
3. NSSA (Not-So-Stubby Area)
NSSA 的引入打破了“末梢区域不能有 ASBR”的限制。
- 注入机制 (Type-7 to Type-5) :
- ASBR 引入外部路由,产生 Type-7 LSA 。
- Type-7 LSA 在 NSSA 区域内泛洪。
- 在 NSSA 的 ABR (Router ID 最大的那个) 上,执行 7/5 转换 。转换后的 Type-5 LSA 被泛洪到 Area 0,从而通告给全网。
- 缺省路由下发 :
- ABR 不会自动生成 。需要管理员通过命令
nssa default-route-advertise手动触发 ABR 下发一条 Type-7 的缺省路由。 - 这是为了防止在多 ABR 场景下产生次优路径。
4. Totally NSSA (完全非纯末梢区域)
- 过滤规则 :同时滤除 Type-3 和 Type-5 LSA。
- 缺省路由 :与 Totally Stub 类似,ABR 会自动下发一条 Type-3 LSA 的缺省路由。
- 特殊点 :在 Totally NSSA 中,你可能会同时看到 Type-3 的缺省路由(ABR 自动产生)和 Type-7 的外部路由(本区域 ASBR 产生)。
关键技术细节 (Expert Level Tips)
1. 缺省路由的优先级
在 Totally NSSA 区域中,如果 ABR 同时下发了 Type-3 缺省和 Type-7 缺省,根据 OSPF 的选路规则:
区域内路径 (Intra-Area) > 区域间路径 (Inter-Area) > 第一类外部路径 (Type-1) > 第二类外部路径 (Type-2) 。
因此,Type-3 的缺省路由优先级高于 Type-7 的缺省路由。
2. FA (Forwarding Address) 的作用
在 NSSA 区域的 7/5 转换中,Type-5 LSA 会携带 FA 地址 。
- 如果满足特定条件(如接口非 P2P、接口未 Silent 等),FA 会被设置为 ASBR 上的下一跳地址。
- 如果 FA 为 $0.0.0.0$,则流量根据 ABR 的位置转发;如果 FA 非 0,则路由必须存在于路由表中才能使该外部路由生效,这在 HCIE 面试中是关于“防环与选路”的高频考点。
3. ABR 的特殊身份
在特殊区域中,所有的 ABR 都会在其产生的 Network Summary LSA (Type-3) 中清除 E-bit (在 Hello 报文中也会体现),以标识该区域不支持外部路由(Type-5)。如果区域两端的配置不匹配(一个设为 Stub,另一个不是),邻居关系将无法到达 Full 状态。