基于LS1028 TSN时间敏感网络交换机方案(一)TSN介绍

news2024/9/26 22:58:47
2.1 时间敏感网络介绍
时间敏感网络小组的前身是 AVB ,即以太网音视频桥接技术( Ethernet
Audio/Video Bridging, 简称 Ethernet AVB [10] 。它在传统以太网络的基础上,通过
精确时钟同步、预留带宽、流量整形,保证服务质量,以支持各种基于音频、视
频的网络多媒体应用。过去十年,人们对视频音频的娱乐性需求越加强烈,因此
原有的基于静态非实时数据的处理的以太网也就并不适用了。数据包的顺序和延
迟没有得到重视,尽管二层网络使用了优先级机制,以及三层网络的 QoS 质量服
务机制,但是并不能消除实时数据流与普通异步 TCP Transmission Control
Protocol ,传输控制协议)的资源竞争问题。这些问题带来的延时以及抖动大大影
响了多媒体应用的实时数据的传输,给不了用户良好的体验。基于这些问题,
IEEE 802.1 AVB 小组开发了一系列标准,而这就是 TSN 小组的前身。
2012 年,IEEE802.1 任务组正式变更 AVB TSN AVB 由此仅成为 TSN 网络中的一个应用。
正确地理解 TSN 需要一些基础,首先,我们了解一下什么是网络带宽。假设
有十条带宽为 1000Mbps 的数据流,这十条数据流是否能通过 1Gbps 的带宽并不确
定。网络是串行的,因此所有数据帧将排成一行,一位一位地送出,接收也是如
此。一定数量的数据帧组成数据流,而在单位时间内这段数据流运行的长度被称
为带宽。如果这 10 条数据流能够紧密相连排成一队并且不留空隙,那么是有可能
通过 1Gbps 的带宽的。但大部分时候,带宽是多个设备共享的,并且没有基于时
间的控制,而发送流量的设备也并没有控制,因此会造成冲突即时间上的重叠。
这时候 QoS 质量服务便会发挥作用,若按照优先级机制进行传输,那么些许流量
不可避免的将会被丢失。而 TSN 便在这方面做文章,解决了其中的一些问题。TSN
采用流量整形,将带宽中的实时数据流与非实时数据流进行整合,避免了产生重
叠造成的丢失。经过整形的流量被固定在带宽特定的时间点上,因此非实时的数
据流可以见缝插针地进行传输。
TSN 不仅能对发送端进行流量整形,在交换机的每个转发节点也能进行整形,
确保将实时数据流固定占用带宽而不会造成冲突。传统的以太网没有考虑实时的
数据,并且如果要对数据流进行排序且保证可靠传输必不可少数据缓冲 Buffer ,由
此带来的另一个问题是延时。 TSN 的一系列新标准通过精准时间同步(
Precision
Time Synchronization [11] ,预留带宽( Stream Reservation Protocol [12] ,使用基于
信用值的整形器( Credit-based shaper )来保证了高质量,低时延的同步网络。 TSN
网络协议簇位于数据链路层,在实际的应用中需要结合 IEEE 1722 IEEE 1733
等上层通信方案。 TSN 系统标准定义了一系列在生产制造 TSN 兼容设备过程中使
用的管理信息集( manager information base ),目的是去除繁琐的配置环节,能够
让新用户使用 TSN 网络。 TSN 网络涉及的主要标准如下:

TSN 网络的应用十分广泛,专业音频视频仅是其中的一项。第二项应用是汽
车领域,汽车的控制系统十分复杂,刹车,变向,加速悬挂等使用 CAN 总线系统,
目前大多数汽车厂商有自己的 CARPALY ,可以与手机相连以增加驾驶的安全与趣
味性,车载网络也各有不同。虽然车载系统很复杂,但使用支持实时传输且时延
较低的 TSN 的系统可以进行统一的管理。这使得未来远程驾驶成为可能,公交司
机又或是代驾等等可以实现远程操控,不仅降低了成本而且使得未来生活更加便
[18]
最后一个未来最为广泛的领域是工业互联网。如今工业物联网(
IoT )已为人
们熟知并大范围应用,它依赖于通讯网络的可靠性与计算网络发送与接收信息的
能力。如今越来越多的企业采用联网设备并且向智能化工厂迈进。连接与网络传
输延迟将会是智能工厂面临的一大问题。并且工业中存在各种复杂的总线,各种
总线采用的不同的协议不能直接通信,如何将这些总线设备集中控制是另一大难
题。 TSN 网络通过容错机制,关键流量和背景流量共存可以完美地解决这连接问
题,实现云平台控制,融合 IT OT 网络。 TSN 网络的系列标准可以满足工业网
络的性能要求, IEEE 提出了 802.1Qcc 协议来进行系统配置 [19]
TSN 如此强大的原因是它拥有以下组件。首先是精准时间协议,为自动化网
络分发时间方案。其他组件分别为:时间感知调度器( Time-aware Shaper ),尽力
而为( Best Effort )以太网流量,门控列表以及隐形保护带。分别由不同协议引入,
它们的强大功能将通过协议一一研究。
2.2 时间敏感网络标准研究
2.2.1 PTP 时间同步原理
802.1ASrev: Timing and synchronization
•定义 TSN 端口和交换机如何将其时钟与其他网络时钟同步,以便发送方和接收方
对时间有共同的理解, 802.1AS 最终成为 IEEE 1588 的简档。
•标准化多个主时钟的使用,以及与这些主时钟进行多次连接以实现冗余 / 故障转移
的可能性。
•定义对多个时钟的支持(本地 1 ,本地 2 ,本地 3; 为不同目的同步到不同主站)。
IEEE 1588v1 PTP 中定义了网络内的两种时钟,普通时钟( Ordinary Clock
OC )和边界时钟( Boundary Clock BC )。 PTP 系统的结构图如图 2-1 所示 , 一个
或多个 PTP 子域组成了整个 PTP 系统 , 并且每个子域都含有一个或多个能够彼此
通信的时钟。 PTP 系统拥有两种时钟,只有一个 PTP 端口的是普通时钟 , 边界时
钟可以有多个 PTP 端口。 在时间敏感网络中 , 所有具有时钟源功能的时间感知系
统都有成为潜在的主时钟的可能性,定义了一种选择的方法即最佳主时钟算法
Best Master Clock Algorithm,BMCA ),它保证了 gPTP 域中所有的 Time-Sensitive
System 使用的是相同的主时钟 [20]
时间戳机制( Time stamping )是 802.1AS 区别于 1588 的最主要的部分。在 PTP
消息出入拥有 802.1AS 功能的端口时,本地实时时钟( RTC )的采样将会被触发生
效。具体内容为将 RTC 值与对应于该端口的主时钟( Master )的信息进行比较,
并使用路径延迟测量和补偿技术将 RTC 时钟值与 PTP 域的时间进行匹配。 TSN
络运行时将全部覆盖 PTP 机制,通过时间戳机制和各种时钟补偿算法,网络中的
所有设备节点都将完美地同步于主时钟。如此优秀的机制让 PTP 的理论同步误差
进一步减小,最大 7 跳的网络下误差仅为 1μs
一般来网络中普通时钟是终端设备节点 , 带有 PTP 功能的路由器 , 和交换机等
设备则被当作边界时钟。后者的作用是连接多个 PTP 网络子域。
IEEE1588v2 IEEE 1588v1 的基础上提出透明时钟模型,包括点到点 E2E
明时钟和端到端 P2P 透明时钟。该时钟的主要作用是得出报文经过网络交换设备
内部的延迟,这可以用来减少级联网络中累积的误差,以达到时钟同步更加精确
的目的。端到端透明时钟和点到点透明时钟都可用于计算报文在网络交换设备内
部的驻留时间,但是二者对链路延迟的测量机制不同。
E2E 透明时钟只计算驻留在设备内部的时延,对两段的同步节点完全透明。
P2P 透明时钟不仅计算驻留在设备内部的,还计算链路的时延,同时支持
了链路的快速倒换。
当网络拓扑层级较多时,中间设备可以设置为透明时钟节点,如图 2-2 所示。
PTP 协议的具体实现步骤为:首先, PTP 网络系统中的各个时钟设备通过周
期性地交换带有时间信息的报文,通过这些报文的交换可以进行主从时钟间偏差
(Offset) 和网络时延 (Delay) 的计算 , 以此进行时钟间偏差的校正与时延的补偿。
如图 2-3 所示,假设该四种报文在均匀对称的介质中从主从时钟之间直接交
互。由此产生了四个发送和接收的时间点,从这几个时间点间可以得出主从时钟
间偏差 (Offset) 和网络时延 (Delay) ,这个过程就是打时间戳。

 

 

 

 

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

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

相关文章

Spring和IDEA都不推荐用的@Autowired注解,为什么还有那么多人用?

Autowired的默认装配 我们都知道在spring中Autowired注解,是用来自动装配对象的。通常,我们在项目中是这样用的: package com.sue.cache.service;import org.springframework.stereotype.Service;Service public class TestService1 {publ…

今天面了个京东拿 38K 出来的,让我见识到了基础的天花板

今年的春招已经开始了,很多小伙伴收获不错,拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的软件测试面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好&#xff0…

ChatGPT接入Siri(保姆级教程)

ChatGPT接入Siri(保姆级教程)第一步:获取OpenAPI的Key第二步:制作快捷指令今天,我将为大家分享如何将GPT应用集成到苹果手机的Siri中(当然手机是需要魔法(TZ)的) 第一步…

协议篇之UART协议

协议篇之UART协议一、写在前面二、UART协议简介三、UART协议数据帧结构3.1 UART发送过程3.2 UART接收过程四、UART传输速率五、写在最后一、写在前面 由于设计需要,需要入门学习一下UART协议。本文主要学习UART协议的数据帧结构。 二、UART协议简介 通用异步收发传…

AutoGPT自主AI正在路上#趋势:自主人工智能、人机交互、终身学习

hi,大家好,我是shadow。今天分享一些我看到的人工智能正在发生的趋势,以及创新的机会。一些动态经过几个月的筹备,慢慢地我会开启2023的Mixlab故事,可查看公众号菜单栏里的2023专栏。本周六和下周六我将在上海的活动分…

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

Thingsboard源码安装并更换logo 文章目录Thingsboard源码安装并更换logo1. 源码拉取2. 导入项目3. 项目编译4. 项目启动5. 修改logo6. 部署(rpm deb方式)1. 源码拉取 本教程按照3.4发行版本行进 git clone https://github.com/thingsboard/thingsboard…

深入拆解 Java 虚拟机-打卡|01 | Java代码是怎么运行的?

文章目录Java代码是怎么运行的?几个为什么为什么在虚拟机中运行?Java 虚拟机具体又是怎样运行 Java 代码的呢?Java虚拟机的运行效率怎么样?总结Java代码是怎么运行的? 来来来,运行个"Hello word !“告诉我是怎么…

免费的VR全景网站是什么?免费VR全景网站有什么用?

虚拟现实(VR)技术的应用日益广泛,尤其是在旅游、教育等领域。免费VR全景网站是一个新兴的平台,为用户提供了一个全新的探索未知世界的方式。 一、介绍免费VR全景网站的特点 1.全景视角 免费VR全景网站提供了360度全景视角&#…

Spring事务原理、隔离性

1、什么是事务 事务是指将一系列数据操作捆绑成为一个整体进行统一管理,如果某一事务执行成功,则在该事物中进行的所有数据更改均会提交,成为数据库中的永久组成部分;如果事务执行时遇到错误且必须取消或回滚,则数据将…

Vue3页面内跳转锚点-scrollIntoView()

scrollIntoView() scrollIntoView()方法将调用它的元素滚动到浏览器窗口的可见区域。 element.scrollIntoView(); // 等同于element.scrollIntoView(true)element.scrollIntoView(alignToTop); //布尔参…

数据结构-树与二叉树

文章目录5.1 树的基本概念5.1.1 树的定义5.1.2 基本术语5.1.3 树的性质5.2 二叉树的概念5.2.1 二叉树的定义及其主要特性5.2.2 二叉树的存储结构5.3 二叉树的遍历和线索二叉树5.3.3 二叉树的遍历5.3.2 线索二叉树5.4 树、森林5.4.1 树的存储结构5.4.2 树、森林、二叉树的转换5.…

Linux学习笔记——HTTP协议

文章目录前言HTTP协议的概念URLurlencode和urldecodeHTTP协议格式HTTP协议版本HTTP协议请求方法GET方法——获取资源POST方法——获取资源PUT方法——传输⽂件PUT方法——获得报文首部在这里插入图片描述DELETE方法——删除文件OPTIONS方法——询问支持的方法HTTP的状态码HTTP常…

050:cesium加载mapbox卫星地图、mapbox地形地图

第050个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载mapbox卫星地图、mapbox地形地图。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共79行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设…

【CE】图形化作弊教程通关手册(超真实的游戏体验)

▒ 目录 ▒🛫 导读需求开发环境1️⃣ 第一关翻译操作总结2️⃣ 第二关(代码共享)翻译操作验证3️⃣ 第三关翻译操作总结🛬 文章小结📖 参考资料🛫 导读 需求 除了Tutorial-x86_64.exe教程外,CE…

算法,离你并不遥远

算法,离你并不遥远引子什么是算法?为什么算法很重要?什么时候开始学算法?狭隘的算法定义算法从现在学起,从现在用起算法永不过时引子 今天又是搬砖摸鱼胡混的一天,在问答闲逛,看到了一个问答&a…

Linux多线程-2

“我是我境遇里的起步者。” -- 里尔克《布里格手记》 在上一节Linux多线程当中,我们讲述了Linux中线程的概念以及线程的控制内容。这一篇博客承接上次内容,我们来对线程安全进行阐述。 目录 1.线程安全 1.1互斥的实现 1.1.1互斥锁实现互斥 1.1.2互…

启动 Ethereum(上海) 主网全节点

问题描述 采用最新的geth版本之后,按照之前的方法启动geth主网节点会出现如下问题: Post-merge network, but no beacon client seen. Please launch one to follow the chain!问题原因 The above message is emitted when Geth is run without a conse…

PyTorch深度学习实战 | 神经网络的优化难题

即使我们可以利用反向传播来进行优化,但是训练过程中仍然会出现一系列的问题,比如鞍点、病态条件、梯度消失和梯度爆炸,对此我们首先提出了小批量随机梯度下降,并且基于批量随机梯度下降的不稳定的特点,继续对其做出方…

SpringBoot集成Dubbo启用gRPC协议

文章目录前言项目结构代码示例父工程api moduleservice module注意事项区别本文记录下SpringBoot集成Dubbo启用gRPC协议,以及与原生 gRPC 在代码编写过程中的区别。 下面还有投票,帮忙投个票👍 前言 Dubbo 在 2.7.5 版本开始支持原生 gRPC 协…

【软件测试】浅了解什么是软件测试及开发测试模型

目录 1.什么是软件测试? 2.什么是需求? 3.什么是测试用例 4.什么是软件错误(bug)? 5.开发模型和测试模型 5.1软件的生命周期 5.2瀑布模型 5.3螺旋模型 5.4软件测试V模型 5.5软件测试w模型 6.软件测试的生命周…