虹科教您 | 虹科RELY-TSN-KIT操作指南(3)——基于Linux系统进行TSN协议测试

news2024/12/24 21:01:03

随着技术的变革和实际生产业务需求的推动,工厂内部互联架构逐渐趋于扁平化(IT/OT融合),而TSN则是在这一背景下发展起来的新兴技术,旨在为以太网协议建立“通用”的时间敏感机制,以确保网络数据传输的时间确定性。

目前,Linux 生态系统已支持多个 TSN 功能,例如基于信用的整形器(前 Qav)、调度流量增强(EST,前 Qbv)、通用精确时间协议(gPTP)和音频/视频传输协议(AVTP)。它还支持某些 NIC 中存在的 LaunchTime 功能,例如 Intel® 以太网控制器 I210,它使用户应用程序能够卸载数据包传输。

在之前的文章中,我们详细介绍了如何在Linux系统中操作使用虹科时间敏感网络评估套件RELY-TSN-KIT。该套件包含了TSN交换机、TSN网卡、流量生成器和主机PC的ISO映像,可实现以下功能:

  • 评估基于IEEE 802.1AS同步的时间常识的重要性
  • 借助时间感知整形器,可以确定性地交付实时流量
  • 通过基于信用的整形器在流量类别之间进行带宽分配和预留的好处
  • 提供帧复制和消除可靠性标准的高可靠性冗余

前文回顾:
虹科教您 | 基于Linux系统的RELY-TSN-KIT套件操作指南(1)——硬件设备与操作环境搭建

虹科教您 | 基于Linux系统的虹科RELY-TSN-KIT套件操作指南(2)——操作演示

本篇文章将基于Linux系统,使用虹科RELY-TSN-KIT进行TSN协议测试。为了提供友好的界面,可以使用专用的 Web 界面来控制 TSN 测试,打开firefox浏览器,在Web浏览地址上输入输入:192.168.4.64:1337,如图3-13显示了 TSN 演示的主页,每个按钮代表以下可以运行的测试之一,它们已预先设置为顺序执行。

在这里插入图片描述

图3-13 Demo Web演示界面

时间同步测试

这项测试表明,在TSN网络中需要一个共同的同步平面。将传输时间划分为周期性窗口,这就需要有一个纳秒的计时器,使所有的设备在同一时间打开这些窗口,缺乏这种机制会引发明显的随机带宽损失。如图314和图3-15所示。

在这里插入图片描述
图3-14 没有时间同步的TSN网络

在这里插入图片描述
图3-15 具有时间同步的TSN网络

(1)在TSN Demo演示界面,点击图3-13中的“Time Synchronization Test”按钮,它将弹出一个新页面,如图3-16所示。
在这里插入图片描述
图3-16 时间同步测试Web页面

(2)接着上一步单击“Start Frame Generator”按钮。它将启动和配置设备 2中的流量生成器。主要参数定义了 200 字节大小,VLAN 优先级为 5的帧传输。带宽率为 10%(千兆的 10%)。

(3)如前面3.3.4节所述,输入命令打开Wireshark工具界面,在Wireshark 中开始新的捕获,点击PC中设置静态IP地址的端口打开,然后打开 I / O 图,并检查是否以优先级 5 接收了 100Mbps 的流量,如图3-17所示。(注意这里设置的X轴单位为秒,Y轴单位为bit/s)
在这里插入图片描述
图 3-17 VLAN优先级5的流量带宽

(4)接着上一步,点击“Enable TAS in Device 0”选项。这将把时间感知整形器的配置仅发送到设备 0,如表3-1所示,它的配置功能如下:

  • 仅保留一个时隙用于优先级 5 流量的传输
  • 允许将所有剩余的流量发送到剩余的时隙中
  • 允许在所有时隙中传输PTP流量(优先级6)
    在这里插入图片描述
    表3-1

(5)接着上一步,继续观察到 I / O 捕获图,并检查带宽是否限制为大约40%左右(由于仅为优先级 5 的流量预留了一个插槽),如图3-18所示。
在这里插入图片描述
图3-18 时间感知整形器操作

(6)单击“Enable TAS in Device 1”。时间感知整形器的配置仅发送到设备1。它的配置方式与设备0相同。

(7)接着上一步,继续观察I / O捕获图。由于设备无法同时打开窗口,因此带宽减少了。注意:带宽减少可能与此捕获图有所不同。这是因为两个设备中的窗口启动之间的时间差是随机的,如图3-19所示。

在这里插入图片描述
图3-19 时间感知整形器带宽减少

