语音视频数据挤一条上行谁抢到算谁的?华为交换机MQC流量监管按业务分档

楼里装了 IP 电话、开了视频会议、再叠加日常办公上网之后,很多网络的问题就变了性质:链路没断、设备没坏,但语音电话一开会就破音、视频画面卡成幻灯片、网页半天打不开——根子是三种业务挤在同一条上行链路上,谁报文发得凶谁占便宜,对时延最敏感的语音反而最吃亏。等出口扩容是远水,正解是在接入交换机上按业务分档限速:华为 S 系列交换机用 MQC(流分类+流行为+流策略)做流量监管,语音、视频、数据各给各的承诺带宽(CIR)和峰值带宽(PIR),超出的报文直接丢弃,顺手把三类业务的 DSCP 优先级重标记好,让上游路由器也按优先级区别对待。官方文档有一套完整的配置示例,本篇按这套示例把全套命令走一遍,验证命令和配置脚本一并附上。

本文的组网需求、配置思路与命令步骤,整理自华为官方发布的典型配置案例,参数可直接参考使用。

组网需求

Switch 通过接口 GE2/0/1 与路由器互连,企业可经由 Switch 和路由器访问网络。语音业务对应的 VLAN ID 为 120,视频业务对应的 VLAN ID 为 110,数据业务对应的 VLAN ID 为 100。

在 Switch 上需要对不同业务的报文分别进行流量监管,以将流量限制在一个合理的范围之内,并保证各业务的带宽需求。

不同业务对于服务质量的需求不同:语音业务对服务质量要求最高,视频业务次之,数据业务要求最低,所以在 Switch 中还需要重标记不同业务报文的 DSCP 优先级,以便于路由器按照报文的不同优先级分别进行处理,保证各种业务的服务质量。

具体配置需求如表 1 所示:

流量类型 CIR(kbps) PIR(kbps) DSCP 优先级
语音 2000 10000 46
视频 4000 10000 30
数据 4000 10000 14

翻译成白话:三种业务从 GE1/0/1 进交换机、从 GE2/0/1 出去往路由器。交换机在入口上给每类流量装一个"令牌桶闸门"——语音承诺 2M、视频和数据各承诺 4M,峰值都放到 10M:承诺速率内绿色放行,承诺到峰值之间黄色也放行,超过 10M 的红色报文丢弃。同时把语音报文 DSCP 标成 46(EF,加速转发)、视频标成 30(AF33)、数据标成 14(AF13),下游路由器照着优先级排队。

配置思路

采用如下的思路配置 MQC 实现流量监管:

  • 创建 VLAN,并配置各接口,使企业能够通过 Switch 访问网络。
  • 在 Switch 上配置基于 VLAN ID 进行流分类的匹配规则。
  • 在 Switch 上配置流行为,对报文进行流量监管并且重标记报文的 DSCP 优先级。
  • 在 Switch 上配置流量监管策略,绑定已配置的流行为和流分类,并应用到 Switch 与 LSW 连接的接口上。

核心逻辑一句话:流分类认流量(if-match vlan-id),流行为定待遇(car 限速+remark dscp),流策略把两者绑一起挂到入口——MQC 三件套是 S 系列 QoS 的通用骨架,流量监管只是流行为里的一种动作。

操作步骤

一、创建VLAN并配置各接口

在 Switch 上创建 VLAN 100、110、120:

<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] vlan batch 100 110 120

将接口 GE1/0/1、GE2/0/1 的接入类型分别配置为 trunk,并分别将接口 GE1/0/1 和 GE2/0/1 加入 VLAN 100、VLAN 110、VLAN 120:

[Switch] interface gigabitethernet 1/0/1
[Switch-GigabitEthernet1/0/1] port link-type trunk
[Switch-GigabitEthernet1/0/1] port trunk allow-pass vlan 100 110 120
[Switch-GigabitEthernet1/0/1] quit
[Switch] interface gigabitethernet 2/0/1
[Switch-GigabitEthernet2/0/1] port link-type trunk
[Switch-GigabitEthernet2/0/1] port trunk allow-pass vlan 100 110 120
[Switch-GigabitEthernet2/0/1] quit

三个业务 VLAN 从两个 trunk 口穿过去,流策略后面只挂在 GE1/0/1 的入方向。

二、配置流分类

在 Switch 上创建流分类 c1~c3,对不同业务流按照其 VLAN ID 进行分类:

[Switch] traffic classifier c1 operator and
[Switch-classifier-c1] if-match vlan-id 120
[Switch-classifier-c1] quit
[Switch] traffic classifier c2 operator and
[Switch-classifier-c2] if-match vlan-id 110
[Switch-classifier-c2] quit
[Switch] traffic classifier c3 operator and
[Switch-classifier-c3] if-match vlan-id 100
[Switch-classifier-c3] quit

