华为交换机QoS配置一条龙:从基础模型到MQC实战

华为交换机QoS配置一条龙:从基础模型到MQC实战

来源:华为官方文档《S12700 V200R025C00 配置指南-QoS》

原文链接:https://support.huawei.com/enterprise/zh/doc/EDOC1100514139/7ac0d32a?idPath=24030814\|21782164\|21782186\|259602655

⚠️ 郑重声明 :本文为博主学习华为官方文档后的原创技术总结,非机器翻译,非直接复制粘贴,所有命令说明均为理解后的重新组织表达。


一、为什么需要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流策略,可以满足从接入层到核心层的各种需求。

配置口诀

  1. 分类 --- 找准要管的流量
  2. 标记 --- 给流量打上优先级标签
  3. 映射 --- trust命令打通外部标记和内部队列
  4. 调度 --- PQ/WRR/WDRR决定谁先走
  5. 限速 --- car/ lr限制带宽上限
  6. 应用 --- 策略不应用,等于没配置

华为官方文档是学习QoS最权威的资料,建议结合实际设备做实验验证。


参考来源

相关推荐
Lanren的编程日记1 小时前
Flutter 鸿蒙应用快捷操作功能实战:快捷菜单+快捷手势+快捷键支持,打造高效操作体验
flutter·华为·harmonyos
memoryjs1 小时前
鸿蒙系统进一步学习(二):ArkUI底层原理揭秘
学习·华为·harmonyos
苗俊祥2 小时前
纯AI打造沐界输入法--简洁、流畅、实用的 HarmonyOS 中文输入法
华为·harmonyos
小成Coder2 小时前
【Jack实战】如何给《时光旅记》接入跨设备拍照和跨设备相册导入
华为·harmonyos·鸿蒙·码上创新
maaath2 小时前
【maaath】Flutter for OpenHarmony 集成应用更新能力
flutter·华为·harmonyos
key_3_feng2 小时前
鸿蒙6.0 Widget服务卡片落地方案
华为·harmonyos
maaath2 小时前
【maaath】 OpenHarmony 设备信息获取能力集成指南
flutter·华为·harmonyos
Swift社区3 小时前
多端一致性:鸿蒙游戏如何避免状态漂移?
游戏·华为·harmonyos
liulian09164 小时前
【Flutter for OpenHarmony第三方库】Flutter for OpenHarmony 离线模式实现:让你的应用无网也能萌萌哒~
开发语言·flutter·华为·php·学习方法·harmonyos