概念: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 class | A/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 的声明计算其带宽需求。