第170篇:VLL(Virtual Leased Line)点到点二层 VPN
关键词:VLL、虚拟租用线路、EPL、EVPL、二层专线、MAC隔离、广播控制
一、引言
VLL(Virtual Leased Line,虚拟租用线路)是运营商面向企业客户提供的点到点二层专线业务。它在 MPLS L2VPN 技术基础上,为客户构建一条逻辑上的"专线连接",使远端的客户站点如同通过物理专线直连一样。VLL 是运营商专线业务中最基础也最常见的产品类型,广泛应用于企业分支机构互联、数据中心互联等场景。
二、核心概念
2.1 VLL 业务类型
| 业务类型 | 全称 | 特点 |
|---|---|---|
| EPL | Ethernet Private Line | 点到点独占带宽,MAC 隔离 |
| EVPL | Ethernet Virtual Private Line | 点到点共享带宽,支持 VLAN 映射 |
| EPLAN | Ethernet Private LAN | 多点以太网 LAN 仿真 |
2.2 VLL 与 VPWS 的关系
VLL 是业务层面的概念,VPWS 是技术层面的实现:
| 层面 | 概念 | 说明 |
|---|---|---|
| 业务层 | VLL(EPL/EVPL) | 运营商向客户提供的业务产品 |
| 技术层 | VPWS(PW) | MPLS 网络内的伪线实现 |
2.3 EPL 与 EVPL 对比
| 特性 | EPL | EVPL |
|---|---|---|
| 连接模式 | 单端口 ↔ 单端口 | 单/多端口 ↔ 单/多端口 |
| VLAN 处理 | 透明传输(不感知 VLAN) | VLAN 映射(客户 VLAN ↔ 网络 VLAN) |
| MAC 学习 | PE 不学习客户 MAC | PE 不学习客户 MAC |
| 带宽模式 | 独占带宽 | 共享带宽 |
| 典型应用 | 金融核心链路 | 企业多分支互联 |
2.4 VLL 的两种信令方式
VLL 在底层主要采用 VPWS 技术实现,而 VPWS 的信令有两种标准方式:
| 方式 | 标准 | 信令协议 | 特点 |
|---|---|---|---|
| Martini 方式 | RFC 4447 | LDP(FEC 128) | 按需建立 PW,配置简单,主流方案 |
| Kompella 方式 | RFC 4664 | MP-BGP L2VPN 地址族 | BGP 路由驱动 PW 建立,扩展性更好 |
Martini 方式(LDP) 是当前运营商部署的主流方案。LDP 为 PW 分配独立的 FEC 128 标签空间,通过 Targeted LCSP 在 PE 之间建立 PW。配置上只需指定对端 PE 的 Loopback 地址和 PW ID,LDP 自动完成标签交换。
Kompella 方式(BGP) 利用 MP-BGP L2VPN 地址族,将 CE 的标识信息(CE ID/CE Range、VE ID/VE Block)作为 NLRI 分发。当 PE 收到匹配本地 CE 的 BGP 路由时,自动建立对应的 PW。这种方式的优势在于可以利用 BGP 的 RR 能力进行大规模扩展,但配置相对复杂,实际部署较少。

三、技术细节
2.4 VLL 数据转发流程

