第162篇:MPLS TE 与 DiffServ 结合:DS-TE
关键词:DS-TE、区分服务TE、Class-Type、CT、流量分类、优先级队列、MPLS QoS
一、引言
标准 MPLS TE 使用单一带宽池进行带宽管理,所有 TE 隧道共享同一个"可用带宽"值。这种模型在业务种类单一的网络中工作良好,但当网络需要承载多种不同服务质量要求的业务时,单一带宽池就无法满足差异化需求。DS-TE(Differentiated Services Traffic Engineering)将 DiffServ(区分服务)与 MPLS TE 相结合,通过多类带宽池实现不同优先级业务的带宽隔离与保障。
二、核心概念
2.1 DS-TE 核心思想
标准 TE 只有单一 Class(Class-Type 0),所有 TE 隧道共享一个带宽池。DS-TE 引入多个 Class-Type(CT),每个 CT 独立管理带宽:
| 模式 | Class-Type 数量 | 带宽池 |
|---|---|---|
| 标准 TE | 1 (CT0) | 单一带宽池 |
| DS-TE | 最多 8 (CT0-CT7) | 每个 CT 独立带宽池 |

2.2 Class-Type(CT)与流量分类
每个 Class-Type 对应一种业务类型:
| CT | 典型业务 | 优先级 | 带宽保障 |
|---|---|---|---|
| CT0 | 语音(VoIP) | 最高 | 严格保障 |
| CT1 | 视频(Video) | 高 | 高保障 |
| CT2 | 关键数据 | 中 | 中等保障 |
| CT3 | 普通数据 | 低 | 尽力而为 |
2.3 两种 DS-TE 带宽分配模型
| 模型 | 说明 | 特点 |
|---|---|---|
| 最大分配(MAM,Maximum Allocation Model) | 每个 CT 独立声明最大带宽,各 CT 带宽可重叠 | 灵活,但可能超额分配 |
| 俄罗斯套娃(RDM,Russian Doll Model) | 各 CT 带宽逐层嵌套(CT2 ≤ CT1+CT2 ≤ 总带宽),高优先级可借用低优先级资源 | 资源利用率高,隔离性稍弱 |
RDM 模型详解:RDM 采用嵌套约束方式,以 3 个 CT 为例:
| 约束 | 公式 | 说明 |
|---|---|---|
| BC2 | CT2 使用 ≤ 200 Mbps | CT2(最高优先级)独立上限 |
| BC1 | CT1 + CT2 ≤ 600 Mbps | CT1 和 CT2 合计上限 |
| BC0 | CT0 + CT1 + CT2 ≤ 1000 Mbps | 所有 CT 合计上限(接口总带宽) |
RDM 的优势在于:当 CT2(语音)空闲时,CT1 和 CT0 可以借用 CT2 的资源。但 CT2 一旦有业务,CT1 和 CT0 必须释放相应带宽,确保 CT2 获得保障。
2.4 TE Class(TE 等级)
TE Class 是 DS-TE 中的核心概念,由 Class Type(CT)和 Preemption Priority(抢占优先级)两个维度组成:
| TE Class | CT | 抢占优先级 | 典型业务 |
|---|---|---|---|
| TE Class 0 | CT2 | 0(最高) | 语音(最高优先级) |
| TE Class 1 | CT2 | 2 | 视频会议 |
| TE Class 2 | CT1 | 4 | 关键业务数据 |
| TE Class 3 | CT1 | 6 | 普通业务数据 |
| TE Class 4 | CT0 | 7(最低) | 尽力而为(Best Effort) |
每个 DS-TE 节点最多支持 8 个 TE Class。TE Class 决定了隧道的带宽约束归属和抢占行为:当带宽不足时,高优先级的隧道可以抢占低优先级隧道的带宽。
三、技术细节
3.1 DS-TE 带宽管理

