当前位置: 首页 > news >正文

TSN Qav测试实践

1.前言

 

 

我们在以往的文章中介绍了TSN相关的各个内容,包括《TSN(时间敏感网络)纯干货分享》、《TSN(Time-Sensitive Networking)时间敏感网络 协议导读:时间同步 | 延时 | 802.1Qav | 802.1Qch | 802.1Qbv | 802.1Qbu》、《基于TSN 802.1AS协议的时间同步分析(7种延时,1次厘清)》等等。本次将介绍TSN Qav的相关内容。

 

2.什么是Qav

 

 

IEEE 802.1Qav 是时间敏感网络(TSN)标准族中的重要组成部分,全称为"Forwarding and Queuing for Time-Sensitive Streams"(时间敏感流的转发和排队),其核心在于引入了基于信用的整形器(Credit-Based Shaper, CBS),确保时间敏感流和普通流能够获得预期的整形流量。

 

在谈到流量整形时,我们先看一下基础的数据转发方式。在二层VLAN数据的VLAN tag中,我们定义了不同数据使用了不同的优先级,在交换机的目标端口进行多个源端口的数据转发时,会根据缓存队列中数据的优先级进行发送,高优先级数据会持续使用发送资源,最终的数据情况如图所示。

 

 

上图表示了一段1ms窗口内目标端口转发的数据(红框为放大图),其中高优先级数据占据了所有的带宽资源,形成了蜂拥的现象。这一情况可能会存在2个问题,一是低优先级数据被完全阻塞无法发送(虽然数据的优先级低,但还是希望能有一部分带宽用于低优先级数据发送),二是高优先级数据蜂拥浪费了带宽资源且增加数据丢失的风险(即虽然数据优先级高,但并不期望蜂拥到达目标终端)。

 

Qav为了优化这部分的流量整形,一是限定了高优先级流量的最大带宽来保证可以发送低优先级的数据,二是使用CBS算法来离散高优先级的数据发送。CBS算法为基于信用的计算方式,简单来说,数据想要发送就需要支付信用点,当信用点小于0则不允许被发送,信用点会随时间恢复。

 

 

如上图所示,数据1、2、3需要转发到目标端口,数据1发送后信用点降低,当数据1发送完毕,需要等待信用点恢复到0后才可以发送数据2,蜂拥的数据1、2、3就被整形成了间隔均匀的目标数据。

 

 

使用TSN Systems公司的TSN CoreSolution进行数据分析后,即可获得上述的流量图,in的那一行是源端口的蜂拥数据,out那一行是经过Qav整形后的目标端口的数据,可以直观地看到,源端口的蜂拥数据在目标端口转发后被整形为间隔均匀的目标数据。

设置不同的带宽限制就可以获得不同的信用点上升和下降速率(即idleSlope和sendSlop),就能控制相应数据的发送频率。结合低优先级数据的发送行为,就会形成特定的数据流。

 

 

如上图所示,在低优先级数据发送过程中,接收到发送数据1的指令,则信用点会增加,当低优先级数据发送完毕后可以发送数据1,同时消耗信用点,数据1发送完毕后由于还有信用点,则可以开始发送数据2,数据2 发送完毕后信用点小于0,需要等待信用点恢复后才能发送数据3。

 

由此我们可以知道,当数据延迟在可接受范围内,可以通过Qav的方式进行流量整形,以达到平缓数据和保证低优先级数据不被长时间阻塞的目的。

 

3.怎么测试Qav

 

理清了Qav基本内容后,我们来说明一下如何进行Qav的测试。我们把Qav测试分为一致性测试和自定义测试,一致性测试是基于AVnu发布的一致性测试规范,而自定义测试则是需要基于OEM的需求以及Qav相关的流量配置来进行测试。

 

1)Qav一致性测试

 

Qav的一致性测试主要包含3个章节的内容,分别是转发机制验证、CBS算法验证、AVB及非AVB的交换机特殊性验证。测试环境大部分是基于一个源端口转发到一个目标端口,如下图所示。

 

 

也存在特殊的环境,如一进二出和二进一出的场景,如下图所示。

 

 

一致性测试的过程中通常需要根据不同的测试要求,修改交换机以及Qav的配置,如设置特定的预留带宽、配置特定的转发流等。

 

2)Qav自定义测试

 

Qav的自定义测试通常需要OEM的需求和配置作为前提,比如在设计阶段,需要拆解存在哪些流量,每个流量应该如何分类到Qav的配置中,对应的预留带宽应该是多少,有哪些端口需要启用Qav等等。

 

