第168篇:跨域 L3VPN Option A/B/C 方案对比
关键词:跨域VPN、Option A、Option B、Option C、多AS、无缝VPN、RSVP-TE across AS
一、引言
在实际运营商网络中,L3VPN 常常需要跨越多个 AS(自治系统)或多个管理域。不同域之间可能属于不同的运营商,或者同一运营商的不同管理区域。跨域 L3VPN 的三种经典方案——Option A、Option B 和 Option C——分别代表了不同的架构设计思路,在控制平面复杂性、数据平面性能和运维管理之间做出不同取舍。
二、核心概念
2.1 跨域 L3VPN 三种方案
| 方案 | 控制平面 | 数据平面 | 特点 |
|---|---|---|---|
| Option A | 两段独立 MP-BGP | 两段独立 L3VPN + AS边界路由 | 最灵活,AS间无MPLS要求 |
| Option B | 两段 MP-BGP + 跨域标签 | 双层标签延伸跨域 | 需跨域 RSVP-TE |
| Option C | 无缝 MP-BGP(eBGP) | 单层跨域 LSP | 最简洁,需AS间MPLS互联 |
2.2 Option A:两段独立 L3VPN
Option A 在 AS 边界使用两段独立的 L3VPN,AS 边界路由器(ASBR)执行路由泄露:

2.3 Option B:无缝控制 + 跨域标签
Option B 在控制平面使用 eBGP 传递 VPNv4 路由,在数据平面使用 RSVP-TE 建立跨域 LSP:
| 平面 | 实现方式 | 说明 |
|---|---|---|
| 控制平面 | MP-BGP eBGP(AS 间) | VPNv4 路由跨 AS 传递 |
| 数据平面 | RSVP-TE 跨域 LSP | 跨 AS 的 TE 隧道承载 VPN 流量 |
2.4 Option C:无缝 MP-BGP
Option C 在控制平面和数据平面均实现"无缝":
| 平面 | 实现方式 | 说明 |
|---|---|---|
| 控制平面 | MP-BGP eBGP | AS 间直接传递 VPNv4 路由和标签 |
| 数据平面 | LDP 跨域 LSP | AS 间 MPLS 互联,跨域 LDP 标签 |
三、技术细节
3.1 Option A 路由泄露流程

