虹科教您 | 可实现带宽计量和延迟计算的时间敏感网络测试工具RELY-TSN-LAB操作指南与基本功能测试

2023-09-21 14:27:16

1. RELY-TSN-LAB产品概述

时间敏感网络(TSN)能够合并OT和IT世界,这将是真正确保互操作性和标准化的创新性技术。这项技术的有效开发将显著降低设备成本、维护、先进分析服务的无缝集成以及减少对单个供应商的依赖。为了在这些网络中实现确定性,需要控制连接到网络的设备的延迟和带宽,并预测其在拥堵和错误情况下的行为。RELY-TSN-LAB是一种新概念的测试工具,可以在不同的测试条件下测量设备或TSN网段的延迟和带宽。设备如图1所示。
在这里插入图片描述

图1.RELY-TSN-LAB

2. 网络中的接入方式

开始使用RELY-TSN-LAB的第一步是将设备连接到LAN段或被测设备上。RELY-TSN-LAB对从端口0收到的帧执行所有操作,并将它们转发到端口1,端口2的情况也一样,但帧被转发到端口3。端口1和端口3收到的所有流量都分别传递给端口0和端口2,没有任何变化。在RELY-TSN-LAB中实现的框图如图2所示。

在这里插入图片描述
图2 RELY-TSN-LAB内部结构

PL部分:SoC的可编程逻辑部分,该部分由两个实验工具块组成,执行过滤、错误注入、带宽计量和延迟计量的功能。第一个Labtool通过port-0和port-1向LAN段或被测设备注入流量。第二个Labtool通过port-2和port-3工作,从局域网段或被测设备上获取流量。此外,这两个模块都连接到第三个模块,实现相应的同步,以达到时间标记的目的。

PS部分:SoC 的处理系统部分,该部分通过内部配置接口连接到 PL 部分。它还有一个称为服务端口的外部连接,可用于配置设备和检索存储的 .CSV 文件。 服务端口可以设置在与其他以太网端口不同的网络中。

建议的测试设置如图3所示。流量可以在进入被测网络之前以及在到达目的地之前再次被标记、测量或损坏。
在这里插入图片描述
图3. LAB接入网络方式

REL-TSN-LAB 对所有流量都是透明的(启用错误注入时除外)。仅添加了大约 1us 的延迟。 该延迟在两个方向上是对称的。这允许出于同步目的而在没有不对称的情况下测量路径延迟。

3. RELY-TSN-LAB基本功能测试

(1)网络拓扑模型

如下方的网络拓扑模型(见图4),这里利用流量生成器(GEN)作为数据源进行流量发送,PC作为目的地,中间以一个交换机(BRIDGE)模拟大规模中间节点,设备LAB则用于测量数据源到目的地之间的流量传输带宽以及延迟。
在这里插入图片描述
图4.测试的网络拓扑结构

注意:也可以用GEN剩余端口通过交换机向目的地PC发送多种不同类型的流量,通过配置过滤策略,根据不同的参数(IP 地址、以太网类型、内容等)限制测量不同流量的带宽和传输延迟。

(2)GEN定义传输的流量

使用流量生成器产生流量传输,以便在REC中捕获此流量类别,GEN传输参数设置如图5所示。
dst_MAC_address_lo: 该MAC地址被设备用作生成的任何出站帧的目标地址。这些位对应于MAC地址的低部分(位31至0)。设置为目标PC的0x5B893FBE。
dst_MAC_address_hi: 该MAC地址被设备用作生成的任何出站帧的目标地址。这些位对应于MAC地址的高部分(位47至32)。设置为目标PC的0x80FA。
Frame Size:它指定要传输的帧长。这个大小从60字节增加到1518字节(没有CRC字段)。定义为1500字节大小。
Ethertype: 它指定要传输的帧的以太类型。默认值为0x000088FB。
Percentage: 它以百分比为单位定义了传输速率,它的粒度为一个单位。定义为千兆的百分30,即300兆速率。
Frame_tx_enable:设置为1,以启用数据包传输。
在这里插入图片描述
图5. GEN流量参数设置

