基于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…...

学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...

基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
vue3 daterange正则踩坑
<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...