第197篇:大客户专线 MPLS VPN 设计

关键词:大客户专线、MPLS L3VPN、MPLS L2VPN、SLA保障、HQ-Branch拓扑、多点专线、政企客户、专线带宽管理、专线计费


一、引言

在第196篇中,我们探讨了固网与移动网的融合架构,其中承载网通过 MPLS L3VPN 对不同业务进行逻辑隔离。现在我们将这种隔离思路应用到一个非常具体的商业场景——运营商面向政企大客户的专线业务。

大客户专线是运营商最传统也是最具价值的 B2B 业务。银行需要连接全国的分支机构和 ATM 网络,连锁企业需要总部与门店之间的私有数据通道,医疗机构需要跨院区影像数据传输……这些场景的共同需求是:数据在运营商网络中传输时完全隔离于其他用户,具备可承诺的带宽保障(SLA),且端到端时延可控。

MPLS VPN 技术为大客户专线提供了完美的技术底座——L3VPN 用于需要三层路由互通的场景,L2VPN 用于需要二层透明桥接的场景。


二、大客户专线业务模型

2.1 专线类型

专线类型 技术实现 拓扑特点 典型客户
点到点专线 L2VPN (VPLS/VPWS) 两点直达 ATM 互联、数据中心互联
多点专线(Hub-Spoke) L3VPN (Hub-Spoke) 总部-分支星型 连锁门店、分支机构
全网互通专线 L3VPN (Full-Mesh) 所有节点互通 银行、大型制造集团
互联网专线 简单三层路由 单点上互联网 企业宽带接入

2.2 Hub-Spoke 专线拓扑

Hub-Spoke(总部-分支星型拓扑)是大客户专线中最常见的组网模式。总部(Hub)可以与所有分支(Spoke)通信,但分支之间相互隔离(或经总部中转)。

Hub-Spoke 专线拓扑 - 图示


三、MPLS L3VPN 专线设计

3.1 RD 与 RT 规划

大客户专线 L3VPN 的核心是 RD(Route Distinguisher,路由区分符)和 RT(Route Target,路由目标)的合理规划。

字段 格式 规划策略
RD admin:assigned admin 使用客户编号,assigned 使用站点编号
Import RT extcommunity Hub-Spoke 场景下使用不同的 Import RT
Export RT extcommunity Hub 与 Spoke 使用不同的 Export RT

3.2 Hub-Spoke 路由控制

在 Hub-Spoke 场景中,需要通过 RT 策略实现: - Hub 能学到所有 Spoke 的路由(Import RT = 所有 Spoke 的 Export RT) - Spoke 只能学到 Hub 的路由(Import RT = Hub 的 Export RT) - Spoke 之间不能互相学到路由

# PE-Hub 配置(总部 PE)
<PE-HUB> system-view
[PE-HUB] sysname PE-HUB

# 创建客户 VPN 实例
[PE-HUB] ip vpn-instance CUSTOMER-A-HUB
[PE-HUB-ip-vpn-instance-CUSTOMER-A-HUB] vpn-instance-name CUSTOMER-A-HUB
[PE-HUB-ip-vpn-instance-CUSTOMER-A-HUB] rd 65100:1000
# Hub Import: 学习 Hub 自身 + 所有 Spoke 的路由
[PE-HUB-ip-vpn-instance-CUSTOMER-A-HUB] route-target import extcommunity 65100:1000
[PE-HUB-ip-vpn-instance-CUSTOMER-A-HUB] route-target import extcommunity 65100:2001
[PE-HUB-ip-vpn-instance-CUSTOMER-A-HUB] route-target import extcommunity 65100:2002
[PE-HUB-ip-vpn-instance-CUSTOMER-A-HUB] route-target import extcommunity 65100:2003
# Hub Export: 发布 Hub 路由
[PE-HUB-ip-vpn-instance-CUSTOMER-A-HUB] route-target export extcommunity 65100:1000
[PE-HUB-ip-vpn-instance-CUSTOMER-A-HUB] quit

