虹科干货 | 信用整形机制Qav:如何平衡流量整形和缓存大小?

爱美生活 2025-08-01 chq123 8328

导读

如何将TSN Qav协议实际应用到真实场景中?Qav是否能对任何流量都进行无缝整形并传输,且不造成丢包现象?学习合理运用Qav协议,是TSN初学者需要掌握的基础内容。

01 .

Qav协议的基本原理

IEEE 802.1 Qav中定义的基于信用的整形器,允许在设定的时间间隔内为具有实时要求的数据流预留最大带宽。

其按照为队列分配的信用,对优先级队列的流量进行整形:在等待时间内,信用会增加;在传输时间内,信用会减少。

只要发送信用处于正值范围,就可以传输具有预留带宽的数据帧。发送信用在传输过程中会被消耗,直至下降到负值。当信用处于负值范围时,具有预留带宽的数据帧可能无法再传输,直到信用再次变为正值。

如果数据流的传输因其他帧的传输而延迟,数据流的发送信用会增加。若信用为负且没有帧在传输,信用会以idleSlope速率增加,直至达到零。发送信用的初始值为0。

02 .

数据流的信用调度参数

每个端口的每个优先级队列的信用计数率由idleSlope、sendSlope和hiCredit参数决定。

7bc8e728-6df1-11f0-9080-92fbcf53809c.png

数据流的信用调度

以下公式描述了Qav各参数的计算方式(该公式仅适用于虹科合作伙伴SOC-E RelyUm系列TSN设备,其他类型设备的计算方式与之类似)。

虹科合作伙伴SOC-E RelyUm系列TSN方案

这些参数取决于TSN设备的最小吞吐量值(粒度)以及需要为优先级队列配置的允许吞吐量。

idleSlope = allowedThroughput(Mbps)/ minThroughput(Mbps)

sendSlope = -(8000 / minThroughput(Mbps))+ idleSlope

hiCredit = burstBytes * sendSlope

【解释说明】

minThroughput:可配置的最小吞吐量值(粒度),表示允许吞吐量增加或减少的最小步长。

idleSlope:当某个优先级队列有可供发送的帧但不允许传输该帧时,所获得的信用数。

sendSlope:传输帧时,某个优先级队列损失的信用数。

burstBytes:特定优先级队列允许的最大传输突发(以字节表示)。

hiCredit:某个优先级队列可以获得的最大信用值,该值表示允许的最大传输突发。

allowedThroughput:需要为选定的端口和优先级队列配置的吞吐量值。

在Qav的理想且简化场景中,要充分发挥其功能,假设用户将发送X%的突发流量,Qav会使用其CBS算法来正确间隔帧,此时用户需要配置相应的吞吐量来发送这些帧(这与用户引入的idleSlope值密切相关)。

03 .

流量转发与内存的关系

转发帧还与内存大小有关。对于交换设备而言,入端口通常不存在等待的队列,只有出端口会有不同队列等待的情况。一般来说,交换机的不同端口之间不会共享各自的内存,即每个端口都有自己的FIFO缓冲区。内存大小应按照每个端口和每个优先级进行分配,当突发流量在某一时刻超过内存缓冲的临界值时,就会有数据因溢出而丢失的风险。

7be7e772-6df1-11f0-9080-92fbcf53809c.jpg

缓存足够情形下的Qav突发整形

缓存不足情形下的Qav突发整形

然而,交换机缓冲区的容量是有限的,因此可能无法存储整个突发流量以便后续通过时隙间隔发送。需要注意的是,若发送突发流量并通过瓶颈将其全部释放,用户的缓冲区最终会发生溢出

04 .

合理怠速的确定与参数调整

要正确确定合理的怠速,需要对相关参数进行合理调整:

A

确认交换机缓冲区大小

首先确认使用Qav的交换机的缓冲区大小(在虹科合作伙伴SOC-E RelyUm系列TSN交换机上,默认出端口上每个队列每个端口为 4 KB,总共最多 32 KB。如果其余队列缓冲区未被使用,正在转出的队列可以使用它们,这将允许单个优先级使用所有 32 KB)。

B

关注帧大小与缓冲区偏移

对于使用Qav流的帧大小:需要注意缓冲区能够存储的最后一个字可能会有轻微的偏移(例如,当出端口还有 100 个字节的缓冲区剩余,且收到一个 102 字节的帧要存储时,这 100 个字节将无法被利用)。

C

确定流量吞吐量类型

确定数据源发送的流量吞吐量类型(连续 / 突发)。

D

评估突发时间与溢出风险

假设使用的是突发流量,那么突发时间有多长?其是否足够长以至于可能会导致缓冲区溢出?

有了上述所有信息,就能够正确调整Qav解决方案以使其正常工作。基于虹科合作伙伴SOC-E RelyUm系列的RELY-TSN-Bridge进行的相关测试验证表明,这种理论与实际情况是相符的。

7c0da4a8-6df1-11f0-9080-92fbcf53809c.png

突发流量设置

其中,Packet Count定义每次突发发送 282 个突发包,包之间的最小间隔为 12 字节。突发间隔为 32000 字节,主要目的是为了适应端口缓存大小。

7c1eec72-6df1-11f0-9080-92fbcf53809c.png

信用整形结果

结果证明:根据设备的内存空间大小,设置合理的数据流大小后,依据Qav整形机制,在突发间隙时间内,有限的缓存空间允许Qav对数据流进行整形,且不会出现丢包并通过后续整形槽的最坏情况。

虹科合作伙伴SOC-E RelyUm系列

RELY-TSN-Bridge TSN交换机

7c3fb498-6df1-11f0-9080-92fbcf53809c.png

12端口TSN交换机

提供4/12/20个多媒体千兆以太网端口和1个内部端口,部分型号可同时支持1/10G

合并OT和IT世界,并保证确定性以太网网络中所有设备的互操作性和标准化

支持市场上数量最多的TSN标准

适用于铁路、航空航天、汽车、工业自动化等技术条件苛刻的行业应用场景

结语 .

Qav协议作为TSN技术中实现流量整形与缓存平衡的关键机制,其高效应用离不开精准的参数配置与设备支撑。

虹科依托合作伙伴SOC-E RelyUm系列的RELY-TSN-Bridge等专业测试设备,可提供从Qav协议验证、突发流量测试到缓冲区优化的全流程方案与服务,助力您在实际场景中充分发挥TSN的确定性优势。

了解更多TSN测试设备与解决方案,欢迎联系虹科工作人员。