c1 认语音(VLAN 120)、c2 认视频(VLAN 110)、c3 认数据(VLAN 100)——业务分 VLAN 是这套方案的前提,VLAN 规划清楚了分类规则就一行一条。

三、配置流量监管行为

在 Switch 上创建流行为 b1~b3,对不同业务流进行流量监管以及重标记优先级:

[Switch] traffic behavior b1
[Switch-behavior-b1] car cir 2000 pir 10000 green pass
[Switch-behavior-b1] remark dscp 46
[Switch-behavior-b1] statistic enable
[Switch-behavior-b1] quit
[Switch] traffic behavior b2
[Switch-behavior-b2] car cir 4000 pir 10000 green pass
[Switch-behavior-b2] remark dscp 30
[Switch-behavior-b2] quit
[Switch] traffic behavior b3
[Switch-behavior-b3] car cir 4000 pir 10000 green pass
[Switch-behavior-b3] remark dscp 14
[Switch-behavior-b3] statistic enable
[Switch-behavior-b3] quit

car cir 是承诺信息速率(保证放行的带宽),pir 是峰值信息速率(超了就丢);green pass 指承诺速率内的绿色报文放行。b1(语音)cir 2000+DSCP 46、b2(视频)cir 4000+DSCP 30、b3(数据)cir 4000+DSCP 14,statistic enable 打开计数方便后面看统计。(注:官方示例中 b2 未配 statistic enable,按源文原样;需要视频流量计数时可比照 b1/b3 自行补上。)

四、配置流量监管策略并应用到接口上

在 Switch 上创建流策略 p1,将流分类和对应的流行为进行绑定并将流策略应用到接口 GE1/0/1 入方向上,对报文进行流量监管和重标记:

[Switch] traffic policy p1
[Switch-trafficpolicy-p1] classifier c1 behavior b1
[Switch-trafficpolicy-p1] classifier c2 behavior b2
[Switch-trafficpolicy-p1] classifier c3 behavior b3
[Switch-trafficpolicy-p1] quit
[Switch] interface gigabitethernet 1/0/1
[Switch-GigabitEthernet1/0/1] traffic-policy p1 inbound
[Switch-GigabitEthernet1/0/1] quit

三对分类行为绑进同一个流策略,inbound 挂到业务入口——监管做在入口,拥塞到不了上行口就把多余报文丢掉了。

验证配置结果

查看流分类的配置信息:

[Switch] display traffic classifier user-defined
  User Defined Classifier Information:
   Classifier: c2
    Precedence: 10
    Operator: AND
    Rule(s) : if-match vlan-id 110
   Classifier: c3
    Precedence: 15
    Operator: AND
    Rule(s) : if-match vlan-id 100
   Classifier: c1
    Precedence: 5
    Operator: AND
    Rule(s) : if-match vlan-id 120
Total classifier number is 3 

查看流策略的配置信息,以流策略 p1 为例:

[Switch] display traffic policy user-defined p1
  User Defined Traffic Policy Information:
  Policy: p1
   Classifier: c1
    Operator: AND
     Behavior: b1
      Permit
      Committed Access Rate:
        CIR 2000 (Kbps), PIR 10000 (Kbps), CBS 250000 (byte), PBS 1250000 (byte)
        Color Mode: color Blind
        Conform Action: pass
        Yellow  Action: pass
        Exceed  Action: discard
      Remark:
        Remark DSCP ef
      Statistic: enable
   Classifier: c2
    Operator: AND
     Behavior: b2
      Permit
      Committed Access Rate:
        CIR 4000 (Kbps), PIR 10000 (Kbps), CBS 500000 (byte), PBS 1250000 (byte)
        Color Mode: color Blind
        Conform Action: pass
        Yellow  Action: pass
        Exceed  Action: discard
       Remark:                            
        Remark DSCP af33
      Statistic: enable 
   Classifier: c3
    Operator: AND
     Behavior: b3
      Permit
      Committed Access Rate:
        CIR 4000 (Kbps), PIR 10000 (Kbps), CBS 500000 (byte), PBS 1250000 (byte)
        Color Mode: color Blind
        Conform Action: pass
        Yellow  Action: pass
        Exceed  Action: discard
      Remark:
        Remark DSCP af13
      Statistic: enable

回显里 CIR/PIR 与配置一致、DSCP 46 显示为 ef、30 显示为 af33、14 显示为 af13(同一优先级的两种写法),Exceed Action 为 discard 即超额丢弃生效。

查看在接口上应用的流策略信息,以接口 GE1/0/1 为例:

[Switch] display traffic policy statistics interface gigabitethernet 1/0/1 inbound
 Interface:  GigabitEthernet1/0/1
 Traffic policy inbound: p1
 Rule number: 3
 Current status: success
 Statistics interval: 300   