(3)LAB设备的带宽测量

图6显示每个TAP端口的状态,勾选“port enabled”对TAP端口进行启用。除此之外,每个端口还显示了PHY的测量速度。
在这里插入图片描述
图6.使能TAP端口

如图7所示,勾选“Bandwidth meter enabed”,开始启用LAB设备的带宽计量功能,能计算经过两个TAP之间的流量带宽大小。
在这里插入图片描述
图7 启用LAB的带宽计量

如图8所示,通过使用过滤器选择要在哪些帧上应用带宽计量功能,最多可以配置 4 个过滤器,每个过滤器都可以通过用户设置的 ID 来识别。 在其 ID 旁边,有一个计数器,用于测量与过滤器集匹配的帧数量。当相应的启用复选框被选中并按下应用更改按钮时,将应用过滤器。
注意:这使用全局过滤器(未进行任何过滤参数设置,只使能过滤器)
在这里插入图片描述
图8.启用LAB的带宽计量过滤器

带宽计量功能以及过滤器参数设置并启动后,如图9所示,在“BANDWIDTH METER”就可以看到TAP0和TAP1端检测出来的流量带宽,都是300M大小,符合流量生成器(GEN)设置的数据传输大小。
在这里插入图片描述

图9. TAP测量得到的带宽大小

设备的每个端口根据不同的标准记录发送和接收的帧。这些计数器是环绕式计数器并具有复位功能。当它们自然环绕、重置或重新启动设备时,它们可以归零。所有统计计数器都是只读的,因此对统计计数器的写入尝试将不成功。

在这里插入图片描述

为了检查目的地PC接收的流量是否有误,在PC端利用wireshark工具捕获传输过来的流量,如图10所示,通过对流量报文的解析以及带宽的I/O统计,对比GEN参数配置,捕获的流量与发送的流量保持一致,证明LAB设备在网络中充当一个透明设备的角色。
在这里插入图片描述
图10 .PC端捕获的传输流量

(4)LAB设备的延迟计算

如图11所示,定义将提取并存储在设备中的时间戳帧的两个段。
偏移量(offset):指定要存储帧字节的字节位置。
字节数(Number of bytes):指定要从指定偏移量存储的帧字节数。
在这里插入图片描述
图11.定义时间帧的提取字段

同理于带宽计量过滤器设置,如图12所示,帧时间戳同样具有过滤器设置,这里直接勾选不做任何过滤参数设置,使能一个全局过滤器。

在这里插入图片描述
图12.启用LAB的帧戳过滤器

如图13所示,勾选“Frame timestamper enabled”,开始启用LAB的延迟计算功能。并分别点击TAP下方的“Download capture life”开始捕获带有时间戳信息的帧,Web网页会下载带有.CSV后缀的文件,此文件用于计算TAP0和TAP1之间的网络拓扑的传输延迟。

在这里插入图片描述
图13.启用LAB的延迟计算功能

如图14所示,TAP0捕获的CSV文件,文件中有之前设置的每个帧的偏移字段,以及在开头当中这个帧捕获时所对应的时间戳信息,同理TAP1捕获的CSV文件也一样,延迟需要进行计算两个文件的信息。

在这里插入图片描述
图14.捕获的帧时间戳CSV文件

更多推荐

虚幻4学习笔记(12)操控导入的角色、动画蓝图、播放蒙太奇和打包、角色重定向

虚幻4学习笔记操控导入的角色设置鼠标旋转关掉动态模糊动画蓝图、播放蒙太奇和打包角色走路奔跑动画shift奔跑F跳舞移动打断跳舞打包角色重定向姿势调整解决跑步腿分太开隐藏剑B站UP谌嘉诚课程:https://www.bilibili.com/video/BV164411Y732操控导入的角色新建项目导入角色模型FBX保存

