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

基于TSN的实时通信网络延迟评估技术

论文标题:A TSN-based Technique for Real-Time Latency Evaluation in Communication Networks

作者信息:

  • Alberto Morato, Claudio Zunino, Manuel Cheminod, Stefano Vitturi,来自意大利国家研究委员会,CNR-IEIIT。电子邮件: {alberto.morato, claudio.zunino, manuel.cheminod, stefano.vitturi}@ieiit.cnr.it
  • Federico Tramarin,来自意大利摩德纳大学“恩佐·费拉里”工程学院。电子邮件: federico.tramarin@unimore.it

论文出处:2024 IEEE International Instrumentation and Measurement Technology Conference (I2MTC)


摘要
实时网络和软件定义网络(SDN)在现代通信系统中扮演着关键角色,支持视频会议、在线游戏、VoIP通话、虚拟现实(VR)系统和工业4.0自动化等应用。这些应用需要低且可预测的延迟来确保实时互动性、响应性和不间断的性能。在动态网络环境中实现低且可预测的延迟是具有挑战性的,因为网络拓扑、流量负载和连接设备的变化等因素都会影响延迟。此外,网络协议和设备(如交换机和路由器)引入了额外的延迟。SDN通过允许基于各种标准的动态控制通信路径,增强了对时间敏感应用的性能。本文提出了一种新的测量方法,通过利用Linux内核中嵌入的时间敏感网络(TSN)特性和工具,轻松评估延迟。我们的方法能够准确捕获网络延迟,无论工作负载、配置和计算能力如何。

关键词
实时网络、软件定义网络(SDN)、低延迟、时间敏感网络(TSN)、动态网络环境、延迟测量方法

第一节 引言
实时网络和SDN已成为现代通信和数据交换系统的关键组成部分,支持多种应用,如视频会议、在线游戏、VoIP通话、虚拟现实(VR)系统和工业4.0自动化。这些应用共同的特点是需要低且可预测的延迟来确保实时互动性、响应性和不间断的性能。然而,确保这一特性并非易事。这些网络可以被描述为动态网络环境,其中网络拓扑、流量负载和连接设备可能会不断变化。在这样的环境中,网络延迟不仅受到通信节点之间物理距离的影响,还受到网络拓扑、流量负载和路由策略的影响。此外,网络协议和网络设备,如交换机和路由器,引入了额外的延迟。幸运的是,现代通信网络,包括实时网络,可以与SDN结合,允许根据各种标准动态控制通信路径,包括延迟。在这种情况下,SDN使得动态网络配置成为可能,并提高了对时间敏感应用的性能。

第二节 问题分析
评估通信网络的真实延迟确实是一个挑战性的任务,因为它受到多个因素的影响。这些因素包括网络拓扑和流量负载,以及用于测量的技术和探针的位置,以测量帧传输和接收之间的经过时间。在没有时间敏感网络(TSN)特性的传统设备中,为了评估网络延迟,可以采用简单的方法来测量两个平台的系统时钟(SYS clock)之间的经过时间。换句话说,在传输帧时,将当前传输时间戳从SYS时钟嵌入到帧中。接收器然后提取这个时间戳,并与其自己的SYS时钟进行比较,以计算延迟。然而,这种简单的技术提出了两个主要问题:时钟同步和软件及硬件延迟。

第三节 实验设置
我们根据图1所示的方案实施了实验设置。实际的实验设置显示在图2中。设置包括两个TNKi5000 Intel NUC,配备了Intel Core i5-1135G7 CPU,运行Ubuntu 22.04,内核版本为6.3。在这个测试平台中,网络黑盒是一个简单的直线连接,意味着两个NUC直接使用大约2米长的以太网电缆连接。使用的以太网NIC是Intel i225,配置为1 Gbps。用于测量延迟的探针帧总长度为298字节。关于同步,NUC 1被指定为Grand Master(GM),负责为作为Follower的NUC 2提供时钟参考。详细来说,SYS Clock Src被选为NUC 1上的参考时钟。然后,使用名为phc2sys的时钟管理工具将PHC clock Src设置为SYS Clock。之后,使用精确时间协议(PTP)将PHC clock Dst(目标)设置为PHC Clock Src。最后,将Sys clock Dst设置为PHC clock Dst。值得注意的是,这个设置中的时钟管理软件没有进行调整。因此,预计两个NUC之间的同步误差应该在17纳秒以内。

