第170篇:VLL(Virtual Leased Line)点到点二层 VPN
关键词
VLL、Virtual Leased Line、二层 VPN、VLAN 透传、VLAN 转换、MTU 适配、Local Switching
一、VLL 概述
1.1 什么是 VLL
VLL(Virtual Leased Line) 是通过 MPLS 网络模拟一条点到点租用线路的二层 VPN 技术。对企业客户来说,使用 VLL 的感觉就像从运营商那里租了一条物理网线——两端设备的接口直接互通。
┌────────────┐
CE1 ─────┤ MPLS 骨干 ├───── CE2
└────────────┘
VLL 隧道
CE1 和 CE2 "看到"的是:
CE1 ─────── 虚拟网线 ─────── CE2
1.2 VLL 的应用场景
| 场景 | 说明 | 优势 |
|---|---|---|
| 数据中心互联(DCI) | 两个数据中心之间二层互通 | 二层迁移 VM、存储同步 |
| 语音/视频专线 | PBX 语音系统互通 | 对延迟要求高的实时业务 |
| 金融交易 | 交易所与券商之间低延迟链路 | 独占带宽、确定性路径 |
| 存储互联 | FC/IP-SAN 存储网络扩展 | 无三层干扰的直接通信 |
二、VLL 的两种实现方式
2.1 基于 LDP 的 VLL(Martini)
使用 LDP 信令分发 VC 标签,在前面已详述。
2.2 基于 BGP 的 VLL(Kompella)
使用 BGP 分发二层路由和信息:
PE1 ─── MP-BGP (L2VPN 地址族) ─── PE2
BGP NLRI 包含:
- Route Distinguisher(RD)
- CE ID / CE Range(标识 CE 设备)
- VE ID / VE Block(伪线块)
| 对比 | Martini(LDP) | Kompella(BGP) |
|---|---|---|
| 信令 | LDP FEC 128 | MP-BGP L2VPN 地址族 |
| PW 建立 | 按需(配置即有) | BGP 路由驱动 |
| 扩展性 | 中等 | 更好(利用 BGP 的 RR 能力) |
| 配置复杂度 | 简单 | 略复杂 |
| 主流地位 | 当前主流 | 较少使用 |
三、VLL 的 VLAN 处理模式
VLL 在处理客户 VLAN 标签时有两种模式:
3.1 Tag 模式(VLAN 透传)
客户发送带 VLAN 标签的帧 → PE 透明传输 → 对端收到带原 VLAN 标签的帧
CE1: VLAN 100 ──▶ PE1 ── PW ──▶ PE2 ──▶ CE2: VLAN 100
特点: - 客户的 VLAN 标签被完整保留和传递 - 两端 CE 必须使用相同的 VLAN - 适用于 CE 直接管理 VLAN 的场景
# Tag 模式配置
interface GigabitEthernet0/0/0.100
vlan-type dot1q 100
l2 binding vsi VLL-A # 透传模式(默认行为)
3.2 Raw 模式(VLAN 剥离)
客户发送带 VLAN 标签的帧 → PE 剥离 VLAN 标签 → 传输裸 MAC 帧 → PE 恢复 VLAN 标签 → CE
CE1: VLAN 100 ──▶ PE1(剥VLAN) ── PW ──▶ PE2(加VLAN 200) ──▶ CE2: VLAN 200
特点: - PE 进入 PW 前剥离客户 VLAN 标签 - PE 从 PW 出来时添加新 VLAN 标签 - 两端 VLAN 可以不同 - 适用于两端 VLAN ID 不匹配的场景
# Raw 模式配置(华为设备默认即为 Raw 模式)
interface GigabitEthernet0/0/0
l2 binding vsi VLL-A # 物理接口绑定 VSI(不带 VLAN 子接口)
# 或使用子接口并指定剥离标签
interface GigabitEthernet0/0/0.100
vlan-type dot1q 100
l2 binding vsi VLL-A raw # 明确指定 Raw 模式
3.3 模式对比
| 特性 | Tag 模式 | Raw 模式 |
|---|---|---|
| VLAN 标签 | 保留(透传) | 剥离(在 PE 上终结) |
| 两端 VLAN ID | 必须相同 | 可以不同 |
| 双向一致性 | 对称 | 可不对称 |
| 适用场景 | 客户统一管理 VLAN | 两端 VLAN 不同的场景 |
四、VLL 的 MTU 适配
4.1 MTU 挑战
VLL 承载客户以太网帧时面临 MTU 问题:
客户以太网帧 = 1518 字节(含 14 字节以太头 + 4 字节 FCS)
= 1500 字节 IP MTU + 14 以太头 + 4 FCS
加上 MPLS 标签:
双层标签:+ 8 字节
加上新的以太网封装:+ 18 字节
总长度 = 1518 + 8 + 18 = 1544 字节
→ 如果运营商接口 MTU 为 1500,则无法承载!
4.2 解决方案
# 1. 调大运营商接口 MTU(推荐)
interface GigabitEthernet0/0/0
mtu 1600 # L3 MTU
mpls mtu 1600 # MPLS MTU(华为设备无此命令,mtu 即可)
# 2. 配置 PW MTU(一致性校验)
vsi VLL-A
pwsignal ldp
peer 2.2.2.2
pw-id 100
mtu 1500 # PW 的 MTU(要与对端一致)
注意:PW MTU 指客户以太网帧的长度(不含 MPLS 标签),通常为 1500(IP MTU)或 1518(全帧)。
五、Local Switching(本地交换)
5.1 什么是 Local Switching
如果两台 CE 连接到同一台 PE,VLL 可以配置为本地交换——流量不进 MPLS 骨干,直接在 PE 内部桥接:
┌──────────┐
CE1 ───────┤ PE1 ├─────── CE2
│ 桥接 │
└──────────┘
没有 MPLS 封装,只有二层交换
5.2 配置示例
# 本地 VLL 桥接
vsi LOCAL-VLL
pwsignal ldp
local-vccv # 本地交叉连接
!
interface GigabitEthernet0/0/0
l2 binding vsi LOCAL-VLL
!
interface GigabitEthernet0/0/1
l2 binding vsi LOCAL-VLL
5.3 应用场景
- 机房内部二层打通——两个机柜的 CE 通过 PE 桥接
- 测试环境——开发测试二层连通
- 临时业务割接——在迁移过程中做桥接
六、VLL 的 OAM(Operations, Administration, Maintenance)
6.1 VCCV(Virtual Circuit Connectivity Verification)
VCCV 是 PW 的 OAM 机制,用于检测 PW 的连通性:
PE1 ───────── PW ───────── PE2
│ │
│ VCCV Ping/Ping │
│◄────────────────────────►│
│ │
VCCV 类型:
- Type 1:控制字(Control Word)
- Type 2:路由器告警标签
- Type 3:TTL 过期
6.2 验证命令
# Ping PW(华为设备)
<PE1> ping mpls l2vc 2.2.2.2 100
Sending 5, 100-byte MPLS echo on VC 100 to 2.2.2.2
Reply from 2.2.2.2: bytes=100 Sequence=1 time=5 ms
Reply from 2.2.2.2: bytes=100 Sequence=2 time=4 ms
...
# 查看 PW 统计
<PE1> display mpls l2vc statistics
VSI Name: VLL-A
VC InLabel: 100
VC OutLabel: 200
InUcastPkts: 12345
OutUcastPkts: 9876
InErrors: 0
OutErrors: 0
七、VLL 与 L3VPN 的混合部署
实际网络中,VLL 和 L3VPN 可以共存:
MPLS 骨干
│
│
| VLL (二层) DC 互联 存储同步 | L3VPN (三层) 企业 WAN 业务访问 |
|---|---|
| │ | |
| ▼ |
在同一台 PE 上,不同的端口/子接口可以绑定不同的服务:
# 同一个 PE 上同时部署 VLL 和 L3VPN
interface GigabitEthernet0/0/0.100 # VLL:DC 互联
vlan-type dot1q 100
l2 binding vsi DC-VLL
!
interface GigabitEthernet0/0/0.200 # L3VPN:企业 WAN
vlan-type dot1q 200
ip binding vpn-instance VRF-Enterprise
ip address 192.168.1.1 255.255.255.252
八、排错案例
8.1 PW 状态 Down
现象:CE1 和 CE2 无法互通,PW Down
排查步骤:
1. 检查 PW 状态
<PE1> display mpls l2vc
→ 查看 VC State 和 Tunnel State
2. 检查 LDP 邻居(Martini 模式)
<PE1> display mpls ldp session
→ 确认 LDP 会话是否建立
3. 检查隧道连通性
<PE1> ping mpls ldp 2.2.2.2
→ MPLS LSP 是否可达
4. 检查 PW ID 配置一致性
两端 PE 的 PW ID 必须一致
5. 检查 MTU 配置
两端 PE 配置的 PW MTU 必须一致
8.2 常见故障
| 现象 | 原因 | 处理 |
|---|---|---|
| PW Status Down | LDP 会话中断 | 恢复 LDP 邻居 |
| PW Status Down | 隧道 Down | 检查 LSP 连通性 |
| 两端 CE 能通但 VLAN 不对 | VLAN 处理模式不匹配 | 统一 Tag/Raw 模式 |
| 大包不通小包通 | MTU 问题 | 调整 MTU 或 MSS |
| PW 频繁震荡 | 链路抖动 | 检查链路误码和稳定性 |
九、总结
| 知识点 | 核心要点 |
|---|---|
| VLL | 点到点二层 VPN,仿真租用线路 |
| Tag 模式 | 透传客户 VLAN 标签,两端 VLAN 必须一致 |
| Raw 模式 | 剥离 VLAN 标签,两端 VLAN 可不同 |
| MTU 适配 | 需要调大运营商接口 MTU 适配 MPLS 开销 |
| Local Switching | 同一 PE 上的 CE 本地桥接,不走 MPLS |
| VCCV | PW 的 OAM 机制,检测 VC 连通性 |
十、思考
- VLL 的 Tag 模式和 Raw 模式分别如何处理客户 VLAN 标签?
- VLL 场景下为什么会出现 MTU 问题?如何解决?
- Local Switching 是什么场景下使用的?
- VCCV 在 VLL 中有什么作用?
- 同一台 PE 上可以同时部署 VLL 和 L3VPN 吗?如何实现?
下篇预告:第171篇《VPLS 点到多点二层 VPN 原理》——从点对点 VLL 升级到多对多 VPLS,理解运营商如何通过 MPLS 骨干搭建一个"虚拟二层交换机"。