3.2 DS-TE 与 EXP 映射
MPLS 标签的 EXP(实验用)字段用于标识 DiffServ 优先级:
| EXP 值 | DSCP | 队列 | CT 映射 |
|---|---|---|---|
| 7 | CS7 (网络控制) | 队列0 | CT0 |
| 6 | CS6 | 队列0 | CT0 |
| 5 | EF (语音) | 队列1 | CT0 |
| 4 | AF41 (视频) | 队列2 | CT1 |
| 3 | AF31 | 队列3 | CT1 |
| 2 | AF21 | 队列4 | CT2 |
| 1 | AF11 | 队列5 | CT3 |
| 0 | BE (尽力而为) | 队列6 | CT3 |
3.3 DS-TE 信令扩展
RSVP-TE 为 DS-TE 做了以下扩展:
| 扩展对象 | 说明 |
|---|---|
| Class-Type 字段 | Path/Resv 消息中携带 CT 标识 |
| 每 CT 带宽 | 每个 CT 独立携带带宽请求 |
| 每 CT 优先级 | 每个 CT 独立配置建立/保持优先级 |
四、实战配置/案例分析
4.1 华为 DS-TE 配置
# ========== 全局启用 DS-TE ==========
[NE40E] mpls
[NE40E-mpls] mpls te
[NE40E-mpls-te] class-type 0 4000000
# CT0 最大带宽: 4Gbps
[NE40E-mpls-te] class-type 1 4000000
# CT1 最大带宽: 4Gbps
[NE40E-mpls-te] class-type 2 2000000
# CT2 最大带宽: 2Gbps
# ========== 接口配置 DS-TE ==========
[NE40E] interface 10GE 1/0/1
[NE40E-10GE1/0/1] mpls
[NE40E-10GE1/0/1] mpls te
[NE40E-10GE1/0/1] mpls te bandwidth available 10000000
[NE40E-10GE1/0/1] mpls te class-type 0 4000000
[NE40E-10GE1/0/1] mpls te class-type 1 4000000
[NE40E-10GE1/0/1] mpls te class-type 2 2000000
# ========== 不同CT的TE隧道 ==========
# 语音隧道 (CT0)
[NE40E] interface Tunnel 10
[NE40E-Tunnel10] tunnel-protocol mpls-te
[NE40E-Tunnel10] mpls te tunnel-id 10
[NE40E-Tunnel10] mpls te destination 10.1.1.10
[NE40E-Tunnel10] mpls te class-type 0
[NE40E-Tunnel10] mpls te bandwidth bs-value 1000000
[NE40E-Tunnel10] mpls te priority 7 7
[NE40E-Tunnel10] ip address 10.255.255.10 255.255.255.255
# 视频隧道 (CT1)
[NE40E] interface Tunnel 20
[NE40E-Tunnel20] tunnel-protocol mpls-te
[NE40E-Tunnel20] mpls te tunnel-id 20
[NE40E-Tunnel20] mpls te destination 10.1.1.10
[NE40E-Tunnel20] mpls te class-type 1
[NE40E-Tunnel20] mpls te bandwidth bs-value 2000000
[NE40E-Tunnel20] mpls te priority 5 5
[NE40E-Tunnel20] ip address 10.255.255.20 255.255.255.255
4.2 DS-TE 与 QoS 策略结合
# 配置基于DSCP到CT的分类策略
[NE40E] qos class VoIP
[NE40E-qos-class-VoIP] if-match dscp ef
[NE40E] qos class Video
[NE40E-qos-class-Video] if-match dscp af41
# 配置行为绑定CT
[NE40E] qos carb ct0-carb
[NE40E-qos-carb-ct0-carb] queue sch drt
[NE40E] qos carb ct1-carb
[NE40E-qos-carb-ct1-carb] queue sch wfq
# 应用策略
[NE40E] qos policy ds-te-policy
[NE40E-qos-policy-ds-te-policy] classifier VoIP behavior ct0-carb
[NE40E-qos-policy-ds-te-policy] classifier Video behavior ct1-carb
[NE40E] interface 10GE 1/0/1
[NE40E-10GE1/0/1] qos apply policy ds-te-policy queue
4.3 故障排查:DS-TE 带宽超限
故障场景:新建立的 CT1 隧道失败,但 CT0 隧道正常。
# Step 1: 查看CT带宽使用
<NE40E> display mpls te interface 10GE 1/0/1
Class-Type 0: Available=2000000, Reserved=2000000
Class-Type 1: Available=0, Reserved=4000000
# CT1可用带宽为0!
# Step 2: 查看已占用的CT1隧道
<NE40E> display mpls te rsvp-session class-type 1
Tunnel 20: Reserved 2000000 (2Gbps)
Tunnel 21: Reserved 2000000 (2Gbps)
Total CT1 Reserved: 4000000 (等于声明带宽)
# Step 3: 解决方案
# 方案A: 增加CT1声明带宽
[NE40E-10GE1/0/1] mpls te class-type 1 6000000
# 方案B: 降低新隧道的带宽需求
[Tunnel30] mpls te bandwidth bs-value 500000
4.4 策略路由引导流量到 TE 隧道
DS-TE 确保隧道级别的带宽隔离,但还需要将不同业务流量引导到对应的 TE 隧道。使用策略路由(PBR)实现:
# 将标记为 EF(语音 DSCP 46)的流量导入语音隧道
[NE40E] traffic classifier voice
[NE40E-traffic-classifier-voice] if-match dscp ef
[NE40E] traffic behavior to-voice-tunnel
[NE40E-traffic-behavior-to-voice-tunnel] redirect ip-nexthop Tunnel10
# 将语音流量重定向到 CT0(语音)TE 隧道
[NE40E] traffic classifier video
[NE40E-traffic-classifier-video] if-match dscp af41
[NE40E] traffic behavior to-video-tunnel
[NE40E-traffic-behavior-to-video-tunnel] redirect ip-nexthop Tunnel20
# 将视频流量重定向到 CT1(视频)TE 隧道
[NE40E] traffic policy ds-te-routing
[NE40E-traffic-policy-ds-te-routing] classifier voice behavior to-voice-tunnel
[NE40E-traffic-policy-ds-te-routing] classifier video behavior to-video-tunnel
# 在 CE 侧接口应用策略
[NE40E] interface GigabitEthernet 1/0/0
[NE40E-GigabitEthernet1/0/0] traffic-policy ds-te-routing inbound
4.5 DS-TE 验证命令
# 查看 DS-TE 全局配置
<NE40E> display mpls te ds-te
DS-TE Information:
Model: RDM
Bandwidth Constraints (Kbps):
BC0: 1000000
BC1: 600000
BC2: 200000
TE-Class Table:
TE Class 0: CT2, Priority 0
TE Class 1: CT2, Priority 2
TE Class 2: CT1, Priority 4
TE Class 3: CT0, Priority 7
# 查看 DS-TE 带宽使用情况
<NE40E> display mpls te ds-te bandwidth
# 查看 TE Class 表
<NE40E> display mpls te ds-te te-class
# 验证隧道带宽预留
<NE40E> display mpls te tunnel interface Tunnel10
# 查看 RSVP-TE 会话
<NE40E> display mpls te rsvp-session
4.6 DS-TE 与 QPPB 结合
QPPB(QoS Policy Propagation via BGP)通过 BGP 路由策略标记 QoS 等级:
# BGP 出站策略:为特定路由标记 QoS
[NE40E] route-policy QPPB-EXPORT permit node 10
[NE40E-route-policy-QPPB-EXPORT-node10] if-match ip-address 10.1.0.0 16
[NE40E-route-policy-QPPB-EXPORT-node10] apply dscp ef
# 语音网段的路由标记为 EF
[NE40E] bgp 65001
[NE40E-bgp-65001] ipv4-family vpn-instance VRF-A
[NE40E-bgp-65001-vpnv4] peer 10.1.2.1 route-policy QPPB-EXPORT export
# BGP 入站策略:根据标记选择 TE 隧道
[NE40E] route-policy QPPB-IMPORT permit node 10
[NE40E-route-policy-QPPB-IMPORT-node10] if-match dscp ef
[NE40E-route-policy-QPPB-IMPORT-node10] apply mpls-te tunnel 10
# 标记为 EF 的路由通过 CT0 语音隧道转发
4.7 跨厂商 DS-TE 互操作性
| 厂商 | DS-TE 模式 | 注意事项 |
|---|---|---|
| 华为(Huawei) | IETF 标准模式 | 需确认 TE Class 定义一致 |
| 思科(Cisco IOS XR) | IETF 标准模式 | TE Class 默认映射可能不同 |
| Juniper | IETF 标准模式 | 需手动映射 CT 到 BC |
跨厂商部署时,必须保证所有节点的 TE Class 定义(CT + Priority 映射)完全一致,否则隧道无法建立或带宽约束失效。
五、总结
| 项目 | 要点 |
|---|---|
| DS-TE 目的 | 多业务类型的带宽隔离与差异化保障 |
| Class-Type | 最多 8 个 CT,每个 CT 独立带宽池 |
| 带宽模型 | 最大分配(可重叠)vs 严格分配(不重叠) |
| EXP 映射 | MPLS EXP 位标识 DiffServ 优先级,映射到 CT |
| 配置要点 | 全局声明 CT 带宽 + 接口声明 CT 带宽 + 隧道绑定 CT |
思考
- DS-TE 中各 Class-Type 的带宽之和可以超过接口物理带宽吗?如果超额分配,拥塞时如何处理?
- CT 的优先级与 RSVP-TE 的建立优先级/保持优先级是同一概念吗?它们如何协同工作?
- 如果一条 TE 隧道跨越的链路上某些节点支持 DS-TE、某些不支持,隧道能否正常建立?
下篇预告:第163篇:MPLS L3VPN 基础:VRF、RD、RT