第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 路由的"对接"。

Option A:SE(Site-of-Edge)方案 - 图示

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 内一样直接传递。

Option B:跨域 MP-iBGP(无缝方案) - 图示

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:跨域 Route Server(Shim 方案) - 图示

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 设计最佳实践

  1. 域数量少、策略需求强时优先 Option A:省际骨干网互联通常不超过 5 个域,Option A 的简单性与策略灵活性使其成为首选
  2. 域数量多、需要端到端透明时选择 Option B:全国性骨干网、跨国互联等场景,Option B 提供清晰的路由视图和故障排查路径
  3. 跨域 BGP 会话必须配置 BFD:确保跨域链路故障毫秒级感知
  4. RD 规划避免跨域冲突:不同域使用不同的 RD 前缀(如域 A 用 65001:x,域 B 用 65002:x)
  5. 跨域路由策略精细化控制:通过 Route-Policy 对跨域导入/导出的路由进行过滤、修改 Community、调整 Local-Pref

五、总结

方案 核心理念 适用规模 运维复杂度
Option A(SE) 域边界对接 小(<5 域) 低
Option B(MP-iBGP) 端到端透明 大(不限域数) 中
Option C(Shim) 控制面独立 中(<10 域) 高

思考题:

  1. 为什么 Option B 方案中必须配置 as-override?如果跨域两端恰好使用不同的 AS 号,还需要 as-override 吗?
  2. Option A 的 SE 设备如果仅部署一台,会带来哪些可靠性风险?如何设计冗余方案?
  3. 在一个拥有 20 个省级域的大型运营商网络中,应该如何选择跨域方案?不同区域是否可采用不同方案混合部署?

下篇预告:第193篇《城域网 BRAS 与 CGNAT 部署》将聚焦城域网核心设备 BRAS 的部署架构,以及为缓解 IPv4 地址枯竭而广泛应用的 CGNAT(运营商级 NAT)技术,揭秘千家万户的互联网接入背后隐藏的网络工程。