概念:Priority 与 Traffic Class

定义

Priority/PCP 是帧上或桥内部使用的优先级分类信号。Traffic class 是桥端口上的输出队列类别。一个帧最终进入哪个 queue,不是只由 PCP 数字大小决定,而是由 priority regeneration 和 traffic class table 共同决定。

直觉解释

可以把 priority 看成“帧带来的标签”,把 traffic class 看成“设备内部实际排队的位置”。标签本身不直接发包,必须先被设备解释成某个队列。

数据路径

frame priority / PCP
-> priority regeneration
-> traffic class mapping
-> traffic class queue
-> transmission selection algorithm
-> egress transmit

更细地说:

  1. VLAN-tagged frame 的 PCP 字段提供 received priority。
  2. untagged frame 也可能通过端口默认规则获得内部 priority。
  3. Bridge 可以执行 priority regeneration,得到 regenerated priority。
  4. 出端口使用 traffic class table,把 priority 映射到 traffic class。
  5. 帧进入该 traffic class 对应的 queue。
  6. queue 使用 strict priority、credit-based shaper、ETS、Qbv gate 等机制参与发送选择。

与 SR class 的关系

SR class 是一种带有流预留和信用整形语义的 traffic class。它不是 priority 本身。

priority 3 -> traffic class 7 -> SR class A queue -> credit-based shaper
priority 2 -> traffic class 6 -> SR class B queue -> credit-based shaper

这是 8 个 traffic classes 情况下的典型 Qav 推荐结果。不同设备或端口支持的 traffic class 数量不同,映射表也会不同。

为什么 distinction 很重要

如果把 priority 和 traffic class 混为一谈,就容易误判服务质量。例如 SR class A 默认用 priority 3,但它可以通过 Qav 推荐映射进入最高 traffic class;而 priority 7 虽然数值大,但通常保留给 Network Control,并不意味着它应该承载 SR A。

一个具体例子

1. Talker 发出 VLAN-tagged frame,PCP = 3
2. Bridge 收到帧,priority regeneration 后仍为 3
3. 出端口 traffic class table 把 priority 3 映射到 traffic class 7
4. traffic class 7 被配置为 SR class A
5. 帧进入 SR class A queue
6. credit-based shaper 判断 credit 是否允许发送
7. 端口发送该帧

常见误解

  • priority 不等于 traffic class 编号。
  • PCP 数字大小不等于最终队列优先级。
  • SR class A/B 不是 VLAN,也不是直接写在帧里的 class 字段。
  • Qbv 的 gate、Qci 的 IPV、DCB 的 PFC/ETS 都可能在不同位置影响 priority 到 queue 的解释或发送资格。

关联页面