第四节 实验结果
在本节中,我们讨论实验结果。对于表I中列出的每个实验,我们进行了两组测量。特别是,我们测量了评估的延迟,测量源PHC时钟和目标SYS时钟之间的时间差,即应用延迟。这些测量包括直到目标设备上协议栈的应用程序的处理时间。这些结果在图3中显示,详细情况报告在表II中。为了表明我们提出的测量技术能够仅捕获由于(黑盒)网络的延迟,我们还测量了源PHC时钟和目标PHC时钟之间的延迟,即网络延迟,使用前面描述的机制检索。结果在图4中报告,并在表III中总结。

第五节 结论
在本文中,我们提出了一种新的方法来评估实时通信网络,该方法能够独立于系统配置评估网络特定的延迟。利用时间敏感网络(TSN)特性以及Linux内核中的SO TIMESTAMPING API,我们的方法能够准确捕获网络引入的延迟,同时将其与其他因素隔离开来。我们已经展示,在理想条件下的部署中,所提出的测量方法将产生接近0纳秒的延迟评估。然而,在其他情况下,例如配置错误或通信网络问题,这些条件预计将通过延迟的增加来检测。未来的工作将集中在引入真实网络到我们的黑盒中,测试我们的方法在更复杂和现实条件下的鲁棒性;将我们的方法扩展到涉及多个源和目的地的场景;采用我们提出的方法到包括无线时间敏感网络(WTSN)设备的网络中。

相关文章:

基于TSN的实时通信网络延迟评估技术

论文标题:A TSN-based Technique for Real-Time Latency Evaluation in Communication Networks 作者信息: Alberto Morato, Claudio Zunino, Manuel Cheminod, Stefano Vitturi,来自意大利国家研究委员会,CNR-IEIIT。电子邮件:…...

初识ZYNQ——FPGA学习笔记15

一、ZYNQ简介 ZYNQ:Zynq-7000 All Programmable SoC(APSoC),赛灵思公司(AMD Xilinx)推出的新一代全可编程片上系统 PS:Processing System,处理系统 PL:Program Logic&…...

理论-链表的头结点

所为头结点,是为了使空链表和非空链表的处理统一而在链表的头部增加的一个节点,这样无论链表是否为空,头指针都指向头结点,头结点中不存数据而只是存放指向第一个节点的指针。没有头结点的链表,头指针就指向第一个节点…...

oracle 分表代码示例

在Oracle数据库中,分表通常指的是将一个大表分解成多个较小的表,以提高管理和查询效率。这通常是通过分区(Partitioning)来实现的,而不是传统意义上的将表拆分成多个独立的表。不过,如果你确实需要将一个大…...

【MySQL】regexp_replace在MySQL以及regexp extract all在MySQL的用法