JavaScript -【第四周】

文章来源于网上收集和自己原创,若侵害到您的权利,请您及时联系并删除数组知道什么是数组及其应用的场景,掌握数组声明及访问的语法。1.数组是什么?数组:(Array)是一种可以按顺序保存数据的数据类型【为什么要数组】:思考:如果我想保存一个班里所有同学的姓名怎么办?使用场景:如果有多个数据可以用数组保存起来,然后放到一个变

神经网络-pytorch版本

pytorch神经网络基础torch简介torch和numpyimporttorchimportnumpyasnpnp_data=np.arange(6).reshape((2,3))torch_data=torch.from_numpy(np_data)tensor2array=torch_data.numpy()p

openssl创建CA证书教程

配置生成CA证书总示意图:(1),通过openssl创建CA证书第一步:创建一个秘钥,这个便是CA证书的根本,之后所有的东西都来自这个秘钥#通过rsa算法生成2048位长度的秘钥opensslgenrsa-outmyCA.key2048第二步:是通过秘钥加密机构信息形成公钥#公钥包含了机构信息,在输入下面的指令之后会有

4G工业路由器,开启智能工厂,这就是关键所在

​提到工业物联网,首先联想到的就是数据传输。要把海量的工业数据从设备端传到控制中心,无线数传终端就发挥着重要作用。今天就跟着小编来看看它的“联”是怎么建立的吧!原文:https://www.key-iot.com/iotlist/1838.html一提到无线数传终端,相信大家首先想到的是DTU模块。其实按照功能定位,又

中尺度混凝土二维有限元求解——运行弯曲、运行光盘、运行比较、运行半圆形(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。📋📋📋本文目录如下:🎁🎁🎁目录💥1概述📚2运行结果🎉3参考文献🌈4Matlab代码实现💥1概述中尺度混凝土二维有限元求解是一种常见的工程分析方法

【Redis面试题(46道)】

文章目录Redis面试题(46道)基础1.说说什么是Redis?2.Redis可以用来干什么?3.Redis有哪些数据结构?4.Redis为什么快呢?5.能说一下I/O多路复用吗?6.Redis为什么早期选择单线程?7.Redis6.0使用多线程是怎么回事?8.Redis持久化⽅式有哪些?有什么区别?9.RDB和AOF

QT之QLineEdit简介

QT之QLineEdit简介QLineEdit是Qt的一个类,用于创建和管理单行的文本输入框。以下是一些常用的QLineEdit函数和它们的用法:1)QLineEdit(QWidget*parent=nullptr)构造函数,创建一个新的QLineEdit对象。parent参数是指向父窗口的指针,如果省略,则QLine

docker容器的设置本地时间(/etc/localtime)和本地时区(/etc/timezone)

本地时区的修改一般情况下,我们启动docker容器时指定了环境变量:-eTZ:=Asia/Ho_Chi_Minh,容器内的时区就会变成东八区,某些软件则会读取该环境变量作为其使用的时区,该环境变量相当于"残缺版"的命令:echo'Asia/Ho_Chi_Minh'>/etc/timezone为什么说残缺版,继续往下看。

STM32 ~ GPIO不同模式之间的区别与实现原理

GPIO全称GeneralPurposeInputOutput,即通用输入/输出。其实GPIO的本质就是芯片的一个引脚,通常在ARM中所有的I/O都是通用的。不过,由于每个开发板上都会设计不同的外围电路,这就造成了GPIO的功能可能有所不同。大部分GPIO都是有复用功能的,比如有些GPIO可能是串口的TX或RX,也可能

【音视频】ffplay源码解析-PacketQueue队列

包队列架构位置对应结构体源码MyAVPacketListtypedefstructMyAVPacketList{AVPacketpkt;//解封装后的数据structMyAVPacketList*next;//下一个节点intserial;//播放序列}MyAVPacketList;PacketQueuetypedef

热文推荐