2.5 VLL 广播风暴控制
VLL 虽然是点到点连接,但仍需防范广播风暴:
| 控制手段 | 说明 |
|---|---|
| 广播抑制 | 限制广播报文速率 |
| 未知单播抑制 | 限制未知单播报文速率 |
| 未知组播抑制 | 限制未知组播报文速率 |
| Storm Control | 全局广播风暴阈值控制 |
2.6 VLL QoS 保障
| QoS 机制 | 说明 |
|---|---|
| CIR(承诺速率) | 保证的最低带宽 |
| PIR(峰值速率) | 允许的最大带宽 |
| 优先级队列 | 基于 802.1p 的队列调度 |
| 尾丢弃/WRED | 拥塞时的报文丢弃策略 |
2.7 VLL 的 MTU 适配
VLL 承载客户以太网帧时面临 MTU 问题,因为 MPLS 封装会额外增加开销:
| 组成部分 | 字节数 |
|---|---|
| 客户以太网帧(标准) | 1518 字节(14 以太网头 + 1500 数据 + 4 FCS) |
| 双层 MPLS 标签 | + 8 字节 |
| 新的以太网封装头 | + 18 字节 |
| 总长度 | 1544 字节 |
如果运营商接口 MTU 仍保持默认 1500,大于 1500 字节的帧会被丢弃。解决方案:
# 调大运营商 PE 接口 MTU
[PE1] interface GigabitEthernet 1/0/0
[PE1-GigabitEthernet1/0/0] mtu 1600
# 配置 PW MTU(两端必须一致)
[PE1] vsi VLL-A
[PE1-l2vci-100] mtu 1500
[PE2] vsi VLL-A
[PE2-l2vci-100] mtu 1500
# PW MTU 指客户以太网帧长度(不含 MPLS 标签),默认 1500
2.8 Local Switching(本地交换)
如果两台 CE 连接到同一台 PE,VLL 可以配置为本地交换——流量不进 MPLS 骨干,直接在 PE 内部桥接:
# 同一台 PE 上本地 VLL 桥接
[PE1] vsi LOCAL-VLL
[PE1-l2vci-100] peer-ip local
# peer-ip local 表示本地桥接,不建立 MPLS PW
[PE1] interface GigabitEthernet 1/0/0
[PE1-GigabitEthernet1/0/0] port link-mode bridge
[PE1-GigabitEthernet1/0/0] l2 binding vsi LOCAL-VLL
[PE1] interface GigabitEthernet 1/0/1
[PE1-GigabitEthernet1/0/1] port link-mode bridge
[PE1-GigabitEthernet1/0/1] l2 binding vsi LOCAL-VLL
| 场景 | 说明 |
|---|---|
| 机房内部二层打通 | 两个机柜的 CE 通过 PE 桥接 |
| 测试环境 | 开发测试二层连通 |
| 临时业务割接 | 在迁移过程中做桥接 |
2.9 VCCV(VC 连通性验证)
VCCV 是 PW 的 OAM 机制,用于检测 PW 的端到端连通性:
| VCCV 类型 | 机制 | 说明 |
|---|---|---|
| Type 1 | Control Word 机制 | 利用 PW 控制字携带 ping 请求 |
| Type 2 | Router Alert Label | 使用路由器告警标签使核心路由器处理 |
| Type 3 | TTL Expiration | 利用 TTL 过期触发处理 |
# Ping PW(华为设备)
<PE1> ping mpls l2vc 10.1.2.1 1000
Sending 5, 100-byte MPLS echo on VC 1000 to 10.1.2.1
Reply from 10.1.2.1: bytes=100 Sequence=1 time=5 ms
Reply from 10.1.2.1: bytes=100 Sequence=2 time=4 ms
Success rate is 100 percent (5/5)
# 查看 PW 统计信息
<PE1> display mpls l2vc statistics
VSI Name: VLL-A
VC InLabel: 1000
VC OutLabel: 2000
InUcastPkts: 12345
OutUcastPkts: 9876
InErrors: 0
OutErrors: 0
四、实战配置/案例分析
4.1 EPL 专线配置
# ========== PE1: EPL专线配置 ==========
[PE1] interface Bridge 10
[PE1-Bridge10] description EPL-to-branch
[PE1-Bridge10] port gigabitethernet 1/0/0 1 transparent
# 透明模式, 不修改VLAN
# 创建PW并绑定
[PE1] pw-template EPL-TPL
[PE1-pw-template-EPL-TPL] pw-type vlan
[PE1-pw-template-EPL-TPL] control-word
[PE1-pw-template-EPL-TPL] ipv4 10.1.2.1 32
[PE1-pw-template-EPL-TPL] vc-id 1000
[PE1] interface Bridge 10
[PE1-Bridge10] pw 1000 binding vc 1000 destination 10.1.2.1 pw-template EPL-TPL
# 配置QoS
[PE1-Bridge10] storm-control broadcast bps 10000000
[PE1-Bridge10] storm-control unknown-unicast bps 10000000
4.2 EVPL VLAN 映射配置
# ========== PE1: EVPL + VLAN映射 ==========
[PE1] interface Bridge 20
[PE1-Bridge20] description EVPL-with-VLAN-mapping
[PE1-Bridge20] port gigabitethernet 1/0/0 10
# 客户侧VLAN 10
# PW配置(VLAN映射)
[PE1] pw-template EVPL-TPL
[PE1-pw-template-EVPL-TPL] pw-type vlan
[PE1-pw-template-EVPL-TPL] control-word
[PE1-pw-template-EVPL-TPL] ipv4 10.1.2.1 32
[PE1-pw-template-EVPL-TPL] vc-id 2000
[PE1] interface Bridge 20
[PE1-Bridge20] pw 2000 binding vc 2000 destination 10.1.2.1 \
pw-template EVPL-TPL inbound-vlan 10 outbound-vlan 100
# 入站: VLAN 10 → 网络VLAN 100
# 出站: 网络VLAN 100 → VLAN 10
4.3 故障排查:VLL 单向通信
故障场景:CE1 到 CE2 通信正常,CE2 到 CE1 不通。
# Step 1: 检查两端PW状态
<PE1> display mpls l2vc brief
PW 1000 to 10.1.2.1: Up
<PE2> display mpls l2vc brief
PW 1000 to 10.1.1.1: Up
# 两端PW均Up
# Step 2: 检查CE2侧接口和VLAN配置
<CE2> display interface GigabitEthernet 0/0/0
# 接口物理Up, 但VLAN模式为Access VLAN 20
# 根因: CE2配置了VLAN 20, 但EPL透传VLAN 10, 不匹配!
# Step 3: 修正CE2的VLAN配置
[CE2] interface GigabitEthernet 0/0/0
[CE2-GigabitEthernet0/0/0] port link-mode bridge
[CE2-GigabitEthernet0/0/0] port access vlan 10
4.4 故障排查:PW 频繁震荡
故障场景:VLL 业务间歇性中断,PW 状态频繁 Up/Down。
# Step 1: 查看 PW 状态变化日志
<PE1> display logbuffer keyword l2vc
# 发现: PW 反复 Up/Down, 时间间隔 30-60 秒
# Step 2: 检查底层 LDP 会话
<PE1> display mpls ldp session
# LDP 会话正常
# Step 3: 检查底层 LSP 稳定性
<PE1> display mpls lsp
# LSP 正常
# Step 4: 检查链路误码率
<PE1> display interface GigabitEthernet 1/0/0
Input errors: 12345, CRC: 8765
# 根因: 链路误码导致 PW 检测报文丢失
# Step 5: 更换光纤或调整端口协商模式
[PE1] interface GigabitEthernet 1/0/0
[PE1-GigabitEthernet1/0/0] speed 1000
[PE1-GigabitEthernet1/0/0] duplex full
4.5 故障排查:大包不通小包通
故障场景:CE1 ping CE2 的小包(默认64字节)通,但大包(1500字节)不通。
# Step 1: 逐增大包测试
<CE1> ping -a 10.1.1.2 -c 10.2.1.2 -l 1400
# 通
<CE1> ping -a 10.1.1.2 -c 10.2.1.2 -l 1500
# 超时
# Step 2: 根因分析
# VLL 封装后总帧长 = 1518 + 8(双标签) + 18(新以太网封装) = 1544 > 1500
# 运营商接口 MTU 仍为 1500, 大包被丢弃
# Step 3: 修正 MTU
[PE1] interface GigabitEthernet 1/0/0
[PE1-GigabitEthernet1/0/0] mtu 1600
[PE2] interface GigabitEthernet 1/0/0
[PE2-GigabitEthernet1/0/0] mtu 1600
4.6 VLL 与 L3VPN 混合部署
同一台 PE 上可以同時部署 VLL 和 L3VPN,不同端口/子接口绑定不同服务:
# 同一 PE 上同时部署 VLL 和 L3VPN
[PE1] interface GigabitEthernet 1/0/0.100
[PE1-GigabitEthernet1/0/0.100] vlan-type dot1q 100
[PE1-GigabitEthernet1/0/0.100] l2 binding vsi DC-VLL
# VLL:DC 互联
[PE1] interface GigabitEthernet 1/0/0.200
[PE1-GigabitEthernet1/0/0.200] vlan-type dot1q 200
[PE1-GigabitEthernet1/0/0.200] ip binding vpn-instance VRF-Enterprise
[PE1-GigabitEthernet1/0/0.200] ip address 192.168.1.1 255.255.255.252
# L3VPN:企业 WAN 业务访问
4.7 VLL 常见故障排查清单
| 现象 | 可能原因 | 排查命令 | 处理方法 |
|---|---|---|---|
| PW Status Down | LDP 会话中断 | display mpls ldp session | 恢复 LDP 邻居 |
| PW Status Down | 底层 LSP Down | display mpls lsp | 检查 LSP 连通性 |
| 两端 CE VLAN 不对 | Tag/Raw 模式不匹配 | display vsi verbose | 统一 VLAN 处理模式 |
| 大包不通小包通 | MTU 不足 | display interface | 调整 PE 接口 MTU |
| PW 频繁震荡 | 链路误码或抖动 | display interface (errors) | 更换光纤、调整端口 |
| 双向通信均不通 | PW ID 不一致 | display mpls l2vc | 两端 PW ID 保持一致 |
| 单向不通 | CE 侧 VLAN 配置不匹配 | display vlan | 检查 CE 侧 VLAN 配置 |
五、总结
| 项目 | 要点 |
|---|---|
| VLL | 运营商面向客户的二层专线业务产品 |
| EPL | 点到点独占带宽,透明传输 VLAN |
| EVPL | 点到点共享带宽,支持 VLAN 映射 |
| 实现技术 | VPWS(PW)提供底层二层仿真 |
| 关键配置 | Bridge域 + PW绑定 + QoS/风暴控制 |
思考
- EPL 透明传输 VLAN,如果客户侧发送的帧不带 VLAN 标签(Untagged),PE 如何处理?
- VLL 的 PW 状态为 Up,但 CE 间 ping 不通。除了 PW 本身,还需要检查哪些层面?
- EVPL 的 VLAN 映射在 PE 上执行。如果网络中有多个 PE 串联(如 H-VPLS),VLAN 映射在哪个 PE 执行?
下篇预告:第171篇:VPLS 点到多点二层 VPN 原理