第192篇:跨域骨干网互联方案
关键词:跨域 L3VPN、Option A、Option B、Option C、SE 路由器、跨域路由传递、运营商互联、骨干网扩展
一、引言
在第191篇中,我们完成了单一 AS 内 MPLS 骨干网的分层架构设计。然而,真实的运营商网络往往跨越多个省、多个自治域(AS),这就需要跨域互联方案来打通不同域之间的 L3VPN 业务。
跨域 L3VPN(Multi-Domain L3VPN)的核心挑战在于:不同域之间通常不共享 IGP 路由,PE 设备之间的 eBGP 或 iBGP 会话如何建立,VPNv4/VPNv6 路由如何跨域传递而不违反 BGP 的水平分割规则。
IETF RFC 4364 定义了三种主流的跨域 L3VPN 方案——Option A(SE 方案)、Option B(无缝 MP-iBGP 方案)、Option C(Route Server 方案),每种方案在复杂度、可扩展性和运维成本上各有取舍。
二、跨域 L3VPN 三种方案详解
2.1 Option A:SE(Site-of-Edge)方案
Option A 是最简单的跨域方案,其核心思想是在域边界部署一台"SE(Site-of-Edge)"路由器(也称为 ASBR-PE),这台设备同时属于两个域,分别与两侧的 PE 建立 VPNv4 会话,并在本地完成 VPN 路由的"对接"。

SE 路由器配置要点:
# SE 路由器配置(同时属于域A和域B)
<SE> system-view
[SE] sysname SE-Router
# 为域A创建 VRF
[SE] ip vpn-instance VPN-A
[SE-ip-vpn-instance-VPN-A] vpn-instance-name VPN-A
[SE-ip-vpn-instance-VPN-A] rd 65001:100
[SE-ip-vpn-instance-VPN-A] route-policy VPN-A-IMPORT import
[SE-ip-vpn-instance-VPN-A] route-policy VPN-A-EXPORT export
[SE-ip-vpn-instance-VPN-A] quit
# 为域B创建 VRF
[SE] ip vpn-instance VPN-B
[SE-ip-vpn-instance-VPN-B] vpn-instance-name VPN-B
[SE-ip-vpn-instance-VPN-B] rd 65002:100
[SE-ip-vpn-instance-VPN-B] route-policy VPN-B-IMPORT import
[SE-ip-vpn-instance-VPN-B] route-policy VPN-B-EXPORT export
[SE-ip-vpn-instance-VPN-B] quit
# 使用 BGP 连接两侧
[SE] bgp 65001
[SE-bgp-65001] address-family vpnv4
[SE-bgp-65001-vpnv4] peer 10.1.1.1 vpn-instance VPN-A
[SE-bgp-65001-vpnv4] quit
[SE-bgp-65001] quit
[SE] bgp 65002
[SE-bgp-65002] address-family vpnv4
[SE-bgp-65002-vpnv4] peer 20.1.1.1 vpn-instance VPN-B
[SE-bgp-65002-vpnv4] quit
[SE-bgp-65002] quit
# 在 SE 上建立 VPN 实例间的路由互通
[SE] ip vpn-instance VPN-A
[SE-ip-vpn-instance-VPN-A] peer 20.1.1.1 as-number 65002
[SE-ip-vpn-instance-VPN-A] quit
Option A 优缺点对比:
| 优点 | 缺点 |
|---|---|
| 配置简单,易于理解和部署 | SE 成为单点故障,需要冗余设计 |
| 每个域内独立管理,互不干扰 | 无法实现端到端的 TE 流量工程 |
| 不需要修改域内 PE 配置 | SE 上的 VRF 数量随跨域 VPN 数量线性增长 |
| 天然支持跨域 QoS 策略控制 | 路径不透明,故障排查困难 |
2.2 Option B:跨域 MP-iBGP(无缝方案)
Option B 的核心思想是让不同域的 PE 设备直接建立跨 AS 的 MP-iBGP 会话,通过配置 as-override 属性消除 AS 号环路检测障碍,使 VPNv4 路由像在同一个 AS 内一样直接传递。