3.2 三种方案对比详表
| 维度 | Option A | Option B | Option C |
|---|---|---|---|
| 控制平面 | 两段独立MP-BGP | eBGP VPNv4跨域 | eBGP VPNv4跨域 |
| 数据平面 | 两段独立L3VPN | RSVP-TE跨域LSP | LDP跨域LSP |
| AS间要求 | eBGP IPv4 | RSVP-TE | LDP/MPLS |
| RD处理 | AS间重新分配RD | 跨域共享RD | 跨域共享RD |
| 标签栈深度 | 2层(域内) | 3层(跨域+域内) | 2层(跨域) |
| 运维复杂度 | 高(需协调两段VPN) | 中 | 低 |
| 性能 | 中(两次解封装) | 中 | 高 |
| 适用场景 | AS间无MPLS | AS间有RSVP-TE | AS间有MPLS |
3.3 Option C 的 Next-Hop 处理
在 Option C 中,跨域 MP-BGP eBGP 的 Next-Hop 处理是关键:
| 问题 | 说明 | 解决方案 |
|---|---|---|
| Next-Hop 不可达 | AS 间无 IGP 邻居 | 跨域 MPLS LSP 解析 |
| 标签不可达 | AS 间无 LDP 邻居 | Targeted LDP 或跨域 RSVP-TE |
| RD 冲突 | 不同 AS 可能使用相同 RD | 全局唯一 RD 规划 |
四、实战配置/案例分析
4.1 Option A 配置
# ========== AS 100 ASBR1 配置 ==========
[ASBR1] vpn-instance VPN-A
[ASBR1-vpn-instance-VPN-A] rd 100:100
[ASBR1-vpn-instance-VPN-A] route-target export 100:100
[ASBR1-vpn-instance-VPN-A] route-target import 100:100
# 从MP-BGP导入VPNv4路由到VRF
[ASBR1] bgp 100
[ASBR1-bgp-100] address-family vpnv4
[ASBR1-bgp-100-vpnv4] import-route direct vpn-instance VPN-A
# 从VRF导出到eBGP IPv4
[ASBR1] bgp 100
[ASBR1-bgp-100] peer 203.0.113.2 as-number 200
[ASBR1-bgp-100] address-family ipv4
[ASBR1-bgp-100-ipv4] import-route direct vpn-instance VPN-A
[ASBR1-bgp-100-ipv4] peer 203.0.113.2 enable
# ========== AS 200 ASBR2 配置 ==========
[ASBR2] vpn-instance VPN-A
[ASBR2-vpn-instance-VPN-A] rd 200:100
[ASBR2-vpn-instance-VPN-A] route-target export 200:100
[ASBR2-vpn-instance-VPN-A] route-target import 200:100
# 从eBGP IPv4导入到VRF
[ASBR2] bgp 200
[ASBR2-bgp-200] peer 203.0.113.1 as-number 100
[ASBR2-bgp-200] address-family ipv4
[ASBR2-bgp-200-ipv4] import-route bgp vpn-instance VPN-A
[ASBR2-bgp-200-ipv4] peer 203.0.113.1 enable
# 从VRF导出到MP-BGP VPNv4
[ASBR2-bgp-200-vpnv4] import-route direct vpn-instance VPN-A
4.2 Option C 配置
# ========== 跨域eBGP MP-BGP配置 ==========
[ASBR1] bgp 100
[ASBR1-bgp-100] peer 203.0.113.2 as-number 200
[ASBR1-bgp-100] peer 203.0.113.2 connect-interface LoopBack 0
# 启用VPNv4地址族跨域
[ASBR1-bgp-100] address-family vpnv4
[ASBR1-bgp-100-vpnv4] peer 203.0.113.2 enable
[ASBR1-bgp-100-vpnv4] peer 203.0.113.2 next-hop-local
[ASBR1-bgp-100-vpnv4] import-route direct vpn-instance VPN-A
# ========== 跨域LDP配置 ==========
[ASBR1] mpls
[ASBR1-mpls] mpls ldp
[ASBR1-mpls-ldp] discovery targeted-hello 203.0.113.2
[ASBR2] mpls
[ASBR2-mpls] mpls ldp
[ASBR2-mpls-ldp] discovery targeted-hello 203.0.113.1
4.3 故障排查:Option A 路由未跨域
故障场景:AS 100 的 CE 路由未到达 AS 200 的 VRF。
# Step 1: 检查 ASBR1 的 VRF 路由
<ASBR1> display ip routing-table vpn-instance VPN-A
# 10.1.1.0/24 存在于VRF中
# Step 2: 检查 eBGP IPv4 发布的路由
<ASBR1> display bgp routing-table peer 203.0.113.2
# 无向对端发布的路由
# Step 3: 检查 import-route 配置
<ASBR1> display current-configuration | include import-route
import-route direct vpn-instance VPN-A
# 配置存在
# Step 4: 检查 eBGP 邻居
<ASBR1> display bgp peer 203.0.113.2
# State: Idle
# 根因: eBGP会话未建立, 通常是TTL或路由问题
# Step 5: 修正
[ASBR1-bgp-100] peer 203.0.113.2 ebgp-max-hop 3
五、总结
| 项目 | 要点 |
|---|---|
| Option A | 两段独立 VPN,AS 间 eBGP IPv4 路由泄露,最灵活 |
| Option B | eBGP VPNv4 + RSVP-TE 跨域标签,需跨域 TE 隧道 |
| Option C | eBGP VPNv4 + 跨域 LDP,无缝跨域,最简洁 |
| 选型依据 | AS 间互联技术(有无 MPLS/RSVP-TE)决定方案选择 |
| RD 处理 | Option A 跨域重新分配 RD,Option B/C 跨域共享 RD |
思考
- Option A 中 AS 边界路由器需要对 VPN 路由执行"去 RD 化"再"加 RD 化",这个过程中路由属性(如 AS_PATH)会怎样变化?
- Option C 要求 AS 间建立 LDP Session。如果 AS 间使用以太网直连(而非 MPLS),Option C 还能工作吗?
- 在 Option A 中,如果 AS 100 和 AS 200 的客户使用相同的 IP 地址段,会发生路由冲突吗?如何避免?
下篇预告:第169篇:MPLS L2VPN 基础:VPWS 伪线仿真