有了这些定义之后,我们就可以对需要测试的流量进行拆解分析,设计合适的用例来验证Qav的机制实现情况、流量偏差情况、流量冲突处理行为是否正常等等。

 

3)测试工具的选择

 

由于Qav的测试更多地需要流量分析而不是单一数据的判断处理,我们更推荐TSN CoreSolution来进行这部分的测试。TSN CoreSolution可以实现在交换机的源端口打入特定的流量,然后对于流量的转发关系进行记录和检查,同时结合其Data Flow中用户自定义的配置和分析规则,形成直观的数据流量表现,简单操作可见如下示例。

 

4)测试示例

 

我们选择一项测试来进行说明。首先我们配置了Qav中的高优先级和低优先级数据,同时分配高优先级数据的预留带宽为20Mb/s,在交换机的源端口打入高优先级数据80Mb/s,并在高优先级数据间隔中插入低优先级数据,期望在目标端口只有20Mb/s的高优先级数据。

 

我们需要的分析规则如下:

 

 

首先在真实环境或者LOG分析中,过滤源端口数据和目标端口数据,需要展示源端口的整体数据和带宽,在目标端口中过滤出高优先级数据和低优先级数据并展示,同时展示高优先级数据的带宽。在TSN CoreSolution的Data Flow具体配置如下:

 

 

然后在TSN CoreSolution的输出页面,可以查看到总输入带宽大约100Mb/s,输出的高优先级数据带宽大约20Mb/s,见下图总览:

 

 

将展示的结果进行放大,可以看到输入的高优先级数据每帧1000字节,低优先级数据每帧100字节,均匀间隔穿插发送,而输出端限制了高优先级的数据,此发送行为受CBS算法控制而形成预期带宽的数据输出,见下图:

 

 

我们再放大数据展示并进行时间戳的标注,就可以直观地看到当Qav机制生效后的数据延迟表现,如下图示例,蜂拥的高优先级数据被整形为间隔300多μs的目标端数据。

 

 

4.总结

 

本次为大家介绍了TSN Qav的相关基础知识和测试内容,了解了其优劣势和相关特点,后续会带来更多关于TSN协议的测试实践内容,敬请关注。

 

北汇信息是TSN Systems在中国的独家合作伙伴,借助其专业的TSN工具TSN Coresolution,能够为下一代E/E架构中时间敏感网络提供系统级测试解决方案,包括系统设计测试、系统性能测试以及系统鲁棒性测试等

 

注:文中图片来源于TSN CoreSolution、AVnu

 

参考文献

[1] IEEE Std 802.1Qav

[2] Automotive Bridge SR Class & FQTSS Test Plan

 

http://www.wxhsa.cn/company.asp?id=6404

相关文章:

  • adobe illustrator中生成连续直角线段
  • 多重分形去趋势交叉相关性分析
  • 智启燃气新未来丨众智鸿图精彩亮相2025燃气运营与安全研讨会 - 教程
  • 燕千云ITR平台引领服务流管理革命,构建企业客户服务智慧生态
  • WPF 容器尺寸行为总结
  • 在adobe illustrator中如何插入大于、小于号
  • 三分钟了解流量卡的选择
  • SARIMA算法
  • 【IEEE出版|EI检索稳定】第四届云计算、大数据应用与软件工程国际学术会议(CBASE 2025)
  • Gitee推出革命性MCP Server:AI深度参与开发全流程 开启智能协作新时代
  • 用机器语言实现循环
  • 取证 - voasem
  • django对接drf-spectacular替代swagger
  • 可画
  • Symbol VBRK: Invalid data type u SAP 事务成功新号码获取到 但是提交后提示失败如何处理
  • Oracle 19c asm单机OPatch补丁报错checkSystemCommandAvailable failed.
  • three.js中怎么加载 .gltf/glb格式 文件
  • ollama如何安装使用
  • 【SPIE独立出版|连续多年EI稳定检索】第七届地球科学与遥感测绘国际学术会议(GRSM 2025)
  • 手把手教你实现C++高性能内存池,相比 malloc 性能提升7倍!
  • LDPC 码 BP 算法性能研究
  • 内外网文件传输方式有哪些:从传统方案到专业系统的全面解析!
  • 实用指南:DeerFlow 实践:华为IPD流程的评审智能体设计
  • py之补环境代理脚本
  • Python psutil模块
  • 跨网文件传输工具选择要点是什么?
  • 下半年业绩冲刺,12个效率工具帮你提速!
  • AUTOSAR的MPU内存保护
  • AI赋能CRM:纷享销客智能图像提升终端运营效率
  • 【linux命令】网卡命令 ①