RR 间跨域 MP-iBGP 配置:
# 域A的 RR 配置跨域 eBGP 会话
[RR-A] bgp 65001
[RR-A-bgp-65001] peer 20.1.1.1 as-number 65002
[RR-A-bgp-65001] peer 20.1.1.1 connect-interface LoopBack0
[RR-A-bgp-65001] peer 20.1.1.1 as-override
[RR-A-bgp-65001] peer 20.1.1.1 route-policy VPN-IMPORT export
[RR-A-bgp-65001] peer 20.1.1.1 route-policy VPN-EXPORT import
[RR-A-bgp-65001] address-family vpnv4
[RR-A-bgp-65001-vpnv4] peer 20.1.1.1 enable
[RR-A-bgp-65001-vpnv4] quit
Option B 优缺点:
| 优点 | 缺点 |
|---|---|
| 端到端透明,路径清晰 | 需要跨域 PE/RR 间有 IP 可达性 |
| 故障排查直观 | as-override 改变了原始 AS_PATH |
| 支持端到端 BGP TE | 跨域链路中断影响面较大 |
| 不需要额外 SE 设备 | 跨域 BGP 会话管理复杂度高 |
2.3 Option C:跨域 Route Server(Shim 方案)
Option C 在两个域之间部署一台独立的"Shim"路由器(或称 Route Server),该路由器不参与数据转发,仅作为控制面的"路由反射中枢",收集两侧的 VPNv4 路由并进行反射与策略过滤。

