第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 |
八、思考
- 在这个案例中,上海和广州使用 Totally Stub,成都使用 Totally NSSA,为什么?
- 如果 Core-1 故障,上海分支还能访问总部和其他分支吗?
- 成都分支引入的静态路由在其他区域(上海、广州)中以什么 LSA 形式呈现?
- 使用
abr-summary汇总分支路由有什么好处和潜在风险? - 如果分支路由器收到的默认路由 Cost 太高,通过哪个命令调整?
下篇预告:第71篇《IS-IS 协议基础——CLNS 与 OSI 协议栈》——进入 IS-IS 的世界,了解与 OSPF 不同的设计哲学。