---------------------------------------------------------------------
 Board : 1
---------------------------------------------------------------------
 Matched          |      Packets:                             0   
                  |      Bytes:                               -        
                  |      Rate(pps):                           0        
                  |      Rate(bps):                           -          
---------------------------------------------------------------------   
   Passed         |      Packets:                             0        
                  |      Bytes:                               -         
                  |      Rate(pps):                           0           
                  |      Rate(bps):                           -            
---------------------------------------------------------------------         
   Dropped        |      Packets:                             0             
                  |      Bytes:                               -          
                  |      Rate(pps):                           0          
                  |      Rate(bps):                           -           
---------------------------------------------------------------------       
     Filter       |      Packets:                             0                   
                  |      Bytes:                               -                     
---------------------------------------------------------------------              
     Car          |      Packets:                             0                  
                  |      Bytes:                               -                  
---------------------------------------------------------------------             

实测口径(以语音报文为例):分别使用 1500kbps 和 12500kbps 的速率向接口 GE1/0/1 输入 VLAN 为 120 的报文流,再用 display traffic policy statistics interface gigabitethernet 1/0/1 inbound 查看统计——1500kbps 时报文全部通过、通过速率 1500kbps、丢弃为 0;12500kbps 时通过速率被压到 10000kbps、丢弃计数不为 0,说明监管生效。

配置脚本

Switch 的配置文件:

#
sysname Switch
#
vlan batch 100 110 120
#
traffic classifier c1 operator and precedence 5 
 if-match vlan-id 120
traffic classifier c2 operator and precedence 10
 if-match vlan-id 110
traffic classifier c3 operator and precedence 15
 if-match vlan-id 100
#
traffic behavior b1
 permit
 car cir 2000 pir 10000 cbs 250000 pbs 1250000 mode color-blind green pass yellow pass red discard
 remark dscp ef
 statistic enable
traffic behavior b2
 permit
 car cir 4000 pir 10000 cbs 500000 pbs 1250000 mode color-blind green pass yellow pass red discard
 remark dscp af33
 statistic enable
traffic behavior b3
 permit
 car cir 4000 pir 10000 cbs 500000 pbs 1250000 mode color-blind green pass yellow pass red discard
 remark dscp af13
 statistic enable
#
traffic policy p1 match-order config
 classifier c1 behavior b1
 classifier c2 behavior b2
 classifier c3 behavior b3
#
interface GigabitEthernet1/0/1
 port link-type trunk
 port trunk allow-pass vlan 100 110 120
 traffic-policy p1 inbound
#
interface GigabitEthernet2/0/1
 port link-type trunk
 port trunk allow-pass vlan 100 110 120
#
return

配置脚本里能看到命令敲完后的完整形态:car 命令会带出自动计算的 CBS/PBS 突发尺寸(250000/1250000 字节这一档)和 color-blind 三色动作(green pass、yellow pass、red discard),DSCP 数字也会归一成 ef/af33/af13 写法。

注意事项

  • 本举例适用于华为 S 系列交换机,落到具体设备前建议核对你设备的软件版本对 MQC 流量监管的支持情况。
  • 语音的 cir 别给小了:本例语音 CIR 2000kbps 是官方示例值,实际要按并发通话数×单路通话带宽估算(一路 G.711 约 64kbps 再加封装开销),给少了通话本身会被限速丢包。
  • 流量监管是"丢"不是"缓":car 超额直接丢弃报文(Exceed Action discard),对 TCP 业务会触发重传降速,这正是压制抢带宽应用的效果;但如果误把关键 TCP 业务圈进低档桶,业务会明显变慢,分类规则要圈准。
  • 重标记只在命中本策略的流量上生效:DSCP 改在入口做,下游路由器要信任该参数并配套 QoS 队列调度才有意义,只在交换机一端标了、路由器不认,等于白标。
  • 流策略挂 inbound 入口而不是出口:监管做在流量进来的一侧,别挂反方向;改流策略有的版本需要先在接口下 undo traffic-policy 再重新应用,注意配置窗口期。
  • CIR/PIR/CBS/PBS 取值为官方示例口径,换环境按业务实测带宽与突发特征调整。

语音、视频、数据各分多少带宽,先把三档业务的带宽预算列成一张表再往 CIR 里填,贵州诚鑫致达科技做带宽整治时表先于命令。各厂商交换机的 QoS 命令与默认参数存在差异,操作前请核对你的设备型号与软件版本。

源:华为S系列交换机官方文档


企业存储选型参考|贵州诚鑫致达科技

企业级 NAS 选型,可从这些在售系列入手:RS2423RP+(12 盘位机架式,冗余电源,机房上架首选)。从选型到部署交付,搜「诚鑫致达」找到我们。