内网语音出了出口就被当普通流量?华为路由器重标记DSCP给业务分等

企业内网的 QoS 做得再好,也有一个容易忽视的断层:内网交换机认的是 802.1p 优先级,写在二层帧头里;流量一出出口进入广域网,对端设备看的是 DSCP 优先级,写在三层 IP 头里。两种"语言"互不相通——你在内网把语音标成 802.1p 6、视频标成 5、数据标成 2,辛苦分的等级到了 WAN 侧设备眼里统统"查无此人",语音报文和批量传输挤在一条队列里,视频会议该卡还是卡。

解法是在出口设备上做一次"翻译":按 802.1p 把流量认出来,重标记成对应的 DSCP 值再送出去,让 WAN 侧网络能针对不同业务提供差分服务。华为路由器用 MQC 三件套完成这件事——流分类负责认、流行为负责改、流策略负责把两者绑在一起挂到接口上。

这两种优先级的"出身"决定了断层必然出现:802.1p 是二层优先级,写在 VLAN 帧头的 Tag 里,只有三个比特,取值 0 到 7,出了二层网络就没人再看它;DSCP 是三层优先级,写在 IP 头的服务类型字段里,六个比特,取值 0 到 63,广域网设备的差分服务全靠它分档。所以翻译必须发生在这两个世界的交界处——出口设备的入方向接口上。还有一个位置上的讲究:策略挂在入方向而不是出方向,内网各处的原有 802.1p 标识原样保留,出口翻译一次即止,内网已有的一系列策略不受牵连。

组网与配置

示例组网里,企业内网 LAN 侧的语音、视频和数据业务通过 DeviceA 和 DeviceB 连接到出口设备 DeviceC 的 interface1 和 interface2,再经 DeviceC 的 interface3(10GE0/0/3)送往 WAN 侧网络。翻译工作就在 DeviceC 上做,两个入方向接口都要挂上策略。

第一步,进入系统视图,配置设备名称:

<HUAWEI> system-view
[HUAWEI] sysname DeviceC

第二步,配置流分类。在 DeviceC 上创建并配置流分类 c1、c2、c3,对报文按照 802.1p 优先级进行分类:

[DeviceC] traffic classifier c1
[DeviceC-classifier-c1] if-match 8021p 2
[DeviceC-classifier-c1] quit
[DeviceC] traffic classifier c2
[DeviceC-classifier-c2] if-match 8021p 5
[DeviceC-classifier-c2] quit
[DeviceC] traffic classifier c3
[DeviceC-classifier-c3] if-match 8021p 6
[DeviceC-classifier-c3] quit

第三步,配置流行为。在 DeviceC 上创建并配置流行为 b1、b2、b3,重标记用户报文的优先级:

[DeviceC] traffic behavior b1
[DeviceC-behavior-b1] remark dscp 15
[DeviceC-behavior-b1] quit
[DeviceC] traffic behavior b2
[DeviceC-behavior-b2] remark dscp 40
[DeviceC-behavior-b2] quit
[DeviceC] traffic behavior b3
[DeviceC-behavior-b3] remark dscp 50
[DeviceC-behavior-b3] quit

对应关系由此定型:802.1p 2 的数据类报文重标记为 DSCP 15,802.1p 5 的视频类报文重标记为 DSCP 40,802.1p 6 的语音类报文重标记为 DSCP 50——数字越大,WAN 侧的差分服务档位越高。

第四步,创建流策略 p1,绑定流分类和对应的流行为,并将流策略应用到接口 interface1 和 interface2 的入方向上,对报文进行重标记:

