概念:TSpec

定义

TSpec 是 Traffic Specification,在 AVB/TSN 的 802.1Qav 语境里,它属于 SR class 背后的 MSRP 流预留机制。Talker 通过 MSRP 宣告 Stream 时,会携带 TSpec 来描述该 Stream 的最大帧大小和最大帧发送频率。

直觉解释

TSpec 可以理解为 Talker 对网络说的“这条流最多会这样发”。网络不是只看“这是 SR class A/B”,还要知道每个 Stream 的最大帧大小和单位时间内最多多少帧,才能判断路径上的端口是否有足够带宽。

原文中的正式语境

TSpec 属于 SRP/MSRP 的 Talker declaration 信息。802.1Qav/FQTSS 使用它来计算实际带宽需求,并把计算结果转化为对应端口上 operIdleSlope 等参数。802.1Q-2014 中 SRP 在 Clause 35,FQTSS 在 Clause 34。

核心字段

字段含义作用
MaxFrameSize单帧最大 MSDU 大小估算每帧 payload 规模
MaxIntervalFrames每个 class measurement interval 内最多帧数估算最大帧率
SR classA/B 等预约类别决定 measurement interval,进而影响最大帧率

它如何起作用

TSpec 自身不直接控制队列发送。它先进入 SRP/MSRP 的资源预留判断,然后被 FQTSS 用来计算带宽需求:

maxFrameRate = MaxIntervalFrames / classMeasurementInterval
actualBandwidth = (perFrameOverhead + MaxFrameSize) * maxFrameRate

如果沿途端口仍有足够可预约带宽,该 Stream 可以被接纳;如果资源不足,Listener 请求或 Talker declaration 会反映失败状态。

一个具体例子

假设忽略额外链路开销:

MaxFrameSize = 1000 bytes = 8000 bits
MaxIntervalFrames = 1

如果 Stream 属于 SR class A,class measurement interval 是 125 us:

8000 bits / 125 us = 64 Mbps

如果属于 SR class B,class measurement interval 是 250 us:

8000 bits / 250 us = 32 Mbps

同样是一帧 1000 bytes、每个 interval 一帧,A 类因为 interval 更短,所以声明的最大注入速率更高。

常见误解

  • TSpec 不是 credit-based shaper 本身;它只是流量规格。
  • TSpec 不等于 VLAN priority;priority 决定映射到哪个 SR class/traffic class,TSpec 描述该 Stream 的规模。
  • TSpec 的 MaxIntervalFrames 不是“每秒多少帧”,而是“每个 class measurement interval 多少帧”。

在本知识库中的应用示例

阅读 来源_IEEE_802.1Qav_时间敏感流转发与排队增强_deep_dive 时,TSpec 连接了 SRP 的控制平面和 Qav 的队列整形参数。没有 TSpec,桥无法根据单条 Stream 的声明计算其带宽需求。

关联页面