第169篇:MPLS L2VPN 基础——VPWS 伪线仿真

关键词

L2VPN、VPWS(Virtual Private Wire Service)、PW(Pseudo Wire)、Martini 封装、VC 标签、二层点对点


一、从 L3VPN 到 L2VPN

1.1 L3VPN 的局限

MPLS L3VPN 中,PE 参与客户的路由交换。这种模式有一些固有局限:

局限 说明
客户路由可见 PE 需要维护客户的 VRF 路由,客户网络信息暴露给运营商
CE 配置要求 CE 需要运行动态路由或静态路由与 PE 对接
路由协议适配 CE-PE 间的路由协议需要协商(OSPF/BGP/静态)
三层处理 PE 是三层设备,处理客户的路由

1.2 L2VPN 的解决思路

L2VPN(MPLS Layer 2 VPN)让运营商网络对客户来说"透明"——运营商提供一个二层通道,客户的二层帧(以太网)直接穿越运营商骨干网:

客户视角(L2VPN):
  站点1 ─────── 虚拟二层链路 ─────── 站点2

  客户感觉两个站点之间像是一根"长网线"相连
  客户自己决定 IP 地址、路由协议(或不需要路由)

1.3 L2VPN 的分类

类别 名称 连接类型 典型协议
VPWS 虚拟专用线服务 点到点 Martini、Kompella
VPLS 虚拟专用LAN服务 点到多点(以太网桥接) LDP VPLS、BGP VPLS
EVPN 以太网 VPN 点到多点(控制面增强) MP-BGP EVPN

本文聚焦 VPWS


二、PW(Pseudo Wire)基本概念

2.1 什么是 Pseudowire

PW(伪线) 是在 MPLS 骨干网上模拟一条点到点二层链路的机制。

客户以太网帧 ────▶ PE1 ────PW(Pseudo Wire)──── PE2 ────▶ 客户以太网帧

MPLS 骨干 ┌──────┐ P ┌──────┐ P
PW 标签栈:{隧道标签, VC 标签}

2.2 PW 的关键属性

属性 说明
点对点 一条 PW 连接两个 PE
透明传输 PE 不处理客户二层帧的内容
VC 类型 以太网、VLAN、HDLC、PPP、ATM 等
封装 MPLS 标签封装
信令 LDP(Martini)或 BGP(Kompella)

三、Martini 封装(主流标准)

3.1 标签栈结构

客户以太网帧通过 PW 传输时的封装:

隧道标签 (外层) LDP/IGP VC 标签 (内层) 客户以太网帧 (含前导码/目的MAC/ 源MAC/协议类型/数据)
S=0 S=1

外层标签(隧道标签): - LDP 分发,走 MPLS 骨干 - 用于从 Ingress PE 到 Egress PE

内层标签(VC 标签): - LDP 分发(Martini 模式) - 标识具体的 PW/VC - 在 Egress PE 上确定对应的 AC(Attachment Circuit)

3.2 转发过程

CE1 发送以太网帧
  │
PE1(Ingress):
  ① 收到以太网帧(AC: GE0/0/0.100)
  ② 确定对应的 PW(根据接口或 VLAN)
  ③ 查找 PW 标签(VC Label = 100)
  ④ 查找隧道标签(Tunnel Label = 300)
  ⑤ Push 双层标签 [300, 100]
  ⑥ 发送到 P 设备

P 路由器:
  ⑦ 交换外层标签(LDP 标签)
  ⑧ 不碰内层 VC 标签

PE2(Egress):
  ⑨ PHP 弹出外层标签 → 看到 VC 标签 100
  ⑩ 查 PW 表 → 对应 AC (GE0/0/1.200)
  ⑪ Pop VC 标签
  ⑫ 恢复客户以太网帧
  ⑬ 从 AC 接口发送到 CE2

四、AC(Attachment Circuit)连接电路

4.1 AC 的概念

AC 是 CE 和 PE 之间的连接电路,用于区分不同的 VPWS 实例。

AC 类型:
  物理接口:CE 直连 PE 的物理端口
  VLAN 子接口:CE 通过 VLAN 接入
  QinQ:双重 VLAN 标识
  接口+封装:ATM PVC、FR DLCI 等(传统场景)

4.2 AC 到 PW 的映射

# PE1 上 AC 配置
interface GigabitEthernet0/0/0.100
 vlan-type dot1q 100                       # AC = VLAN 100
 l2 binding vsi VPWS-A                     # 绑定到 VSI(PW 实例)

