第61篇:Type5 AS-External LSA 的外部路由注入
关键词
OSPF、Type5、AS-External LSA、ASBR、路由引入、E1/E2、External Route
一、为什么需要外部路由注入?
路由协议的世界里,OSPF 只能学到 OSPF 域内的路由。但现实网络中,OSPF 域往往需要与其他路由协议(如 BGP、RIP、静态路由)互通。
这时就需要 路由引入(Route Import/Redistribution)——将其他来源的路由以 Type 5 LSA(AS-External LSA)的形式注入 OSPF 域。
OSPF Domain 外部网络(BGP/Static/RIP)
| RouterA ─── ASBR ───┼──────────┤ 172.16.0.0/16 | Type5 | |
|---|---|---|
二、ASBR(自治系统边界路由器)
2.1 定义
ASBR(Autonomous System Boundary Router) 是连接 OSPF 域与外部的边界路由器。它负责:
- 学习外部路由(通过 BGP、静态、RIP 等)
- 将外部路由以 Type 5 LSA 的形式注入 OSPF
2.2 如何判断一台路由器是 ASBR
display ospf brief
# 如果输出中包含 "ASBR",则该路由器为 ASBR
成为 ASBR 的条件:只要在 OSPF 进程中配置了 import-route 命令,该路由器就自动成为 ASBR。
三、Type 5 LSA 的结构
Type: External (Type 5)
LS ID: 172.16.0.0 → 外部路由的网段
Adv Rtr: 5.5.5.5 → ASBR 的 Router ID
Net Mask: 255.255.0.0 → 子网掩码
Metric: 20 → 外部 Cost
E Type: 2 → E1 或 E2
Forwarding Address: 0.0.0.0 → 转发地址(通常为 0.0.0.0)
Tag: 1 → 路由标记(用于防环和策略控制)
3.1 关键字段解释
| 字段 | 含义 |
|---|---|
| LS ID | 外部路由的目的网段 |
| Adv Rtr | ASBR 的 Router ID |
| Metric | 外部路由的度量值 |
| E Type | E1(Type 1)或 E2(Type 2) |
| Forwarding Address | 转发地址,非 0.0.0.0 时表示流量应发往该地址 |
| Tag | 用于路由策略标记,默认 1 |
四、路由引入配置
4.1 引入静态路由
ospf 1
import-route static # 引入所有静态路由
4.2 引入直连路由
ospf 1
import-route direct # 引入所有直连接口路由
4.3 引入 BGP 路由
ospf 1
import-route bgp # 引入 BGP 路由
4.4 指定 Cost 和类型
ospf 1
import-route static cost 50 type 1 # 指定 Cost=50,类型为 E1
import-route bgp cost 100 type 2 # 指定 Cost=100,类型为 E2
4.5 通过 Route-Policy 精确控制
ospf 1
import-route bgp route-policy OSPF_IMPORT_BGP # 使用路由策略
route-policy OSPF_IMPORT_BGP permit node 10
if-match ip-prefix ALLOW_PREFIX
apply cost 50
apply type type-1
五、E1 与 E2 外部路由详解
5.1 E2(默认类型)
特性:不累加内部 Cost。
Area 0
ASBR ─── ABR1 ────────── ABR2 ─── RouterB
| Cost:10 Cost:20 |
| |
└── Type5 E2 Metric=20 ───────────────┘
RouterB 看到的外部路由 Cost:
E2 方式:Cost = 20(仅外部 Cost,不累加内部)
5.2 E1
特性:累加从 ASBR 到本地的内部 Cost。
RouterB 看到的外部路由 Cost:
E1 方式:Cost = 20(外部)+ 20(内部)= 40
5.3 选路对比
多 ASBR 场景(都用 E2 时):
ASBR1 (Cost=10) ──── RouterX
│ │
│ Type5 E2 Metric=20 │
│ │
ASBR2 (Cost=10) ──── RouterX
│
172.16.0.0/16
RouterX 的选择:
E2 → 两条路径都显示 Cost=20,负载分担或随机选
改为 E1:
经 ASBR1:20 + 10 = 30
经 ASBR2:20 + 10 = 30
仍然相同(假设内部 Cost 相同)
但如果内部路径不同:
经 ASBR1:20 + 5 = 25 → 优选
经 ASBR2:20 + 15 = 35
结论:当内部 Cost 差异较大时,应使用 E1 获得最优路径。
六、Forwarding Address(转发地址)
6.1 默认行为
大多数情况下,Type 5 LSA 的 Forwarding Address 为 0.0.0.0,表示流量应该发给 ASBR。
6.2 非零转发地址
当满足以下条件时,Forwarding Address 不为 0.0.0.0:
- ASBR 连接的外部网络的下一跳接口启用了 OSPF
- 该接口不是 P2P 或 P2MP
- 该接口的 IP 地址在 OSPF 路由可达的网段内
作用:优化转发路径,让流量直接到达外部网关,避免经过 ASBR 绕路。
非最优(FA=0.0.0.0):
RouterA → ASBR → 外部网关
最优(FA=非零):
RouterA → 外部网关(直接转发,不经过 ASBR)
七、Route Tag(路由标记)
7.1 作用
Route Tag 是一个 32 位的标记字段,用于:
- 防环:标识被引入的路由,防止再次引入回源协议
- 策略识别:不同来源的外部路由打不同 Tag
7.2 常见用途
| Tag 值 | 含义 |
|---|---|
| 1 | 默认 |
| 100 | 来自 BGP 的外部路由 |
| 200 | 来自静态路由 |
| 300 | 来自 RIP |
route-policy SET_TAG permit node 10
if-match ip-prefix EXTERNAL
apply tag 100
八、外部路由的查看
# 查看 Type 5 LSA
display ospf lsdb ase
# 查看外部路由详情
display ospf lsdb ase 172.16.0.0
# 查看 OSPF 路由表中的外部路由
display ospf routing
# 查看完整路由表
display ip routing-table protocol ospf
九、总结
| 知识点 | 核心要点 |
|---|---|
| 生成者 | ASBR |
| 传播范围 | 整个 OSPF 域(所有区域) |
| 内容 | 外部路由的前缀、掩码、Cost、E 类型 |
| E1 vs E2 | E1 累加内部 Cost,E2 不累加 |
| Forwarding Address | 非零时流量直达外部网关 |
| Tag | 用于防环和策略标记 |
| 配置命令 | import-route + 可选 route-policy |
十、思考
- Type 5 LSA 是由哪类路由器生成的?它与 Type 3 LSA 有什么本质区别?
- 在多 ASBR 场景中,如果两台 ASBR 引入同一条外部路由,如何确保路由器选择最近的 ASBR?
- Forwarding Address 为非零值时有什么好处?
- 路由引入时为什么要使用 Route-Policy?
- 如果 OSPF 域内既有 BGP 又有静态路由被引入,如何通过 Tag 区分它们的来源?
下篇预告:第62篇《Type4 ASBR-Summary LSA 的作用》——为什么其他区域需要知道 ASBR 的位置?