# PE-Spoke1 配置(分支1 PE)
<PE-S1> system-view
[PE-S1] sysname PE-Spoke1
[PE-S1] ip vpn-instance CUSTOMER-A-SPOKE1
[PE-S1-ip-vpn-instance-CUSTOMER-A-SPOKE1] vpn-instance-name CUSTOMER-A-SPOKE1
[PE-S1-ip-vpn-instance-CUSTOMER-A-SPOKE1] rd 65100:2001
# Spoke Import: 只学习 Hub 的路由
[PE-S1-ip-vpn-instance-CUSTOMER-A-SPOKE1] route-target import extcommunity 65100:1000
# Spoke Export: 发布 Spoke1 路由
[PE-S1-ip-vpn-instance-CUSTOMER-A-SPOKE1] route-target export extcommunity 65100:2001
[PE-S1-ip-vpn-instance-CUSTOMER-A-SPOKE1] quit

# PE-Spoke2 配置(分支2 PE)
[PE-Spoke2] ip vpn-instance CUSTOMER-A-SPOKE2
[PE-Spoke2-ip-vpn-instance-CUSTOMER-A-SPOKE2] rd 65100:2002
[PE-Spoke2-ip-vpn-instance-CUSTOMER-A-SPOKE2] route-target import extcommunity 65100:1000
[PE-Spoke2-ip-vpn-instance-CUSTOMER-A-SPOKE2] route-target export extcommunity 65100:2002
[PE-Spoke2-ip-vpn-instance-CUSTOMER-A-SPOKE2] quit

# PE-Spoke3 配置(分支3 PE)
[PE-Spoke3] ip vpn-instance CUSTOMER-A-SPOKE3
[PE-Spoke3-ip-vpn-instance-CUSTOMER-A-SPOKE3] rd 65100:2003
[PE-Spoke3-ip-vpn-instance-CUSTOMER-A-SPOKE3] route-target import extcommunity 65100:1000
[PE-Spoke3-ip-vpn-instance-CUSTOMER-A-SPOKE3] route-target export extcommunity 65100:2003
[PE-Spoke3-ip-vpn-instance-CUSTOMER-A-SPOKE3] quit

3.3 CE-PE 互联配置

# CE-Hub 配置(总部侧)
<CE-HUB> system-view
[CE-HUB] sysname CE-HUB
[CE-HUB] interface GigabitEthernet0/0/1
[CE-HUB-GigabitEthernet0/0/1] description To-PE-HUB
[CE-HUB-GigabitEthernet0/0/1] ip address 10.100.1.2 30
[CE-HUB-GigabitEthernet0/0/1] quit

# 静态路由指向 PE-Hub
[CE-HUB] ip route-static 10.200.0.0 255.255.0.0 10.100.1.1

# PE-Hub 配置(运营商侧)
[PE-HUB] interface GigabitEthernet0/0/1
[PE-HUB-GigabitEthernet0/0/1] description To-CE-HUB-CUSTOMER-A
[PE-HUB-GigabitEthernet0/0/1] ip binding vpn-instance CUSTOMER-A-HUB
[PE-HUB-GigabitEthernet0/0/1] ip address 10.100.1.1 30
[PE-HUB-GigabitEthernet0/0/1] quit

# PE-Hub 上引入 CE 路由到 BGP
[PE-HUB] bgp 65000
[PE-HUB-bgp-65000] address-family ipv4
[PE-HUB-bgp-65000-ipv4] network 10.100.1.0 mask 255.255.255.252 vpn-instance CUSTOMER-A-HUB
[PE-HUB-bgp-65000-ipv4] quit

四、MPLS L2VPN 专线设计

4.1 L2VPN 适用场景

当客户需要在不同站点之间实现二层透明桥接(如 VLAN 透传、二层广播域延伸)时,必须使用 L2VPN 而非 L3VPN。典型场景包括:

  • ATM 机与后台系统之间的二层专线连接
  • 数据中心站点之间的 OTN 或以太网专线
  • 需要端到端二层 MAC 学习的视频监控网络

4.2 VPWS(Pseudowire Switched)点到点 L2VPN

VPWS(Pseudowire Switched)点到点 L2VPN - 图示

4.3 VPWS 配置示例

# PE-A 配置(站点A侧)
<PE-A> system-view
[PE-A] sysname PE-A

# 创建 PW(Pseudowire)
[PE-A] pw-template ATM-LINE-001
[PE-A-pw-template-ATM-LINE-001] pw-protocol vlan-based
[PE-A-pw-template-ATM-LINE-001] pw-type ethernet
[PE-A-pw-template-ATM-LINE-001] pw-id 100
[PE-A-pw-template-ATM-LINE-001] quit

