第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 域与外部的边界路由器。它负责:

  1. 学习外部路由(通过 BGP、静态、RIP 等)
  2. 将外部路由以 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:

  1. ASBR 连接的外部网络的下一跳接口启用了 OSPF
  2. 该接口不是 P2P 或 P2MP
  3. 该接口的 IP 地址在 OSPF 路由可达的网段内

作用:优化转发路径,让流量直接到达外部网关,避免经过 ASBR 绕路。

非最优(FA=0.0.0.0):
  RouterA → ASBR → 外部网关

最优(FA=非零):
  RouterA → 外部网关(直接转发,不经过 ASBR)

七、Route Tag(路由标记)

7.1 作用

Route Tag 是一个 32 位的标记字段,用于:

  1. 防环:标识被引入的路由,防止再次引入回源协议
  2. 策略识别:不同来源的外部路由打不同 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

十、思考

  1. Type 5 LSA 是由哪类路由器生成的?它与 Type 3 LSA 有什么本质区别?
  2. 在多 ASBR 场景中,如果两台 ASBR 引入同一条外部路由,如何确保路由器选择最近的 ASBR?
  3. Forwarding Address 为非零值时有什么好处?
  4. 路由引入时为什么要使用 Route-Policy?
  5. 如果 OSPF 域内既有 BGP 又有静态路由被引入,如何通过 Tag 区分它们的来源?

下篇预告:第62篇《Type4 ASBR-Summary LSA 的作用》——为什么其他区域需要知道 ASBR 的位置?