Option C 优缺点:
| 优点 | 缺点 |
|---|---|
| 控制面与数据面解耦 | Shim 路由器仍需处理所有 VPNv4 路由 |
| 域间策略控制能力强 | 增加了 Shim 单点故障风险 |
| 支持复杂的跨域路由策略 | 数据路径绕行,延迟增加 |
2.4 三种方案综合对比
| 对比维度 | Option A(SE) | Option B(MP-iBGP) | Option C(Shim) |
|---|---|---|---|
| 部署复杂度 | 低 | 中 | 高 |
| 可扩展性 | 中(SE 瓶颈) | 高 | 中(Shim 瓶颈) |
| 路径透明度 | 差 | 好 | 差 |
| 故障排查难度 | 高 | 低 | 中 |
| 端到端 TE 支持 | 不支持 | 支持 | 不支持 |
| 跨域策略控制 | 强 | 中 | 强 |
| 适用场景 | 少域互联、策略需求强 | 多域互联、透明需求 | 复杂策略、控制面隔离 |
三、跨域 L3VPN 故障案例
3.1 案例:Option B 下 VPNv4 路由不传递
故障现象: 某运营商跨省网络采用 Option B 方案互联域 A(AS 65001)和域 B(AS 65002),部署后发现域 A 的 PE 无法学习到域 B 的 VPNv4 路由。
排查过程:
# 在域A的 PE 上查看 BGP 路由
<PE-A1> display bgp vpnv4 all routing-table VPN-A
Total-Nbr-of-bgp-routing-entries: 0 # 无路由!
# 检查 RR 间 eBGP 会话状态
<RR-A> display bgp peer
Peer: 20.1.1.1 # 域B的RR
State: Established # 会话正常
Address Family: IPv4 Unicast
State: Active # IPv4 Unicast 正常
Address Family: VPNv4
State: Active # VPNv4 也未激活!
根因分析:
跨域 eBGP 会话虽然在 IPv4 Unicast 地址族上成功建立,但在 VPNv4 地址族上没有 enable,导致 VPNv4 路由无法通过 eBGP 传递。
解决方案:
# 在两侧 RR 上确保 VPNv4 地址族对跨域 Peer 启用
[RR-A-bgp-65001] address-family vpnv4
[RR-A-bgp-65001-vpnv4] peer 20.1.1.1 enable
[RR-A-bgp-65001-vpnv4] quit
[RR-B-bgp-65002] address-family vpnv4
[RR-B-bgp-65002-vpnv4] peer 10.1.1.1 enable
[RR-B-bgp-65002-vpnv4] quit
此外还需确认 as-override 已在跨域 peer 上正确配置,否则 BGP 会因检测到 AS 号环路而丢弃路由。
3.2 案例:Option A 下 SE 设备路由对接失败
故障现象: 采用 Option A 方案,SE 设备上域 A 的 VRF 能学习到来自域 A PE 的路由,但域 B 侧 CE 无法 ping 通域 A 侧 CE。
排查过程:
# 检查 SE 上两个 VRF 的路由表
<SE> display ip vpn-instance VPN-A routing-table
# VPN-A 中有来自域A的路由 ✓
<SE> display ip vpn-instance VPN-B routing-table
# VPN-B 中有来自域B的路由 ✓
# 但 VPN-A 和 VPN-B 之间没有路由交换
根因分析: SE 设备上两个 VRF 之间没有配置 VRF 间路由交换(VRF Interconnect / VRF Leaking),虽然 SE 分别从域 A 和域 B 学到了各自 VPN 的路由,但没有将它们相互导出。
解决方案:
# 配置 VRF 间路由泄露(Leaking)
[SE] route-policy LEAK-A2B permit node 10
[SE-route-policy] apply next-hop-verbose 30.1.1.2
[SE-route-policy] quit
[SE] route-policy LEAK-B2A permit node 10
[SE-route-policy] apply next-hop-verbose 30.1.1.1
[SE-route-policy] quit
# 在 VPN-A 中引入 VPN-B 的路由
[SE] ip vpn-instance VPN-A
[SE-ip-vpn-instance-VPN-A] import vpn-instance VPN-B route-policy LEAK-B2A
[SE-ip-vpn-instance-VPN-A] quit
[SE] ip vpn-instance VPN-B
[SE-ip-vpn-instance-VPN-B] import vpn-instance VPN-A route-policy LEAK-A2B
[SE-ip-vpn-instance-VPN-B] quit
四、跨域 L3VPN 设计最佳实践
- 域数量少、策略需求强时优先 Option A:省际骨干网互联通常不超过 5 个域,Option A 的简单性与策略灵活性使其成为首选
- 域数量多、需要端到端透明时选择 Option B:全国性骨干网、跨国互联等场景,Option B 提供清晰的路由视图和故障排查路径
- 跨域 BGP 会话必须配置 BFD:确保跨域链路故障毫秒级感知
- RD 规划避免跨域冲突:不同域使用不同的 RD 前缀(如域 A 用 65001:x,域 B 用 65002:x)
- 跨域路由策略精细化控制:通过 Route-Policy 对跨域导入/导出的路由进行过滤、修改 Community、调整 Local-Pref
五、总结
| 方案 | 核心理念 | 适用规模 | 运维复杂度 |
|---|---|---|---|
| Option A(SE) | 域边界对接 | 小(<5 域) | 低 |
| Option B(MP-iBGP) | 端到端透明 | 大(不限域数) | 中 |
| Option C(Shim) | 控制面独立 | 中(<10 域) | 高 |
思考题:
- 为什么 Option B 方案中必须配置
as-override?如果跨域两端恰好使用不同的 AS 号,还需要 as-override 吗? - Option A 的 SE 设备如果仅部署一台,会带来哪些可靠性风险?如何设计冗余方案?
- 在一个拥有 20 个省级域的大型运营商网络中,应该如何选择跨域方案?不同区域是否可采用不同方案混合部署?
下篇预告:第193篇《城域网 BRAS 与 CGNAT 部署》将聚焦城域网核心设备 BRAS 的部署架构,以及为缓解 IPv4 地址枯竭而广泛应用的 CGNAT(运营商级 NAT)技术,揭秘千家万户的互联网接入背后隐藏的网络工程。