# 配置 AC(Attachment Circuit)并绑定 PW
[PE-A] interface Vlanif100
[PE-A-Vlanif100] pw-template ATM-LINE-001
[PE-A-Vlanif100] pw peer-ip 20.1.2.1  # PE-B的Loopback地址
[PE-A-Vlanif100] quit

# PE-B 配置(站点B侧)
<PE-B> system-view
[PE-B] sysname PE-B

[PE-B] pw-template ATM-LINE-001
[PE-B-pw-template-ATM-LINE-001] pw-protocol vlan-based
[PE-B-pw-template-ATM-LINE-001] pw-type ethernet
[PE-B-pw-template-ATM-LINE-001] pw-id 100
[PE-B-pw-template-ATM-LINE-001] quit

[PE-B] interface Vlanif100
[PE-B-Vlanif100] pw-template ATM-LINE-001
[PE-B-Vlanif100] pw peer-ip 20.1.1.1  # PE-A的Loopback地址
[PE-B-Vlanif100] quit

4.4 L3VPN vs. L2VPN 选择

对比维度 MPLS L3VPN MPLS L2VPN
路由可见性 PE 上可见客户路由 PE 不可见,纯二层转发
客户 IP 规划 各站点 IP 可重叠(RD 隔离) 各站点 IP 不能重叠(二层广播)
多站点互通 天然支持多站点三层互通 需要 VPLS 支持多点
故障排查 可在 PE 上追踪路由 只能检查 PW 状态和 MAC 表
带宽管理 可基于前缀做 QoS 只能基于 VLAN 做 QoS
适用场景 大多数企业专线 ATM、DCI、二层透传

五、SLA 保障机制

5.1 SLA 等级设计

大客户专线通常提供多级 SLA 保障:

SLA 等级 带宽承诺 可用性 时延 丢包率 典型定价
金牌专线 保证带宽 = 签约带宽 99.99% < 20ms < 0.1% 最高
银牌专线 保证带宽 = 签约带宽 × 80% 99.95% < 50ms < 0.5% 中等
铜牌专线 保证带宽 = 签约带宽 × 50% 99.9% < 100ms < 1% 基础

5.2 带宽管理与 CIR/PIR

运营商通过 CIR(Committed Information Rate,承诺信息速率)和 PIR(Peak Information Rate,峰值信息速率)来控制专线带宽:

# 在 PE 设备上配置流量策略
<PE-HUB> system-view
[PE-HUB] sysname PE-HUB

# 定义流量分类器(匹配客户业务流量)
[PE-HUB] traffic classifier CUSTOMER-A
[PE-HUB-traf classifier-CUSTOMER-A] if-match vlan 2001
[PE-HUB-traf classifier-CUSTOMER-A] quit

# 定义流量行为(限速策略)
[PE-HUB] traffic behavior CUSTOMER-A-SHAPER
[PE-HUB-traf behavior-CUSTOMER-A-SHAPER] car cir 100 p ir 200 cbs 125000 pbs 250000
[PE-HUB-traf behavior-CUSTOMER-A-SHAPER] queue wrr weight 8
[PE-HUB-traf behavior-CUSTOMER-A-SHAPER] quit

# 绑定策略
[PE-HUB] traffic policy CUSTOMER-A-POLICY
[PE-HUB-trafficpolicy-CUSTOMER-A-POLICY] classifier CUSTOMER-A behavior CUSTOMER-A-SHAPER
[PE-HUB-trafficpolicy-CUSTOMER-A-POLICY] quit

# 应用到 CE-PE 互联接口
[PE-HUB] interface GigabitEthernet0/0/1
[PE-HUB-GigabitEthernet0/0/1] traffic-policy CUSTOMER-A-POLICY inbound
[PE-HUB-GigabitEthernet0/0/1] quit

参数说明: - CIR 100:承诺信息速率 100 Mbps,保证在此速率内的流量不被丢弃 - PIR 200:峰值信息速率 200 Mbps,允许短时突发到该速率 - CBS 125000:承诺突发尺寸(CIR × 125 / 8 = 100 × 125 / 8 = 125000 bytes) - PBS 250000:峰值突发尺寸(PIR × 125 / 8 = 200 × 125 / 8 = 250000 bytes)


六、大客户专线故障案例