(8)接着上一步,点击“Enable IEEE 802.1AS”按钮。此按钮的作用是激活两个设备中的 IEEE 802.1AS协议,以使两个设备之间具有同步时间。同步完成后,两个设备将同时打开循环窗口。

(9)接着上一步,继续观察I / O 图捕获。检查时间同步完成后,带宽大约恢复到40%左右。如图3-20所示。

在这里插入图片描述
图3-20 具有同步计时器的时间感知整形器

(10)接着上一步,点击“Go back”按钮。点击此按钮后,流量生成器停止传输流量,并且时隙的配置被撤消。并回到Demo Web主页。

(11)观察Wireshark工具,I/O停止捕获。

Negative 测试

标准以太网操作基于严格优先级QoS机制。此机制基于在VLAN标记中使用PCP位。因此,可以为流量分配8个不同的优先级。在拥塞的情况下,优先级较低的数据包将被丢弃。在该测试中,证明了标准以太网网络无法执行其他类型的优先级划分。

(1)在TSN Demo演示界面,点击图3-13中的“Negative Test”按钮,它将弹出一个新页面,如图3-21所示。

这将启用两个VLC客户端实例。VLC实例1(Video1)对应于VLAN优先级为2的流,而VLC实例2(Video2)对应于VLAN优先级4的流,这两个视频现在都可以播放。

图3-21 Negative 测试页
图3-21 Negative 测试页

(2)接着上一步,点击“Start Traffiffiffic Generator”按钮。它将配置和启动设备2中的流量生成器。主要参数定义了1500字节大小的帧的传输,VLAN优先级为5。帧速率为100%,以产生拥塞情况。

点击后,VLC实例已被阻止,其原因已在上面说明。由于它们的优先级低于流量生成器生成的流量,并且存在拥塞情况,因此被丢弃的数据包就是属于较小优先级的那些数据包。

(3)接着上一步,点击“Go back”按钮。点击此按钮后,流量生成器停止传输流量,并且VLC实例停止,并回到TSN Demo主页。

时间感知整形器测试

如前面的测试所示,在以太网网络的标准操作中,由于流量的优先级低于流量生成器,因此不可能对VLC实例进行优先级排序。在这个测试中,它将被证明在标准IEEE802.1Qbv中定义的TSN特性,它允许为不同的优先级分配传输时隙。特别是,在802.1Qbv块中配置的参数将只允许将优先级为2的流量传输到单个时隙中。其余的流量将被传输到另一个时隙。为了定义一个保护带和改善Wireshark中的图形可视化,将会有另一个不允许任何流量的时隙。最后,第一个时隙将被保留用于优先级0流量的传输,以保持演示的成功性能。如表3-2所示,802.1AS流量(优先级6)将被允许在所有时隙中传输。

在这里插入图片描述
表3-2时间感知整形器配置

(1)在TSN Demo演示界面,点击图3-13中的“Time Aware Shaper Test”按钮,它将弹出一个新页面,如图3-22所示。

这将启用了两个VLC客户端实例。VLC实例1(Video1)对应于VLAN优先级为2的流,而VLC实例2(Video2)对应于VLAN优先级4的流,这两个视频现在都可以显示。

在这里插入图片描述
图3-22 时间感知整形器测试页

(2)接着上一步,单击“Enable Time Aware Shaper”按钮。时间感知整形器(时隙)的配置参数发送到两个设备。通过此操作,通过此操作,优先级2(VLC实例1)的流量已经保留了一个带宽的百分比,因为它有可用于传输的专用时隙。

(3)接着上一步,单击“Start Frame Generator”按钮。它将配置和启动设备2中的流量生成器。主要参数定义1500字节大小的帧的传输,VLAN优先级为5。带宽速率为100%,以产生拥塞情况。

点击后,观察实例播放,应该正确接收VLC实例1,而不能正确接收VLC实例2。这是由于在同一时隙中其余优先级的带宽仍存在竞争。

(3)在Wireshark中开始捕获几秒钟,然后打开I / O图形并以毫秒为单位设置x标度,然后注意传输时间分成多个时隙。检查优先级为2的流量是否从未与其余流量同时传输。还要检查是否接收到任何优先级为4的流量,如图3-23所示。
在这里插入图片描述
图3-23 时间感知整形器时隙

(3)接着上一步,点击“Go back”按钮。点击此按钮后,流量生成器停止传输流量,VLC实例被中断,并且时隙的配置保持不变。它带您回到主页。

基于信用的整形器测试

