基于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…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