6.1 案例:分支门店无法访问总部系统

故障现象: 某连锁餐饮企业在全国有 200 家门店,采用 Hub-Spoke MPLS L3VPN 专线连接总部数据中心。某日某省份 10 家门店同时反映无法访问总部 ERP 系统,但门店之间 WiFi 和互联网访问正常。

排查过程:

# 在分支 PE 上查看 VPN 路由
<PE-Spoke1> display ip vpn-instance CUSTOMER-A-SPOKE1 routing-table
# 只有本地 CE 路由,没有 Hub 的路由!
Routing Table: CUSTOMER-A-SPOKE1
  Routes: 1
    10.10.1.0/24 via Direct

# 检查 MP-BGP 会话
<PE-Spoke1> display bgp vpnv4 all peer
Peer: 10.1.1.1 (RR)
  State: Established ✓
  Received Routes: 0    # 从RR没有收到任何VPNv4路由!

根因分析: RR(路由反射器)上该客户 Hub 的 PE 设备维护板(LPU)重启,导致该 PE 的 VPNv4 路由全部丢失,RR 不再向 Spoke 反射 Hub 的路由。

解决方案:

# 在 Hub PE 上确认 BGP 会话恢复
<PE-HUB> display bgp vpnv4 all peer
# 确认所有 Peer 状态均为 Established

# 检查 VPNv4 路由是否重新发布
<PE-HUB> display bgp vpnv4 all routing-table CUSTOMER-A-HUB
# 确认 Hub 的路由已发布

# 在 Spoke PE 上确认路由学习
<PE-Spoke1> display ip vpn-instance CUSTOMER-A-SPOKE1 routing-table
# Hub路由已恢复:
# 10.100.0.0/16 via BGP, nexthop 10.1.1.1

6.2 案例:ATM 专线 Ping 通但交易失败

故障现象: 某银行部署了 ATM 到后台系统的 L2VPN 专线。网络层测试正常(从 ATM 侧可以 ping 通后台服务器 IP),但 ATM 实际交易时频繁超时失败。

根因分析: L2VPN VPWS 伪线虽然建立了,但 PW 的 MTU 配置与客户二层帧大小不匹配。ATM 的交易报文(含 ISO 8583 协议头)较大,超过 PW MTU 时被静默丢弃,而 ICMP Echo(ping)报文较小,可以通过。

解决方案:

# 检查并调整 PW MTU
<PE-A> display pw interface Vlanif100
PW MTU: 1500

# 扩大 PW MTU 以适配 ATM 大报文
[PE-A] interface Vlanif100
[PE-A-Vlanif100] pw mtu 2000
[PE-A-Vlanif100] quit

[PE-B] interface Vlanif100
[PE-B-Vlanif100] pw mtu 2000
[PE-B-Vlanif100] quit

七、总结

大客户专线 MPLS VPN 设计是运营商 B2B 业务的核心技术能力,从 L3VPN 的多点互联到 L2VPN 的透明桥接,从 RT 路由控制到 SLA 带宽管理,每一环节都需要精细的规划与实施。

设计环节 关键考量 推荐方案
VPN 类型选择 客户网络架构与互通需求 多数场景 L3VPN,ATM/DCI 选 L2VPN
RD/RT 规划 路由隔离与多站点互通控制 客户编号:站点编号,Hub-Spoke 差异 RT
SLA 保障 带宽承诺与优先级调度 CIR/PIR 限速 + WRR/PQ 队列调度
冗余保护 设备与链路双重保护 PE 双归属 + TE FRR + BFD

思考题:

  1. Hub-Spoke L3VPN 中,如果某两个分支(Spoke)之间需要临时通信,在不修改 RT 配置的前提下,有哪些技术手段可以实现?
  2. 在 L2VPN 专线中,如果客户侧设备发送的帧大小超过了 PW MTU,为什么会静默丢弃而不是返回 ICMP Fragmentation Needed?
  3. CIR 和 PIR 的设计中,为什么需要设置突发尺寸(CBS/PBS)?如果 CBS 设得太小或太大分别会带来什么问题?

下篇预告:第198篇《MPLS QoS:EXP 位与隧道优先级》将深入 MPLS 标签中的 EXP(Experimental)字段,讲解如何利用这 3 bit 实现跨域 QoS 标记继承、优先级队列调度以及隧道级的流量整形。