使用时间感知整形器机制,由于在每个传输窗口中保留了一个时隙,因此可以实现优先级为2的流量优先级化。在此测试中,将使用基于信用的整形器机制,以便在多个优先级的流量之间分配带宽。特别是,需要为优先级4的流量分配足够的带宽(VLC实例2),并将优先级5的流量的带宽限制为允许其余流量传输的值。选择的值限制了优先级5流量的带宽的20%。

(1)在TSN Demo演示界面,点击图3-13中的“Time Aware Shaper Test”按钮,它将弹出一个新页面,如图3-24所示。启用了两个 VLC 客户端实例。VLC 实例 1 对应于 VLAN 优先级为 2 的流,而 VLC 实例 2 对应于 VLAN 优先级 4 的流。这两个视频现在都可以显示。
在这里插入图片描述
图3-24 基于信用整形测试Web页

(2)接着上一步,点击“Enable Credit Based Shaper”按钮。基于信用整形器的配置参数(带宽分数)被发送到两个设备。通过此操作,由于优先级5的流量的限制,优先级4(VLC实例2)的流量已预留了一定百分比的带宽。

(3)接着上一步,点击“Start Frame Generator”按钮。它配置和启动设备2中的流量生成器。主要参数定义1500字节大小的帧的传输,VLAN优先级为5。带宽速率为100%,以产生拥塞情况。同时应正确接收两个VLC实例。

(4)在Wireshark中捕获几秒钟。打开“ I / O图”并以秒为单位设置x比例,并注意优先级5流量的带宽限制。它应该仅约为50Mbps(250Mbps的20%-1个时隙)。此外,x标度可以设置为毫秒,并且可以验证优先级4的流量始终与优先级5的流量在同一时隙中传输。如图3-25和图3-26所示。

在这里插入图片描述
图3-25基于信用的整形器操作

在这里插入图片描述
图3-26 基于信用的整形器操作

(5)点击“Go back”按钮。点击此按钮后,流量生成器停止传输流量,VLC 实例被中断, 并且所有与 TSN 相关的功能都被禁用。此操作将返回主页。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/463065.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云计算服务安全评估办法

云计算服务安全评估办法 2019-07-22 14:46 来源: 网信办网站【字体:大 中 小】打印 国家互联网信息办公室 国家发展和改革委员会 工业和信息化部 财政部关于发布《云计算服务安全评估办法》的公告 2019年 第2号 为提高党政机关、关键信息基础设施运营者…

鸿蒙系统是什么?鸿蒙与开源鸿蒙的关系?鸿蒙系统的发展历程

鸿蒙OS分布式操作系统简介鸿蒙系统(HarmonyOS),是第一款基于微内核的全场景分布式OS,是华为自主研发的操作系统。现被华为捐献给开放原子基金会管理,为开放原子基金会下的一个项目。 从 系统定位 上来说,HarmonyOS是一…

explain都不懂?搞什么数据库优化,快进来学习了

文章目录 一、 前言二、MySQL EXPLAIN实战三、mysql EXPLAIN输出结果详解3.1 id详解3.2 select_type3.3 table3.4 partitions3.5 type3.6 possible_keys3.7key3.8 key_len3.9 ref3.10 rows3.11 filtered3.12 Extra 一、 前言 EXPLAIN 想必用过mysql的小伙伴都听过,…

PWM 呼吸灯实验

PWM 呼吸灯实验 FPGA实现一个PWM模块(硬件)来控制灯的亮灭。 实验原理 PWM本质上就是一个输出脉冲的硬件,通过改变一个周期高电平(占空比)的时间来对其他的硬件进行控制,比如电机。 呼吸灯的实现利用了人…

谈谈如何用开源网关进行 API 管理

需求痛点 1.企业不清楚到底有多少个API,无法形成API资产管理等问题。 2.API在不同集群的生命周期问题。 3.API运行状态监控和告警问题。 4.API请求限流、流量控制以及安全等问题。 功能介绍 Apinto的API管理提供API生命周期控制:可管理所有API&…

Cortex-R52 GIC:Generic Interrupt Controller(一)

ARM Cortex-R52 GIC:Generic Interrupt Controller 1.关于GIC 1.1 GIC Overview ARM的中断控制器被称为GIC(Generic Interrupt Controller),GIC是支持和管理系统中断的资源的模块。它支持中断优先级、中断路由到CPU或输出端口、中断抢占和中断虚拟化等功能。 中断…

深入浅出Rust核心概念:生命周期