[DeviceC] traffic policy p1
[DeviceC-trafficpolicy-p1] classifier c1 behavior b1
[DeviceC-trafficpolicy-p1] classifier c2 behavior b2
[DeviceC-trafficpolicy-p1] classifier c3 behavior b3
[DeviceC-trafficpolicy-p1] quit
[DeviceC] interface 10ge 0/0/1
[DeviceC-10GE0/0/1] traffic-policy p1 inbound
[DeviceC-10GE0/0/1] quit
[DeviceC] interface 10ge 0/0/2
[DeviceC-10GE0/0/2] traffic-policy p1 inbound
[DeviceC-10GE0/0/2] quit

配置完成后,DeviceC 上的配置脚本如下:

#
sysname DeviceC
#                                                                               
traffic classifier c1 type or                                                  
 if-match 8021p 2                                                               
#                                                                               
traffic classifier c2 type or                                                  
 if-match 8021p 5                                                               
#                                                                               
traffic classifier c3 type or                                                  
 if-match 8021p 6 
#                                                                               
traffic behavior b1                                                            
 remark dscp 15                                                                 
#                                                                               
traffic behavior b2                                                            
 remark dscp cs5                                                                
#                                                                               
traffic behavior b3                                                            
 remark dscp 50 
#                                                                               
traffic policy p1                                                               
 classifier c1 behavior b1 precedence 5                                       
 classifier c2 behavior b2 precedence 10                                      
 classifier c3 behavior b3 precedence 15
#                                                                               
interface 10GE0/0/1      
 traffic-policy p1 inbound                                                      
#                                                                               
interface 10GE0/0/2 
 traffic-policy p1 inbound 
#
return

脚本里 b2 的 remark dscp cs5 与配置命令的 remark dscp 40 是同一个值——cs5 正是 DSCP 40 的别名写法,设备保存配置时按自身口径回显,无需疑惑。

验证

先看流分类的配置信息:

<DeviceC> display traffic classifier
  Traffic Classifier Information:
    Classifier: c1
      Type: OR
      Rule(s):
        if-match 8021p 2
    Classifier: c2
      Type: OR
      Rule(s):
        if-match 8021p 5
    Classifier: c3
      Type: OR
      Rule(s):
        if-match 8021p 6
Total classifier number is 3 

再看流策略的配置信息,三个分类与三个重标记行为的绑定关系一目了然:

<DeviceC> display traffic policy
  Traffic Policy Information: 
    Policy: p1                                                                  
      Classifier: c1                                                           
        Type: OR                                                                
      Behavior: b1                                                             
        Remark:                                                                 
          Remark dscp 15                                                        
      Classifier: c2                                                           
        Type: OR                                                                
      Behavior: b2                                                             
        Remark:                                                                 
          Remark dscp cs5                                                       
      Classifier: c3                                                           
        Type: OR                                                                
      Behavior: b3                                                             
        Remark:                                                                 
          Remark dscp 50              
Total policy number is 3

最后看流策略的应用状态信息:

<DeviceC> display traffic-policy applied-record
Total records : 2 
--------------------------------------------------------------------------------     
Policy Type/Name                Apply Parameter                 Slot   State          
--------------------------------------------------------------------------------            
p1                               10GE0/0/1(IN)                  slot_1     success  
                                 10GE0/0/2(IN)                  slot_1     success 
--------------------------------------------------------------------------------  

两条记录 State 均为 success,说明策略已在两个入接口正常生效,出往 WAN 侧的报文带着新的 DSCP 等级上路。回显里分类规则、绑定关系、应用位置三张信息各查一遍,翻译链路才算完整闭环。有一点部署提醒值得记下:重标记要发生在流量的入方向接口上,若你的出口设备还有其他入接口承载同类业务,同样需要挂上该策略,漏一个口就有一路流量"说着旧方言"出去。

出口优先级翻译这种活,做之前先理清内网标识和运营商差分档位的对应表,改错一行映射,语音和数据的位置就互换了。贵州诚鑫致达科技在出口优化项目里处理 QoS 对接时,第一件事就是把这张对应表和业务清单逐项核对。你们的内网 QoS 出了出口是谁在"翻译",欢迎留言聊聊。