华为交换机QoS配置一条龙:从基础模型到MQC实战
来源:华为官方文档《S12700 V200R025C00 配置指南-QoS》
⚠️ 郑重声明 :本文为博主学习华为官方文档后的原创技术总结,非机器翻译,非直接复制粘贴,所有命令说明均为理解后的重新组织表达。
一、为什么需要QoS?
互联网普及之后,视频会议、VoIP语音、云桌面等实时性业务大量涌现。流量激增带来的直接后果就是网络拥塞:路由器或交换机出口带宽有限,多路流量同时"抢道",结果就是转发延迟飙升、丢包频发,严重时业务直接中断。
增加带宽是最直观的解法,但成本高昂、不切实际。QoS(Quality of Service,服务质量) 正是为解决这个问题而生的------在有限的带宽上,通过一套策略让重要业务优先通行。
QoS的核心目标:为不同业务提供"有区别的服务",让语音、视频等关键业务在网络中优先被转发。
二、三种QoS服务模型
华为官方文档将QoS服务模型分为三类,理解它们是配置的理论基础。
2.1 Best-Effort(尽力而为)
这是Internet的默认模型 ,也是最简单的一个。用户可以随时发任意数量的报文,无需通知网络。网络会"尽力"转发,但不保证任何时延、丢包率指标。
适用场景:FTP下载、Email等对实时性无要求的后台业务。
特点:无门槛、无保障、简单粗暴。
2.2 IntServ(集成服务)
IntServ模型在发包之前需要通过RSVP(Resource Reservation Protocol)信令协议,向沿途每个网络节点预先申请带宽和优先级资源。只有整条路径上的所有网元都确认资源充足,"路径"才会建立,用户才开始发包。
每个节点需要为每一条流维护状态信息。
适用场景:对QoS要求极高的小型专网(已逐步被DiffServ替代)。
特点:精度高,但规模大了之后资源消耗严重,扩展性差。
2.3 DiffServ(差分服务)⭐
这是当前网络中的主流模型,也是华为官方文档重点介绍的模型。
其核心思想是:将流量分成多个等级,不同等级在拥塞时享受不同待遇。
工作流程分两阶段:
第一阶段:边界节点分类+标记
- 边界设备(通常是接入/汇聚交换机)根据报文的源/目的地址、ToS字段、协议类型等多种条件,灵活地将报文分类。
- 为不同类别打上不同的优先级标记(如DSCP值、802.1p优先级)。
第二阶段:核心节点简化为"识别+转发"
- 核心节点不需要维护每条流的状态。
- 只需读取报文中的优先级标记,按照预设的调度策略转发。
- 同一类报文被聚合处理,保证相同的时延、抖动和丢包率。
DiffServ模型不需要信令,扩展性强,是目前运营商网络和企业园区网最主流的QoS方案。华为S系列交换机的QoS配置,本质上就是在DiffServ框架下工作的。
三、QoS技术全景图
华为官方文档给出了QoS处理的技术组成框架(参见官方图1-1),整体可分为:
报文分类和标记(基础前提)
↓
流量监管 / 流量整形 / 接口限速(流量控制)
↓
拥塞避免(主动丢弃,防过载)
↓
拥塞管理(队列调度,决定转发顺序)
其中,报文分类和标记是差分服务的基础;后面四类技术是具体执行手段。
四、华为交换机QoS配置的两条主线
在华为S系列交换机上,QoS配置有两种主要路径:
主线A:接口限速(简单粗暴,适合固定带宽限制)
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] qos lr outbound cir 10000 # 出方向限速 10Mbps
qos lr 是最直接的接口限速命令,cir = Committed Information Rate(承诺信息速率)。一行命令解决限速,无需理解MQC。
主线B:MQC(模块化QoS命令行,灵活强大,适合精细化差分服务)⭐
这是华为官方主推的方案,也是本篇文章的重点。
五、MQC详解------华为QoS配置的精髓
5.1 什么是MQC?
MQC(Modular QoS Command-Line Interface,模块化QoS命令行)的核心理念是将QoS策略拆解为三个独立模块,各自定义,互不耦合。
华为官方原文:"通过配置MQC,用户可以更加便捷地按需对网络中的流量提供不同的服务。"
5.2 MQC三要素
| 要素 | 华为命令行关键字 | 作用 |
|---|---|---|
| 流分类(Traffic Classifier) | traffic classifier |
按照规则把报文分成不同的类别 |
| 流行为(Traffic Behavior) | traffic behavior |
为每类报文指定处理动作 |
| 流策略(Traffic Policy) | traffic policy |
将流分类和流行为绑定在一起 |
| 应用 | traffic-policy |
将流策略应用到接口/VLAN/全局 |
配置顺序:分类 → 行为 → 策略 → 应用
5.3 流分类规则体系(官方表2-1精华)
华为将分类规则分为四大类:
① 二层规则(匹配链路层字段)
| 匹配字段 | 说明 |
|---|---|
| 目的/源MAC地址 | 按网卡地址精确识别 |
| VLAN ID(外层/内层) | 区分不同VLAN的流量 |
| 802.1p优先级(外层/内层) | 用于VLAN标签中的优先级字段 |
| 二层封装协议 | 支持ARP、IP、MPLS、RARP等 |
| MPLS EXP优先级 | 用于MPLS VPN场景 |
| ACL 4000~4999 | 基于二层ACL的分类 |
| 丢弃报文 | 专门匹配被丢弃的报文,用于分析 |
| 所有报文 | 对全量流量统一处理 |
| 入接口/出接口 | 按物理接口区分 |
② 三层规则(匹配IP层字段)
| 匹配字段 | 说明 |
|---|---|
| DSCP优先级 | IP头ToS域的高6位,DiffServ核心字段 |
| IP优先级 | 早期QoS标记方式(已逐步被DSCP替代) |
| IPv6下一报文头类型 | IPv6扩展头识别 |
| IP协议类型 | 区分TCP/UDP/ICMP等 |
| TCP-Flag标志 | 识别SYN/FIN/ACK等控制报文 |
| ACL 2000~3999 | 三层/四层ACL分类 |
| VXLAN VNI ID | 识别虚拟化Overlay网络流量 |
③ ACL6规则(IPv6报文)
- 基本ACL6(2000~2999)
- 高级ACL6(3000~3999)
④ 自定义ACL(5000~5999)
用于需要精细化自定义匹配条件的场景。
5.4 分类规则之间的关系:or 与 and
这是容易踩坑的细节:
- or(或关系) :报文匹配流分类中的任意一条规则,即属于该类。
- and(与关系) :报文必须同时匹配所有规则(含ACL规则)才属于该类。
举例:若流分类c1规则关系为or,VLAN ID=10 或 入接口=GE1/0/1 或 匹配ACL3000,满足任一即归类;若关系为and,则必须VLAN ID=10 且 入接口=GE1/0/1 且 匹配ACL3000。
六、MQC配置四步法(完整示例)
步骤一:配置流分类
[Huawei] traffic classifier VOICE
[Huawei-classifier-VOICE] if-match vlan-id 10 # 匹配VLAN 10
[Huawei-classifier-VOICE] if-match acl 3000 # 匹配ACL 3000(语音流)
[Huawei-classifier-VOICE] if-match inbound-interface GigabitEthernet 0/0/1
[Huawei-classifier-VOICE] quit
步骤二:配置流行为
[Huawei] traffic behavior VOICE_BEHAVIOR
[Huawei-behavior-VOICE_BEHAVIOR] remark dscp ef # 重标记DSCP为EF( Expedited Forwarding,高优先级转发)
[Huawei-behavior-VOICE_BEHAVIOR] car cir 5000 # 承诺速率 5Mbps
[Huawei-behavior-VOICE_BEHAVIOR] quit
步骤三:配置流策略
[Huawei] traffic policy QoS_POLICY
[Huawei-trafficpolicy-QoS_POLICY] classifier VOICE behavior VOICE_BEHAVIOR
[Huawei-trafficpolicy-QoS_POLICY] quit
步骤四:应用流策略
[Huawei] traffic-policy QoS_POLICY global inbound # 全局入方向应用
或
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] traffic-policy QoS_POLICY inbound # 接口级别应用
七、企业园区网QoS综合实战
需求:某企业园区网有四类业务,需按优先级依次保障:
| 业务类型 | 优先级 | CIR带宽 | 队列 |
|---|---|---|---|
| 语音(VoIP) | 最高 | 5Mbps | PQ |
| 视频会议 | 高 | 20Mbps | WRR |
| 办公系统 | 中 | 30Mbps | WDRR |
| 上网业务 | 低 | 剩余带宽 | WFQ |
7.1 优先级映射配置
先将DSCP值映射到本地优先级(802.1p),交换机内部按本地优先级查表决定队列:
[Huawei] diffserv-domain ds1
[Huawei-diffserv-domain-ds1] remark dscp af41 phb af41 map-profile ds1
[Huawei-diffserv-domain-ds1] remark dscp ef phb ef map-profile ds1
[Huawei-diffserv-domain-ds1] quit
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] trust upstream ds1
7.2 拥塞管理队列调度配置
华为S系列交换机典型队列调度配置:
[Huawei] qos queue-profile queue1
[Huawei-qos-queue-profile-queue1] schedule pq 7 wrr 3 4 5 # 队列7用PQ,其他用WRR
[Huawei-qos-queue-profile-queue1] quit
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] qos queue-profile queue1
调度算法说明:
- PQ(Priority Queuing):绝对优先队列,高优先级队列清空后才处理低优先级------适合语音这种"一秒都不能等"的业务。
- WRR(Weighted Round Robin):加权轮询,按权重比例分配带宽,保证各类业务都有服务机会。
- WDRR(Weighted Deficit Round Robin):加权差分轮询,比WRR更精确地处理长报文。
- WFQ(Weighted Fair Queuing):加权公平队列,自动按流量数分配,最适合处理上网业务这种流量数量多、单流带宽小的情况。
7.3 拥塞避免配置(WRED)
当队列接近满载时,主动丢弃低优先级报文,防止尾部丢包引发更大的重传风暴:
[Huawei] wred qoswred
[Huawei-wred-qoswred] dscp 0 low-limit 60 high-limit 80 discard-probability 10 # 普通业务,到60%开始丢
[Huawei-wred-qoswred] dscp 46 low-limit 90 high-limit 100 discard-probability 5 # EF语音,只到90%才开始丢
[Huawei-wred-qoswred] quit
[Huawei] qos queue-profile queue1
[Huawei-qos-queue-profile-queue1] wred qoswred
八、常见排错命令
配置完之后,如何验证生效?
[Huawei] display qos policy interface GigabitEthernet 0/0/1 # 查看接口QoS策略
[Huawei] display traffic policy statistics interface GigabitEthernet 0/0/1 inbound # 查看流量统计
[Huawei] display qos queue-profile queue1 # 查看队列配置
[Huawei] display qos map-table dscp # 查看DSCP映射表
[Huawei] display qos car all # 查看所有CAR限速配置
九、避坑指南
坑1:流策略应用方向搞反
QoS策略有 inbound(入方向)和 outbound(出方向)之分。入方向在报文进入交换机时生效,可以从源头控制;出方向在报文离开时生效,一般用于限速。选错方向,策略不生效。
坑2:MQC和接口限速混用导致冲突
同一个接口同时配置了 qos lr(接口限速)和MQC流策略时,两者独立运行不会自动协调。建议根据场景二选一,不要混用。
坑3:只配了分类但没应用
流分类、流行为、流策略都配好了,但忘记在接口上应用 traffic-policy,等于白配。检查命令:display this 在接口下确认。
坑4:拥塞管理没有配合优先级映射
配置了PQ队列调度,但没有通过 trust 命令将报文的DSCP/802.1p映射到本地优先级,交换机不知道哪个报文该进哪个队列。trust upstream 是关键一步!
坑5:WRED和PQ队列混用
WRED只对 WRR/WDRR/WFQ 队列生效,不适用于PQ队列。在PQ队列上配置WRED会被忽略。
十、总结
华为交换机的QoS配置体系非常完整,从MQC三要素到DiffServ模型,从简单的 qos lr 到精细的MQC流策略,可以满足从接入层到核心层的各种需求。
配置口诀:
- 分类 --- 找准要管的流量
- 标记 --- 给流量打上优先级标签
- 映射 --- trust命令打通外部标记和内部队列
- 调度 --- PQ/WRR/WDRR决定谁先走
- 限速 --- car/ lr限制带宽上限
- 应用 --- 策略不应用,等于没配置
华为官方文档是学习QoS最权威的资料,建议结合实际设备做实验验证。
参考来源:
- 华为官方文档《S12700, S12700E V200R025C00 配置指南-QoS》
https://support.huawei.com/enterprise/zh/doc/EDOC1100514139/7ac0d32a?idPath=24030814\|21782164\|21782186\|259602655