简介 Rust是一种快速、安全、并发的系统级编程语言,它的设计目标是提供一种高效、内存安全的编程方式。而生命周期(Lifetime)是Rust语言中的一个核心概念,它与内存管理、函数传参和引用操作等方面密切相关。LZ将详细介绍Rust中生…

GitHub 开启 2FA 双重身份验证的方法

为什么要开启 2FA 自2023年3月13日起,我们登录 GitHub 都会看到一个要求 Enable 2FA 的重要提示,具体如下: GitHub users are now required to enable two-factor authentication as an additional security measure. Your activity on Git…

Matplotlib 轴标签和标题

我们可以使用 xlabel() 和 ylabel() 方法来设置 x 轴和 y 轴的标签。 实例 import numpy as np import matplotlib.pyplot as pltx np.array([1, 2, 3, 4]) y np.array([1, 4, 9, 16]) plt.plot(x, y)plt.xlabel("x - label") plt.ylabel("y - label")…

Java BIO

1.Java BIO(Blocking IO:同步并阻塞式IO)编程 1.1.基本介绍 1>.Java BIO就是传统的java io编程,其相关的类和接口在"java.io"包下; 2>.BIO(Blocking I/O): 同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处…

深入分析,Redis为什么这么快?

我们都知道Redis很快,它QPS可达10万(每秒请求数) Redis为什么这么快? 基于内存实现高效的数据结构合理的数据编码合理的线程模型虚拟内存机制 基于内存实现 我们都知道内存读写是比磁盘读写快很多的。Redis是基于内存存储实现的…

电磁兼容原理、方法及设计的科普好文

什么是电磁兼容 电磁兼容性(EMC)是指设备或系统在其电磁环境中符合要求运行并不对其环境中的任何设备产生无法忍受的电磁干扰的能力。因此,EMC包括两个方面的要求:一方面是指设备在正常运行过程中对所在环境产生的电磁干扰不能超…

操作系统之调度

目录 什么是调度 进程调度的时机、切换、过程与方式 调度器/调度程序 调度算法 先来先服务算法 短作业优先算法 高响应比优先算法 时间片轮转算法 优先级调度算法 多级反馈队列调度算法 什么是调度 调度的三个层次 高级调度 中级调度 低级调度 总结如下: …

利用docker部署深度学习环境摆脱操作系统版本限制与cuda版本限制

利用docker部署深度学习环境摆脱操作系统版本限制与cuda版本限制 文章背景描述: 近期公司想给客户部署OCR文本识别项目,项目用到了tensorflow1.13,可支持该框架版本的cuda得低于10.2,但是客户要求的操作系统版本是Ubuntu22.04&…

学成在线笔记+踩坑(9)——课程发布,xxl-job+消息SDK实现分布式事务、页面静态化、Hystrix熔断降级

导航: 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线牛客面试题_java黑马笔记 目录 1 业务流程,入库缓存ESMinIO存静态化页面 2 分布式事务技术方案 2.1 回顾本地事务和分布式事务 2.2 什么是CA…

Nginx下载和使用

nginx: downloadhttp://nginx.org/en/download.html下载成功后打开 \nginx-x.xx.x\conf\nginx.conf 文件 #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid…

国内top5正规好用纸黄金交易软件最新排名(2023评测版)

随着互联网技术的不断发展,网上投资理财变得越来越流行。而随着互联网理财产品的日益增多,越来越多的投资者开始选择纸黄金交易软件进行交易。然而,对于初入此行的投资者而言,如何选择合适的纸黄金交易软件显得尤为重要。 首先&…

PostgreSQL的数据类型有哪些?

数据类型分类 分类名称 说明 与其他数据库的对比 布尔类型PG支持SQL标准的boolean数据类型与MySQL中的bool、boolean类型相同,占用1字节存储空间数值类型整数类型有2字节的smallint、4字节的int、8字节的bigint;精确类型的小数有numeric;非精…

C语言CRC-8 ITU格式校验函数

C语言CRC-8 ITU格式校验函数 CRC校验基于前处理和后处理的不同,由不同的协会标准推出了一些不同格式的版本。这里介绍CRC-8 ITU格式的校验函数。 CRC-8 ITU格式特征 标准CRC-8的校验函数参考: C语言标准CRC-8校验函数 CRC-8 ITU格式和标准CRC-8校验算…

Mybatis是什么?Mybatis入门程序

一、框架是什么? 1.java常见框架: SSM三大框架:SpringMybatisSpringMvc 2.什么是框架? 框架本身就是对于通用代码的封装,提前写好的类和方法,我们在做项目的时候直接引入这些框架(本质就是引入类…