第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 入接口设置信任策略

八、思考

  1. MPLS EXP 位有几个比特?可以表示多少个优先级等级?
  2. Pipe 模式和 Uniform 模式的区别是什么?为什么运营商通常选择 Pipe 模式?
  3. 在双标签 MPLS VPN 中,中间 P 路由器查看哪个标签的 EXP 位做 QoS 调度?
  4. TE 隧道的 Setup Priority 和 Holding Priority 分别有什么作用?
  5. 层次化 QoS(HQoS)如何实现在一条隧道内对多个业务进行差异化服务?

下篇预告:第199篇《MPLS OAM:LSP Ping 与 Traceroute》——MPLS 网络的运维工具,详解 LSP Ping 和 LSP Traceroute 的工作原理和故障排查方法。