第198篇:MPLS QoS:EXP 位与隧道优先级
关键词
MPLS QoS、EXP、隧道优先级、差分服务、DiffServ、流量整形、队列调度、HQoS
一、MPLS QoS 概述
1.1 什么是 MPLS QoS
MPLS QoS 是指在 MPLS 网络中,利用 MPLS 标签头中的 EXP(Experimental)位实现差分服务:
MPLS 标签头(32 位): | Label (20 bit) | EXP (3bit) | S (1bit) | TTL (8 bit) | | --- | --- | --- | --- |
EXP(Experimental)位: 3 位,可表示 0-7 共 8 个优先级值 原设计为实验用途,实际用于 QoS 标记 相当于 IP 头中的 DSCP 或 802.1p
1.2 MPLS 网络中的 QoS 模型
MPLS 骨干网 QoS = DiffServ(差分服务模型)
入节点(Ingress LER):
IP 报文 → 分类 → 标记 EXP → 转发
中间节点(Transit LSR):
查 EXP → 队列调度 → 转发(可能重标记 EXP)
出节点(Egress LER):
EXP → IP DSCP → 转发给下游
二、EXP 位的标记与映射
2.1 EXP 与 IP DSCP 的映射
IP 报文 MPLS 标签 | DSCP (6 bit) 0-63 | ──────→ 映射 | EXP (3 bit) 0-7 | | --- | --- | --- |
标准映射表(华为推荐):
| 业务类型 | IP DSCP | EXP | 丢弃优先级 | 队列行为 |
|---|---|---|---|---|
| 网络控制 | CS7 (56) | 7 | 低 | PQ(严格优先) |
| 语音 | EF (46) | 5 | 低 | PQ |
| 视频会议 | AF4 (34) | 4 | 中 | AF |
| 信令 | CS3 (24) | 3 | 低 | PQ或AF |
| 关键数据 | AF3 (26) | 3 | 中 | AF |
| 批量数据 | AF2 (18) | 2 | 高 | AF |
| 尽力而为 | BE (0) | 0 | 最高 | BE |
2.2 入节点标记配置
# 入节点 LER:根据 IP DSCP 标记 EXP
interface GigabitEthernet0/0/0.100
ip address 10.1.1.1 255.255.255.252
#
# 信任并映射 DSCP 到 EXP
qos trust dscp
qos map-table dscp-exp
input 46 output 5 # EF → EXP 5
input 34 output 4 # AF4 → EXP 4
input 26 output 3 # AF3 → EXP 3
input 0 output 0 # BE → EXP 0
2.3 中间节点重标记
# Transit LSR:基于 EXP 的队列调度(可重标记)
interface GigabitEthernet0/0/0
mpls
#
# 服务等级配置
qos service-class af4
#
# 队列调度(EXP 到服务等级的映射)
qos exp-map
exp 0 service-class be
exp 1 service-class be
exp 2 service-class af1
exp 3 service-class af2
exp 4 service-class af3
exp 5 service-class ef
exp 6 service-class cs6
exp 7 service-class cs7
三、MPLS 隧道中的 QoS
3.1 单标签隧道(LDP)
LDP 建立的 LSP(单标签): | LER1 | ──── | LSR1 | ──── | LSR2 | ──── | LER2 | | --- | --- | --- | --- | --- | --- | --- | EXP=X EXP=X EXP=X EXP→IP (标记) (调度) (调度) (重标记)
单标签场景: EXP 位存在于唯一的外层标签 所有 LSR 都基于该 EXP 做 QoS 调度
3.2 双标签隧道(MPLS VPN)
MPLS VPN(双标签): | PE | ──── | P | ──── | P | ──── | PE | | --- | --- | --- | --- | --- | --- | --- | [VPN][TNL] EXP 查外层标签 (TNL) EXP?
双标签场景的 EXP 处理:
| 场景 | 外层标签 EXP | 内层标签 EXP | 说明 |
|---|---|---|---|
| Pipe 模式(默认) | 管道模式 | 忽略 | 外层 EXP 标记,内层 EXP 穿透 |
| Uniform 模式 | 统一模式 | 统一复制 | 内外层 EXP 一致 |
| Short Pipe 模式 | 短管道 | 有独立值 | 外层标记仅在本域有效 |
3.3 Pipe vs Uniform 模式
Pipe 模式(默认、推荐):
PE: IP(DSCP=EF) → MPLS[EXP=5] → 骨干网
↑ ↓
骨干网只看到外层 EXP=5 PE → CE: IP(DSCP=EF)
运营商不改变客户 DSCP
Uniform 模式:
PE: IP(DSCP=EF) → MPLS[EXP=5] → 骨干
↑ ↓
IP DSCP=EF PE → CE: IP(DSCP=EF)
运营商可能重写客户 DSCP
配置示例:
# Pipe 模式(华为默认)
mpls
exp-mode pipe # 管道模式(默认)
#
# Uniform 模式(需要明确配置)
mpls
exp-mode uniform
四、MPLS TE 隧道中的 QoS
4.1 TE 隧道优先级
TE 隧道有自己的优先级,独立于 EXP:
Setup Priority(建立优先级):0-7
0 = 最高优先级
7 = 最低优先级
高优先级的 Tunnel 可以抢占低优先级的带宽
Holding Priority(保持优先级):0-7
建立后的保持优先级
通常等于或高于 Setup Priority
示例:
Tunnel 1: Setup=0, Hold=0 (最高优先级,语音业务)
Tunnel 2: Setup=2, Hold=2 (视频业务)
Tunnel 3: Setup=4, Hold=4 (一般数据)
Tunnel 4: Setup=7, Hold=7 (尽力而为)
4.2 TE 隧道中的 EXP 配置
# 创建 TE 隧道并配置 EXP
interface Tunnel0/0/0
ip address unnumbered interface LoopBack0
tunnel-protocol mpls te
destination 10.0.0.2
mpls te tunnel-id 100
mpls te bandwidth 100000 # 带宽预留
mpls te priority 0 0 # Setup/Hold 优先级
#
# TE 隧道 EXP 标记
mpls te exp 5 # 隧道内所有流量标记 EXP=5
五、层次化 QoS(HQoS)
5.1 三层调度
HQoS 的三层调度模型:
┌────────────────────────────────────────┐
│ 层次 1:隧道 / 管道级 │
│ 对每条隧道进行总限速和优先级调度 │
└────────────────┬───────────────────────┘
│
┌────────────────┴───────────────────────┐
│ 层次 2:业务级 │
│ 对隧道内的不同业务(语音、视频、数据) │
│ 二次调度和限速 │
└────────────────┬───────────────────────┘
│
┌────────────────┴───────────────────────┐
│ 层次 3:队列级 │
│ 对同一业务的多个用户再做公平调度 │
└────────────────────────────────────────┘
5.2 HQoS 配置示例
# MPLS TE 隧道上的 HQoS
interface Tunnel0/0/0
qos hqos enable
#
# 隧道级(Level 1)
qos hqos tunnel cir 100000 # 隧道总带宽 100M
#
# 业务级(Level 2)
qos hqos service-class ef cir 10000 pir 10000 # 语音 10M
qos hqos service-class af4 cir 30000 pir 50000 # 视频 30M(可突发到50M)
qos hqos service-class be cir 60000 pir 70000 # 尽力而为 60M
#
# 队列级(Level 3)
qos hqos queue 0 pq shaping 10000 # EF 队列 PQ
qos hqos queue 1 wfq weight 40 # AF4 队列 WFQ
qos hqos queue 3 wfq weight 60 # BE 队列 WFQ
六、MPLS QoS 的关键设计原则
6.1 端到端 QoS 策略
用户侧 ─── PE(LER)─── P(LSR)─── P(LSR)─── PE(LER)─── 用户侧
│ │ │
│ Trust边界 优先调度 重标记
│ 标记 EXP (不轻易重标记) 恢复 DSCP
│
信任边界(Trust Boundary):
在 PE 的 CE-facing 接口设置信任点
从 CE 来的 IP 报文可以根据 DSCP 标记 EXP
从用户侧来的报文可被重标记(写策略)
6.2 建议配置总结
分层推荐配置:
入接口(CE侧):
qos trust dscp # 信任 DSCP
qos map-table dscp-exp # 映射到 EXP
出接口(骨干侧):
qos exp-map # EXP → 服务等级
qos queue x pq/wfq shaping # 队列调度
中间节点(LSR):
qos exp-map
qos queue配置 # 仅调度,不标记
出接口(CE侧):
qos trust exp # 信任 EXP(管道模式)
# 或
qos map-table exp-dscp # EXP → DSCP(非管道模式)
七、总结
| 知识点 | 核心要点 |
|---|---|
| EXP 位 | MPLS 标签中的 3 位 QoS 标记,8 个等级 |
| 映射 | IP DSCP → EXP(入节点)、EXP → 调度(中间节点) |
| Pipe 模式 | 运营商域内使用 EXP,客户 DSCP 不受影响 |
| TE 优先级 | Setup/Holding Priority,独立于 EXP |
| HQoS | 三层调度:隧道级 → 业务级 → 队列级 |
| 信任边界 | 在 PE 入接口设置信任策略 |
八、思考
- MPLS EXP 位有几个比特?可以表示多少个优先级等级?
- Pipe 模式和 Uniform 模式的区别是什么?为什么运营商通常选择 Pipe 模式?
- 在双标签 MPLS VPN 中,中间 P 路由器查看哪个标签的 EXP 位做 QoS 调度?
- TE 隧道的 Setup Priority 和 Holding Priority 分别有什么作用?
- 层次化 QoS(HQoS)如何实现在一条隧道内对多个业务进行差异化服务?
下篇预告:第199篇《MPLS OAM:LSP Ping 与 Traceroute》——MPLS 网络的运维工具,详解 LSP Ping 和 LSP Traceroute 的工作原理和故障排查方法。