第70篇:多区域 OSPF 部署设计案例

关键词

OSPF、多区域、设计案例、ABR、Area 规划、骨干区域


一、案例背景

某中型企业在全国有 1 个总部和 3 个分支机构,需要设计多区域 OSPF 网络。

1.1 网络需求

站点 角色 路由器数量 是否需要引入外部路由
北京总部 核心 2 台核心 + 4 台汇聚 ✅ 连接 BGP 互联网
上海分支 区域 2 台接入
广州分支 区域 2 台接入
成都分支 区域 2 台接入 ✅ 引入本地静态路由

1.2 拓扑设计

                    ┌─────────────────────┐
                    │     Internet / BGP   │
                    └──────────┬──────────┘
                               │
                      ┌────────┴────────┐
                      │   ASBR1/ASBR2   │
                      │  (引入 BGP 路由) │
                      └────────┬────────┘
                               │
┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐
Core-1 (ABR) Core-2 (ABR) Core-3 (ABR)
│ │ │
──────┴──────────────┴──────────────┴──── Area 0(骨干)
│ │ │
Area 1 上海分支 Totally Stub Area 2 广州分支 Totally Stub Area 3 成都分支 Totally NSSA
--- --- --- --- ---

二、区域规划

2.1 Area 0(骨干区域)

  • 位置:北京总部核心层
  • 设备:3 台核心路由器(Core-1、Core-2、Core-3)
  • 角色:ABR + ASBR
  • 区域类型:普通区域

设计考虑

# Core-1 配置(ABR + ASBR)
ospf 1
 router-id 1.1.1.1
 area 0.0.0.0                    # 骨干区域
  network 10.0.0.0 0.0.255.255   # 核心互联网段
 area 0.0.0.1                    
  stub no-summary                # Area 1 为 Totally Stub
 area 0.0.0.2
  stub no-summary                # Area 2 为 Totally Stub
 area 0.0.0.3
  nssa no-summary                # Area 3 为 Totally NSSA

# 引入 BGP 外部路由
bgp 65001
 import-route ospf 1
#
ospf 1
 import-route bgp                 # 引入 BGP 路由到 OSPF

2.2 Area 1(上海分支——Totally Stub)

  • 特点:不需要外部路由,不需要区域间路由细节
  • 区域类型:Totally Stub(最精简)
# Core-1 上(ABR 侧)
ospf 1
 area 0.0.0.1
  stub no-summary
  default-cost 100

# 上海分支路由器
ospf 1
 router-id 10.1.1.1
 area 0.0.0.1
  stub
  network 172.16.1.0 0.0.0.255

2.3 Area 2(广州分支——Totally Stub)

  • 特点:与上海类似
  • 区域类型:Totally Stub
# Core-2 上(ABR 侧)
ospf 1
 area 0.0.0.2
  stub no-summary

# 广州分支路由器
ospf 1
 router-id 20.1.1.1
 area 0.0.0.2
  stub

2.4 Area 3(成都分支——Totally NSSA)

  • 特点:需要引入本地静态路由
  • 区域类型:Totally NSSA
# Core-3 上(ABR 侧)
ospf 1
 area 0.0.0.3
  nssa no-summary                # 阻止 Type 3,自动生成默认路由

# 成都分支路由器(同时是 NSSA ASBR)
ospf 1
 router-id 30.1.1.1
 area 0.0.0.3
  nssa
  import-route static             # 引入本地静态路由 → 生成 Type 7 LSA

三、IP 地址规划

区域 网段范围 用途
Area 0 10.0.0.0/16 核心互联、Loopback
Area 1 172.16.1.0/24 上海分支用户
Area 2 172.16.2.0/24 广州分支用户
Area 3 172.16.3.0/24 成都分支用户
BGP 引入 100.64.0.0/16 互联网公网映射

汇总配置

# 在 Core-1 上汇总 Area 1 的路由
ospf 1
 area 0.0.0.1
  abr-summary 172.16.0.0 255.255.0.0   # 汇总所有分支路由

四、冗余设计

4.1 ABR 冗余

每个分支区域至少连接到两台核心路由器(多 ABR):

                  Area 0
              ┌────┴────┐
              │         │
            Core-1    Core-2
              │         │
              └────┬────┘
                  Area 1

优势: - 单台 ABR 故障不影响分支区域互联 - 多 ABR 之间的 Type 3 LSA 自动切换

4.2 等价路径

核心层与分支之间有多条链路时,OSPF 自动 ECMP 负载分担。


五、路由策略配置

5.1 外部路由控制

# 使用 Route-Policy 控制引入 BGP 路由
route-policy IMPORT_BGP permit node 10
 if-match ip-prefix ALLOW_PREFIX
 apply cost 50
 apply type type-1

ospf 1
 import-route bgp route-policy IMPORT_BGP

5.2 默认路由控制

# 调整 Totally Stub 区域的默认路由 Cost
ospf 1
 area 0.0.0.1
  stub no-summary
  default-cost 50              # 默认路由 Cost 为 50

六、验证与排错

6.1 验证命令

# 查看 OSPF 邻居
display ospf peer

# 查看区域信息
display ospf brief

# 查看 LSDB
display ospf lsdb

# 查看路由表
display ip routing-table protocol ospf

# 查看默认路由
display ip routing-table 0.0.0.0

6.2 常见问题

问题 原因 解决
分支路由器没有默认路由 ABR 未配置 stub no-summary 检查 ABR 配置
外部路由在 Area 1 不可见 Totally Stub 阻止 Type 5 ✓ 正常行为 预期行为
NSSA 的 Type 7 没有转 Type 5 ABR 转换器选举有问题 检查 NSSA translator
分支之间互访路径非最优 分支通过总部绕行 检查 Cost 或考虑部署直连

七、设计要点总结

设计要素 建议
Area 0 必须连续 所有非骨干区域必须直连 Area 0
核心层设备性能高 ABR 和 ASBR 承担更多任务
分支用特殊区域 Totally Stub 或 Totally NSSA
路由汇总 在 ABR 上做汇总,减少 LSDB
默认路由策略 调整 default-cost 影响选路
冗余 ABR 每个分支至少连接 2 台 ABR

八、思考

  1. 在这个案例中,上海和广州使用 Totally Stub,成都使用 Totally NSSA,为什么?
  2. 如果 Core-1 故障,上海分支还能访问总部和其他分支吗?
  3. 成都分支引入的静态路由在其他区域(上海、广州)中以什么 LSA 形式呈现?
  4. 使用 abr-summary 汇总分支路由有什么好处和潜在风险?
  5. 如果分支路由器收到的默认路由 Cost 太高,通过哪个命令调整?

下篇预告:第71篇《IS-IS 协议基础——CLNS 与 OSI 协议栈》——进入 IS-IS 的世界,了解与 OSPF 不同的设计哲学。