第172篇:H-VPLS 分层 VPLS 架构
关键词:H-VPLS、分层VPLS、U-PE、N-PE、N-NE、PW分层、可扩展性、二层聚合
一、引言
VPLS 的全互联网格 PW 模型在 PE 数量超过 20 个时,PW 数量迅速膨胀(20 个 PE 需要 190 条 PW),导致配置管理复杂、故障影响面广。H-VPLS(Hierarchical VPLS,分层 VPLS)通过将网络划分为"上层"和"下层"两个层次,将全互联网格限制在较小的范围内,大幅减少了 PW 的数量并提升了网络的可扩展性。
二、核心概念
2.1 H-VPLS 网络角色
| 角色 | 英文全称 | 职责 |
|---|---|---|
| U-PE | User-PE | 用户边缘,直接连接 CE,终结客户 PW |
| N-PE | Network-PE | 网络边缘,聚合多个 U-PE 的流量,连接核心 |
| N-NE | Network-Network Element | 网络核心,转发上层 VPLS 流量 |
2.2 H-VPLS 分层架构

2.3 PW 数量对比
| 场景 | 普通 VPLS | H-VPLS |
|---|---|---|
| 3 个 N-PE,每 N-PE 挂 5 个 U-PE(共 18 个站点) | 18×17/2 = 153 条 PW | 上层 3 条 + 下层 3×10 = 33 条 PW |
| 5 个 N-PE,每 N-PE 挂 10 个 U-PE(共 55 个站点) | 55×54/2 = 1485 条 PW | 上层 10 条 + 下层 5×45 = 235 条 PW |
节省比例:H-VPLS 相比普通 VPLS 节省了约 80-85% 的 PW 数量。
2.4 H-VPLS 标签栈
H-VPLS 使用三层标签栈:
| 标签层级 | 标签 | 作用域 |
|---|---|---|
| 外层 | 公网 LDP 标签(N-PE 间) | N-PE 间传输 |
| 中层 | 上层 VPLS PW 标签 | N-PE 间 VPLS 实例标识 |
| 内层 | 下层 VPLS PW 标签 | U-PE 到 N-PE 的接入 PW |
三、技术细节
3.1 H-VPLS 数据转发流程

3.2 H-VPLS MAC 学习域
| MAC 学习范围 | 说明 |
|---|---|
| U-PE MAC 表 | 学习 CE 的 MAC 和 N-PE 侧的 MAC |
| N-PE MAC 表 | 学习 U-PE 侧的 MAC 和其他 N-PE 的 MAC |
| N-NE MAC 表 | 不学习(仅转发) |
3.3 H-VPLS 收敛与保护
| 保护类型 | 说明 |
|---|---|
| U-PE 到 N-PE 保护 | 1+1 或 1:1 PW 保护 |
| N-PE 间保护 | BFD for PW + FRR |
| N-PE 节点保护 | TE FRR |
四、实战配置/案例分析
4.1 H-VPLS U-PE 配置
# ========== U-PE1 配置 ==========
[UPE1] vpls 100
[UPE1-vpls-100] description Access-VPLS-100
[UPE1-vpls-100] bd 100
# CE接口
[UPE1] bridge-domain 100
[UPE1-bridge-domain-100] interface gigabitethernet 1/0/0.100
[UPE1-bridge-domain-100] interface gigabitethernet 1/0/1.100
# 到N-PE的PW
[UPE1] interface Vpn1/1/0
[UPE1-Vpn1/1/0] binding vpls 100
[UPE1-Vpn1/1/0] destination 10.1.10.1 pw-type vlan
[UPE1-Vpn1/1/0] vc-id 1001
4.2 H-VPLS N-PE 配置
# ========== N-PE1 配置 ==========
[NPE1] vpls 100
[NPE1-vpls-100] description Core-VPLS-100
[NPE1-vpls-100] bd 100
# 到U-PE的PW(下层)
[NPE1] interface Vpn1/1/0
[NPE1-Vpn1/1/0] binding vpls 100
[NPE1-Vpn1/1/0] destination 10.1.1.1 pw-type vlan
[NPE1-Vpn1/1/0] vc-id 1001
[NPE1] interface Vpn1/1/1
[NPE1-Vpn1/1/1] binding vpls 100
[NPE1-Vpn1/1/1] destination 10.1.1.2 pw-type vlan
[NPE1-Vpn1/1/1] vc-id 1002
# 到其他N-PE的PW(上层, 核心网格)
[NPE1] interface Vpn1/2/0
[NPE1-Vpn1/2/0] binding vpls 100
[NPE1-Vpn1/2/0] destination 10.1.10.2 pw-type vlan
[NPE1-Vpn1/2/0] vc-id 2001
[NPE1] interface Vpn1/2/1
[NPE1-Vpn1/2/1] binding vpls 100
[NPE1-Vpn1/2/1] destination 10.1.10.3 pw-type vlan
[NPE1-Vpn1/2/1] vc-id 2002
4.3 故障排查:H-VPLS 跨层PW中断
故障场景:U-PE1 下的 CE 无法与 U-PE2 下的 CE 通信。
# Step 1: 检查U-PE到N-PE的PW
<UPE1> display pw interface Vpn1/1/0
State: Up # 正常
<UPE2> display pw interface Vpn1/1/0
State: Up # 正常
# Step 2: 检查N-PE间的核心PW
<NPE1> display pw interface Vpn1/2/0
State: Down # 核心PW中断!
# Step 3: 检查底层LSP
<NPE1> display mpls lsp 10.1.10.2 32
# LDP标签正常
# Step 4: 检查PW信令
<NPE1> debugging mpls l2vc
# 发现: VC-ID不匹配, NPE2配置为3001, NPE1配置为2001
# Step 5: 修正NPE2配置
[NPE2-Vpn1/2/0] vc-id 2001
# Step 6: 验证
<NPE1> display pw interface Vpn1/2/0
State: Up # PW恢复, CE间通信恢复
五、总结
| 项目 | 要点 |
|---|---|
| H-VPLS 目的 | 通过分层架构减少 PW 数量,提升扩展性 |
| 三层角色 | U-PE(接入)+ N-PE(聚合)+ N-NE(核心) |
| PW 分层 | 下层 PW(U-PE ↔ N-PE)+ 上层 PW(N-PE 网格) |
| 标签栈 | 三层标签:公网 + 上层PW + 下层PW |
| 扩展效果 | PW 数量从 O(n²) 降至 O(n×m),大幅节省 |
思考
- H-VPLS 中 U-PE 是否感知 N-PE 以上的网络拓扑?如果 N-PE 间核心 PW 全部中断,U-PE 如何感知?
- H-VPLS 的三层标签栈对转发性能有什么影响?相比普通 VPLS 的双层标签,性能下降多少?
- 如果某个 N-PE 同时连接多个 U-PE,这些 U-PE 下的 CE 之间是否需要经过核心 PW 网格通信?
下篇预告:第173篇:EVPN 基本概念:MP-BGP 与 NVO3