第168篇:跨域 L3VPN Option A/B/C 方案对比
关键词
跨域 VPN、Option A(VRF-to-VRF)、Option B(单跳 MP-EBGP)、Option C(多跳 MP-EBGP)、ASBR、Inter-AS
一、为什么需要跨域 VPN?
1.1 场景
运营商的 MPLS 骨干可能跨越多个自治域(AS):
AS 100 AS 200
| 骨干 A PE1 ── P1 ──── ASBR1─ASBR2 ── P2 ── PE2 | CE1(企业A站点1) | | 骨干 B | CE2(企业A站点2) | | --- | --- | --- |
同一个企业客户的站点分布在不同的运营商网络中,需要 MPLS L3VPN 跨域互通。
1.2 三种跨域方案
IETF RFC 4364 定义了三种跨域 L3VPN 方案:
| 方案 | 名称 | ASBR 参与程度 | 适用场景 |
|---|---|---|---|
| Option A | VRF-to-VRF | ASBR 维护 VRF,完全参与 VPN | 少量跨域 VPN |
| Option B | 单跳 MP-EBGP | ASBR 转发 VPNv4 路由 | 中等规模跨域 |
| Option C | 多跳 MP-EBGP | ASBR 仅转发标签,PE 直连 VPN | 大规模跨域 |
二、Option A(VRF-to-VRF - 背靠背)
2.1 原理
AS 100 AS 200
| ┌──┴──┐ ┌──┴──┐ ┌──┴──┐ ┌──┴──┐ | ||||||
| CE1 | ─────── | ASBR1 | ─ | ASBR2 | ─────── | CE2 |
| │ │ | ||||||
| VRF-A VRF-A | ||||||
| ──── ──── | ||||||
| 直连EBGP/ 直连EBGP/ | ||||||
| OSPF OSPF |
ASBR1 和 ASBR2 之间通过物理接口或子接口直连,各自在 VRF 中与对方建立 EBGP 会话(或运行其他路由协议)。
2.2 工作流程
ASBR1(AS 100):
1. 从 VRF-A 中学习 CE1 的路由(通过 PE-CE 协议)
2. 在直连接口(绑定 VRF-A)上
通过 EBGP 将路由发布给 ASBR2
3. 从 ASBR2 学习到 CE2 的路由,导入 VRF-A
4. 通过 PE-CE 协议发布给 CE1
ASBR2(AS 200):
对称操作
2.3 配置要点
# ASBR1 配置
ip vpn-instance VRF-A
route-distinguisher 100:1
vpn-target 1:1 export-extcommunity
vpn-target 1:1 import-extcommunity
!
interface GigabitEthernet0/0/0
ip binding vpn-instance VRF-A # 对间直连接口绑定 VRF
ip address 10.0.0.1 255.255.255.252
!
bgp 100
ipv4-family vpn-instance VRF-A
peer 10.0.0.2 as-number 200 # 与 ASBR2 的 VRF 建 EBGP
2.4 优缺点
| 优点 | 缺点 |
|---|---|
| 简单,ASBR 配置少 | ASBR 需要维护 VRF,扩展性差 |
| 无 MPLS 跨域必要 | 每个跨域 VPN 需要独立子接口/子网 |
| 路由完全隔离 | 跨域 VPN 多时,ASBR 接口数爆炸 |
| 易于部署 | 部署和扩展慢 |
三、Option B(单跳 MP-EBGP)
3.1 原理
AS 100 AS 200
| ┌──┴──┐ ┌──┴──┐ ┌──┴──┐ ┌──┴──┐ | ||||||
| CE1 | ──────── | ASBR1 | ─ | ASBR2 | ──────── | CE2 |
| │ │ | ||||||
| MP-EBGP │ │ | ||||||
| VPNv4 ▼ ▼ | ||||||
| 携带标签交换 |
ASBR1 和 ASBR2 之间运行 MP-EBGP,直接交换 VPNv4 路由(含标签)。
3.2 工作流程
ASBR1 收到 PE1 的 VPNv4 路由(通过 MP-IBGP)
│
├─ 下一跳改为自己(ASBR1)
├─ VPN 标签重新分配(ASBR1 分配新标签)
└─ 通过 MP-EBGP 发送给 ASBR2
ASBR2 收到后:
├─ 下一跳改为自己
├─ 重新分配标签
└─ 通过 MP-IBGP 发送给 PE2
3.3 标签处理
PE1 → ASBR1 → ASBR2 → PE2
ASBR1 转发表:(到 CE2)
In-Label(本地) Out-Label Next-Hop
15920 36840 ASBR2 ← ASBR2 分配的 VPN 标签
ASBR2 收到标签 36840:
查表 → 对应 VRF 或 VPN → 转发到 PE2
3.4 配置要点
# ASBR1 配置
bgp 100
#
peer 10.0.0.2 as-number 200 # 对间直连地址
#
ipv4-family vpnv4 # VPNv4 地址族
peer 10.0.0.2 enable
peer 10.0.0.2 label-route-capability # 发送标签能力
undo policy vpn-target # ⚠️ 重要:不校验 RT
关键配置:undo policy vpn-target
- 默认 ASBR 会校验 RT 并过滤路由
- 跨域场景 ASBR 需要透传所有 VPNv4 路由
- 因此需要关闭 RT 过滤
3.5 优缺点
| 优点 | 缺点 |
|---|---|
| 无需 ASBR 维护 VRF | ASBR 需要维护所有跨域 VPNv4 路由 |
| 一根子接口支持所有跨域 VPN | ASBR 负担较重(路由表膨胀) |
| 扩展性比 Option A 好 | 不太适合超大规模跨域 |
四、Option C(多跳 MP-EBGP)
4.1 原理
AS 100 AS 200
| ┌──┴──┐ ┌──┴──┐ ┌──┴──┐ ┌──┴──┐ | ||||||
| CE1 | ──────── | ASBR1 | ─ | ASBR2 | ──────── | CE2 |
| │ │ | ||||||
| ───────┤ ├─────── | ||||||
| │ │ | ||||||
| PE1 ───────────── PE2 | ||||||
| 多跳 MP-EBGP(直接交换 VPNv4 路由) |
PE1 和 PE2 之间直接建立 多跳 MP-EBGP 会话,绕过 ASBR。 ASBR 只做标签交换(LDP 跨域),不参与 VPN 路由。
4.2 工作流程
步骤 1:跨域 LDP 邻居建立(ASBR 之间)
ASBR1 ─── ASBR2:建立 LDP 会话
ASBR 分配跨域标签
步骤 2:跨域 IGP 路由互通
两台 ASBR 交换到各自 PE Loopback 的路由(通过 IGP 或静态)
步骤 3:PE 之间建立多跳 MP-EBGP
PE1 ──▶ PE2:直接交换 VPNv4 路由
PE2 ──▶ PE1:直接交换 VPNv4 路由
步骤 4:标签映射
PE1 到 PE2 需要 LSP:
PE1 → ASBR1(LDP)
ASBR1 → ASBR2(跨域 LDP 或静态标签)
ASBR2 → PE2(LDP)
4.3 配置要点
# ASBR1 配置(不做 VPN,只做标签交换)
bgp 100
peer 10.0.0.2 as-number 200
#
ipv4-family unicast # 只交换 IPv4 单播
peer 10.0.0.2 enable
peer 10.0.0.2 route-policy LABEL_ASBR # 为 PE Loopback 分配标签
network 1.1.1.1 255.255.255.255 # 发布 PE1 Loopback
# PE1 配置(直接与 PE2 建 MP-EBGP)
bgp 100
peer 2.2.2.2 as-number 200
peer 2.2.2.2 ebgp-multihop 10 # 多跳(非直连)
peer 2.2.2.2 connect-interface LoopBack0
#
ipv4-family vpnv4
peer 2.2.2.2 enable
peer 2.2.2.2 label-route-capability
4.4 优缺点
| 优点 | 缺点 |
|---|---|
| ASBR 不做 VPN,轻量 | 配置最复杂 |
| 扩展性最好 | 需要跨域 IGP/LDP 协调 |
| 适合大规模多域场景 | 对跨域标签协商有要求 |
五、三种方案对比总结
| 对比维度 | Option A | Option B | Option C |
|---|---|---|---|
| ASBR 角色 | 维护 VRF | 转发 VPNv4 路由 | 仅交换标签 |
| ASBR 配置量 | 大 | 中 | 小 |
| VPN 路由存储 | ASBR 的 VRF 中 | ASBR 的 BGP 表中 | ASBR 不存 |
| 跨域接口 | 每 VPN 一个子接口 | 一个子接口共享 | 一个子接口共享 |
| 扩展性 | 差 | 中 | 好 |
| 标签 | ASBR 重分配 | ASBR 重分配 | 端到端标签 |
| 最佳场景 | VPN 数量 < 10 | VPN 数量 10-100 | VPN 数量 > 100 |
六、实际选型建议
| 企业需求 | 推荐方案 |
|---|---|
| 少量跨域 VPN(< 10 个客户) | Option A |
| 中等规模、ASBR 性能尚可 | Option B |
| 超大规模、多 AS、要求扩展性 | Option C |
| ASBR 驻留在传输设备(无 VRF 能力) | Option C |
| 运维团队技术能力一般 | Option A(最简单) |
| 运维团队有 BGP 经验 | Option B 或 C |
七、总结
| 方案 | 核心理念 | 最大优势 | 最大劣势 |
|---|---|---|---|
| Option A | VRF 背靠背直连 | 简单易懂 | 扩展性差 |
| Option B | ASBR 转发 VPNv4 | 无需 VRF | ASBR 路由负载上升 |
| Option C | PE 直连 + ASBR 只转发标签 | 最优扩展性 | 配置复杂 |
八、思考
- Option A 中,ASBR 为什么要维护 VRF?
- Option B 中
undo policy vpn-target的作用是什么?为什么需要它? - Option C 中,ASBR 为什么不需要处理 VPNv4 路由?那 VPN 标签如何跨域传递?
- 三种方案在 ASBR 承担的职责上有什么本质区别?
- 假设有 200 个 VPN 需要跨两个 AS 互通,你会推荐哪种方案?为什么?
下篇预告:第169篇《MPLS L2VPN 基础:VPWS 伪线仿真》——从 L3VPN 转向 L2VPN,理解 VPWS 如何在运营商网络上仿真一条点到点的二层链路。