一、regexp_replace在MySQL的用法 在MySQL中,REGEXP_REPLACE() 函数用于在字符串中搜索正则表达式模式,并用指定的字符串替换该模式的每个匹配项。以下是其基本用法: 语法 REGEXP_REPLACE(expression, pattern, replace_string[, pos[, oc…...

详解 FFmpeg 中的 -map 选项

FFmpeg 是一个强大的多媒体处理工具,可以处理各种音视频转换、编辑任务。-map 选项是 FFmpeg 中非常重要且灵活的一个功能,它允许用户精确控制输入流如何映射到输出文件中。使用 -map,可以指定视频、音频或字幕等特定流进行处理,这…...

学习threejs,绘制二维线

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言二、🍀绘制二维线1. ☘️…...

跑lvs出现soft connect怎么处理?

首先,我们先了解一下什么是soft connect。简而言之,就是工具会将所有连接在psub上的信号认作soft connect(也就是short)。如图1所示,VSS和AVSS都接到了p上,它们通过psub便有了soft connect。 如果有soft co…...

实验1 Python语言基础一

目录 实验1 Python语言基础一1、下载安装Python,贴出验证安装成功截图2、建立test.py文件,运行后贴出截图,思考if __name”__main__”的意思和作用3、分别运行下面两种代码,分析运行结果产生的原因。记牢python中重要语法“tab”的作用。6、编…...

多线程相关内容

一、进程与线程 (一)进程的概述 进程是程序的一次执行过程,是系统进行资源分配和调度的一个独立单位。每个进程都有自己独立的内存空间,包括代码、数据和运行时的环境。进程的执行需要系统为其分配各种资源,如 CPU 时间、内存空间、文件描述符…...

mybatis-puls快速入门

1.概述 在真实项目开发中我们的服务模块,一般都要进行数据库操作,并且每个domain都有crud,需多次写重复代码。我们使用MybatisPlus,就不用写重复代码,并且还有模板的功能,可以一键生成daomin,query,mapper…...

Pool 和 PG 架构(二)

Ceph 的存储架构设计旨在提供高可用性和可扩展性。其中,Pool(存储池)和 PG(放置组)是两个核心概念。下面详细介绍 Ceph 的 Pool 和 PG 架构以及它们之间的关系。 1. Pool池 概念: Pool(存储池…...

客户服务升级指南:如何以细节赢得客户忠诚

在当今这个竞争激烈的市场环境中,客户忠诚度已成为企业生存与发展的关键所在。而要想赢得并维持客户的忠诚,仅凭优质的产品或服务已远远不够,更需要企业在客户服务上下足功夫,从每一个细节入手,打造超越客户期待的服务…...

闲盒支持的组网方式和注意事项

1. 直连光猫拨号​ 通过光猫拨号,设备直连光猫的设备,需要对光猫开启UPNP并关闭DMZ 如果只接一个盒子,建议直接针对盒子IP开dmz。 2. 直连路由器​ 通过路由器拨号,设备直连路由器的设备,需要对路由器开启UPNP并关闭…...

828华为云征文|华为云Flexus云服务器X实例之openEuler系统下搭建MaxKB开源知识库问答系统

828华为云征文|华为云Flexus云服务器X实例之openEuler系统下搭建MaxKB开源知识库问答系统 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、MaxKB 介绍2.1 MaxKB简介2.2 MaxKB整体架构…...

[Linux]:信号(上)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 信号的引入 1.1 信号的概念 在Linux系统中,信号(…...

浙大数据结构:05-树9 Huffman Codes

这道题难度挺大,写起来较为费劲,这里我依然使用了STL库,使得代码量大幅减少不过百行,便于大家理解。 机翻: 1、条件准备 数组存储字符对应频率,n,student存储输入多少字符,有多少学生测试。 …...

scrapy爬虫基础

一、初识 创建项目: scrapy startproject my_one_project # 创建项目命令 cd my_one_project # 先进去, 后面在里面运行 运行爬虫命令为:scrapy crawl tk spiders下创建test.py 其中name就是scrapy crawl tk &…...

利用H5无插件播放RTSP流的实现方案

文章目录 0. 引言1. 问题分析1.1 RTSP流与浏览器的兼容性1.2 解决思路 2. 方案设计2.1 总体架构2.2 关键组件 3. 实施步骤3.1 环境准备3.2 安装与配置3.2.1 安装FFmpeg3.2.2 安装OpenResty3.2.3 添加nginx-rtmp-module模块3.2.4 配置OpenResty 3.3 推流操作3.4 前端播放3.4.1 引…...

CSS文本格式化

通过 CSS 中的文本属性您可以像操作 Word 文档那样定义网页中文本的字符间距、对齐方式、缩进等等,CSS 中常用的文本属性如下所示: text-align:设置文本的水平对齐方式;text-decoration:设置文本的装饰;te…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...