第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) |
十、思考
- L2VPN 和 L3VPN 在 PE 的处理方式上有什么本质区别?
- VPWS 和 VLL 是同一个概念吗?
- PW 的双层标签中,内层和外层分别起什么作用?
- AC(Attachment Circuit)在 VPWS 中的作用是什么?
- Martini 封装使用什么信令协议分发 VC 标签?
下篇预告:第170篇《VLL(Virtual Leased Line)点到点二层 VPN》——深入 VLL 的实现细节,包括 VLAN 透传模式和 MTU 适配策略。