# VSI(Virtual Switching Instance)配置
vsi VPWS-A
 pwsignal ldp                              # PW 信令 = LDP
  peer 2.2.2.2                             # 对端 PE
   pw-id 100                               # PW ID(唯一标识)

五、VPWS 的信令协议

5.1 LDP 信令(Martini)

最常用的 VPWS 信令,通过 LDP 扩展分发 VC 标签:

PE1 ───────── LDP (FEC=128, PW-ID=100) ──────── PE2

FEC 128 是 LDP 针对 PW 的扩展:
  - FEC Type: 128(PW ID FEC)
  - PW ID: 100(标识这条 PW)
  - VC Type: 以太网(0x0005)
  - Group ID: 可选项
  - Interface Parameters: MTU 等

5.2 建立过程

PE1 配置了 VSI VPWS-A,对端 PE2:
  ① PE1 通过 LDP 向 PE2 发送标签映射(FEC 128, PW ID=100)
  ② PE2 分配 VC 标签并通过 LDP 返回给 PE1
  ③ 双向 PW 建立完成
  ④ 持续 LDP KeepAlive 维护

5.3 验证

<PE1> display mpls l2vc

Total LDP VC : 1      Up : 1      Down : 0

VSI Name       : VPWS-A
PW Signal      : LDP
Peer           : 2.2.2.2
PW ID          : 100
VC Label       : 100(Inbound)/ 200(Outbound)
VC State       : Up
Tunnel State   : Up

六、VPWS 配置示例(华为)

6.1 配置

# PE1 配置
#
# 1. LDP 需要发现对端 PE(如果非直连 LDP)
mpls ldp remote-peer 2.2.2.2                # 可选,特定场景
 remote-ip 2.2.2.2
#
# 2. 创建 VSI(Virtual Switching Instance)
vsi VPWS-A
 pwsignal ldp
  peer 2.2.2.2
   pw-id 100
#
# 3. 配置 AC 接口(接入 CE)
interface GigabitEthernet0/0/0.100
 vlan-type dot1q 100
 l2 binding vsi VPWS-A                        # 绑定 VSI
#
# PE2 配置对称

6.2 验证

# 查看 PW 状态
<PE1> display mpls l2vc

VSI Name: VPWS-A
  Peer: 2.2.2.2, VC-ID: 100
  VC State: Up
  VC Type: Ethernet
  Local VC Label: 200
  Remote VC Label: 100
  Active State: Active
  Forward State: Forwarding
  Tunnel Info: LSP ID: 12345

七、VPWS vs VLL(Virtual Leased Line)

名称 全称 含义 是否等价
VPWS Virtual Private Wire Service 虚拟专线服务(IETF 术语) 同义
VLL Virtual Leased Line 虚拟租用线(厂商常用术语) 同义
Virtual Wire - 虚拟线(Juniper 术语) 同义

三家都对应"在 MPLS 上仿真一条点到点二层链路"。


八、VPWS 与 L3VPN 的对比

对比维度 VPWS (L2VPN) L3VPN
网络层 二层 三层
PE 处理 桥接(透明传输) 路由(VRF)
客户路由 客户自己管理,PE 不关心 PE 维护 VRF 路由表
CE 对接 可以无路由(纯二层) 需路由协议或静态路由
配置复杂度 低(客户侧) 较高
适用场景 数据中心互联、存储 企业 WAN 互联

九、总结

知识点 核心要点
VPWS 点到点 L2VPN,在 MPLS 上仿真二层链路
PW 伪线,标识一条点对点二层连接
VC 标签 内层标签,标识具体的 PW
AC 客户接入电路(接口/VLAN)
Martini 基于 LDP 的 PW 信令,FEC 128
双层标签 外层隧道(LDP)+ 内层 VC(L2VPN)

十、思考

  1. L2VPN 和 L3VPN 在 PE 的处理方式上有什么本质区别?
  2. VPWS 和 VLL 是同一个概念吗?
  3. PW 的双层标签中,内层和外层分别起什么作用?
  4. AC(Attachment Circuit)在 VPWS 中的作用是什么?
  5. Martini 封装使用什么信令协议分发 VC 标签?

下篇预告:第170篇《VLL(Virtual Leased Line)点到点二层 VPN》——深入 VLL 的实现细节,包括 VLAN 透传模式和 MTU 适配策略。