4. 优先级映射与信任边界

在 QoS 工程中,报文进入设备时携带的优先级字段往往并不可信。终端操作系统、网卡驱动、虚拟化平台甚至某些应用会随意设置 DSCP 或 802.1p,如果接入设备无条件信任这些字段,整张网络的调度策略就会失去控制。因此,Comware 设备在端口上提供了“信任模式”这一关键入口:决定入方向报文以哪个字段作为内部优先级的映射依据,并在必要时执行重标记。理解信任边界,本质上就是回答三个问题:在哪里信任、信任什么字段、不信任时如何重标记。

一、三种信任模式与映射关系

Comware 端口上常用的信任模式有三类:trust dscp、trust dot1p(即 802.1p)和 trust ip-precedence。它们分别对应报文中的不同字段:

  • trust dscp:以 IP 头部的 DSCP(6 bit,取值 0~63)为信任字段,通过 DSCP 到内部优先级的映射表得到调度优先级与丢弃优先级。适合三层网络、服务器区、跨广域场景。
  • trust dot1p:以 VLAN Tag 中的 802.1p(3 bit,取值 0~7)为信任字段,通过 802.1p 到内部优先级的映射表得到结果。适合二层接入、语音 VLAN、AP 上行等场景。
  • trust ip-precedence:以 IP 头部的 IP 优先级(3 bit,取值 0~7)为信任字段。它比 DSCP 粒度粗,常用于与旧设备或简单终端对接的兼容场景。

需要特别注意的是:信任模式只决定“以哪个字段查表”,并不改变报文本身携带的字段值。如果希望修改字段值,必须配合 remark 动作或 qos map-table 映射表完成。例如在接入端口上执行 qos trust dscp 后,报文 DSCP 保持不变,设备只是按 DSCP 查表得到内部优先级;若同时配置了 qos remark dscp,则会在入方向改写 DSCP。

二、信任边界的层次设计

信任边界不是某一个端口,而是一条从接入到核心逐步收敛的策略线。合理的做法是:接入层做“最严格的甄别与重标记”,汇聚层做“必要的复核与补充”,核心层做“完全信任与高速转发”。

接入层直接面对终端,是信任边界的第一道关口。对于 IP 电话、视频会议终端等可信设备,可以在其接入端口上启用 trust dscp 或 trust dot1p;对于普通 PC、打印机等不可信终端,则应使用 trust none(即不信任任何字段),并通过流分类将报文统一重标记为尽力而为或指定等级。这样做的目的是把“脏”优先级挡在网络边缘。

汇聚层通常承担 VLAN 间路由与策略汇聚。此时报文已经过接入层重标记,字段相对可信,可以在上行端口启用 trust dscp,同时针对跨网段流量补充重标记策略。例如将来自不同接入设备的语音流量统一标记为 EF(DSCP 46),将视频流标记为 AF41(DSCP 34)。

核心层是高速转发区域,应尽量简化处理。核心设备之间的互联端口通常启用 trust dscp,不再做复杂的流分类,避免因逐包匹配导致转发性能下降。核心层的职责是“按已标记的优先级快速调度”,而不是重新判断优先级。

三、重标记策略的配置要点

重标记通常通过 traffic behavior 中的 remark 动作实现。以下是一个接入层端口的典型配置示例,用于将来自普通 PC 的 HTTP 流量降级为 AF11,同时保留语音流量:

acl advanced 3001
 rule 0 permit tcp destination-port eq 80
 rule 5 permit tcp destination-port eq 443

traffic classifier pc-http operator and
 if-match acl 3001

traffic behavior remark-af11
 remark dscp af11

qos policy access-edge
 classifier pc-http behavior remark-af11

interface GigabitEthernet1/0/1
 qos apply policy access-edge inbound
 qos trust none

上述配置中,qos trust none 表示不信任入方向报文的任何优先级字段,所有报文先经过 access-edge 策略处理;匹配 HTTP/HTTPS 的报文被重标记为 AF11,其余报文则按默认优先级处理。对于 IP 电话端口,则可改为 qos trust dscp,并配合 qos lr 或 qos car 限制非语音流量。

在配置信任模式前,建议先用 display qos map-table 查看当前 DSCP、802.1p 到内部优先级的映射关系,确认默认映射是否符合现网规划。若不符合,可通过 qos map-table 命令调整映射表。

四、信任边界与重标记的协同关系

信任边界与重标记策略是互补的:信任边界决定“以什么为依据”,重标记决定“最终写成什么”。如果只配置信任而不做重标记,不可信终端的错误标记会直接进入网络;如果只做重标记而不配置信任,设备可能仍按默认字段查表,导致重标记结果被覆盖。因此,在接入层应遵循“先分类、再重标记、后信任”的顺序,确保进入汇聚与核心的报文已经具备正确的优先级。

接入—汇聚—核心信任边界与重标记策略 接入层(信任边界起点) IP 电话 / 视频终端 trust dscp / trust dot1p 保留 EF / AF41 标记 普通 PC / 打印机 trust none + 流分类 HTTP 重标记为 AF11 服务器 / 存储 trust dscp 按业务标记 AF21/AF31 入方向策略 分类 → 重标记 → 信任 汇聚层(策略复核) VLAN 间路由 trust dscp 跨网段流量复核 语音流量统一标记 remark dscp ef DSCP 46 视频流量统一标记 remark dscp af41 DSCP 34 上行端口 trust dscp + 补充重标记 核心层(完全信任) 高速转发 trust dscp 不再逐包分类 队列调度 EF / AF / BE 队列 按内部优先级出队 拥塞管理 WRED / 尾丢弃 按丢弃优先级处理 核心互联端口 信任已标记的 DSCP 上行 上行 信任边界原则:接入层严格甄别并重标记 → 汇聚层复核补充 → 核心层完全信任并高速调度

五、常见问题与排障思路

实际部署中,最常见的现象是“配置了信任模式但优先级不生效”。此时可按以下顺序排查:第一,确认端口是否真的收到了带对应字段的报文,可用 display qos policy interface 查看策略匹配计数;第二,确认映射表是否被修改过,默认映射可能将某些 DSCP 映射到同一内部优先级;第三,确认是否存在其他策略覆盖了当前重标记结果,Comware 中后应用的策略可能优先生效;第四,确认报文在转发路径上是否被其他设备重新标记。

另一个常见问题是“信任了不该信任的字段”。例如在接入端口启用 trust dscp 后,普通 PC 将 DSCP 设为 46,其流量就会进入 EF 队列,挤占语音带宽。解决办法是在接入层对不可信终端使用 trust none,并通过 ACL 只允许特定源 IP 或特定协议携带高优先级。对于无法修改终端行为的场景,还可以使用 qos car 对高优先级流量限速,防止其过度占用。

在核心层不建议使用 trust dot1p,因为核心链路通常为三层转发,VLAN Tag 可能被剥离或重新封装,802.1p 字段在跨三层后不再可靠。核心层应统一使用 trust dscp。

总结来说,优先级映射与信任边界的核心在于“分层信任、边缘重标记、核心简化”。接入层是唯一适合做复杂分类和重标记的位置,汇聚层负责复核与统一,核心层只负责按已标记的优先级快速转发。把这三层职责分清,QoS 策略才能在整网范围内稳定生效。