TSN 时间敏感网络

2024-03-19 16:36
文章标签 时间 网络 敏感 tsn

本文主要是介绍TSN 时间敏感网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

TSN 时间敏感网络缘起:TSN历史与现状)

    TSN历史

    TSN是一项从音视频领域延伸至工业、汽车、移动通信领域的技术,最初来源于音视频领域的应用需求,当时该技术被称为AVB,由于针对音视频网络需要较高的带宽和最大限度的实时,借助AVB能较好地传输高质量音视频数据。

图片

    2005年,IEEE802.1工作组成立AVB音视频桥任务组,并在随后的几年里成功解决了音频视频网络中数据实时同步传输的问题。这一点立刻受到来自汽车和工业等领域人士的关注。2012年,AVB任务组在其章程中扩大了时间确定性以太网的应用需求和适用范围,并同时将任务组名称改为现在的TSN任务组。

    不论是AVB和TSN,都主要定位于数据链路层(如图1所示);物理层方面,IEEE也做了新标准:IEEE 802.3bp和IEEE 802.3bw。

图片

图1 传统以太网7层模型结构

    传统以太网

    以太网的概念是1973年提出的,使用CSMA/CD(载波监听多路访问和冲突检测)技术,通常使用双绞线(UTP线缆)进行组网。包含标准以太网(10Mbit/s)、快速以太网(100Mbit/s)、千兆网(1Gbit/s)和10G以太网(10Gbit/s)。它们符合IEEE802.3。

图片

图2 传统以太网数据帧传输随时间分布图

    以太网采用串行方式传输数据,但是带宽由多个设备共享,这也是以太网的优势所在。但是所有的发送端没有基于时间的流量控制,采用尽力而为(BestEffort)的转发机制,即这些发送端永远只是尽最大可能发送数据帧(如图2所示)。如果来自不同设备的数据流在时间上产生重叠,就会发生冲突。由于所有数据流重叠/冲突的部分会遵循QoS优先机制进行转发,这就会造成在网络负载提升以后部分数据包被延迟很久转发甚至被丢弃。在IT行业里有个不成文的规定:当某个交换机的带宽占用率超过40%后就必须要扩容,目的是通过提高带宽来避免拥堵产生。

    以太网在发明之时并未考虑实时信息的传输问题。尽管我们可能熟知的广泛应用于视频会议系统、IP电话产业的实时流媒体协议(RTP)能够在一定程度上保证实时数据的传输,但由于网络传输路径的不确定性和设备处理的并发机制导致不能按顺序传送数据包来提供可靠的传输机制。如若需要排序,就需要设置缓冲区来处理数据。但是一旦采用缓冲机制就会引入新的问题—延迟。即当数据包在以太网中传输的时候从不考虑延时、排序和可靠交付。其最大的缺点是不确定性或称之为非实时性。这种不确定性导致传统以太网并不能满足准确定时通信的实时性要求,一直被视为“非确定性”的网络。

    尽管传统二层网络已经引入了优先级(Priority)机制,三层网络也已内置了服务质量(QoS)机制,仍然无法满足实时性数据的传输。此外,在传统以太网中,只有当现有的包都处理完后才会处理新到的包,即使是在Gbit/s的速率下也需要几百微秒甚至更多的延迟,满足不了车内应用的需求。更何况目前是Mbit/s的速率,延迟最多可能达上百毫秒,这肯定是无法接受的。传统以太网采用的是事件触发传输模式,在该模式下端系统可以随时访问网络,对于端系统的服务也是先到先服务。事件触发模式的一个明显的缺点是当几个端系统需要在同一传输媒介上同时进行数据通讯时,所产生的传输时延和时间抖动会累积。

    TSN诱因

    2011年,美国汽车工程师学会(SAE)以TTEthernet【下简称为TTE】为核心跨界推出了AS6802标准,为了和TTE有所区别,称之为Deterministic Ethernet或 Time-Triggered Ethernet。它是飞机航天领域内的以太网应用标准,也可在汽车上使用。它将时间触发传输的实时性、确定性、容错能力与传统以太网“尽最大努力”传输的灵活性、动态性等特点相结合,可支持不同类型的应用业务。

    TSN发展

    IEEE受到了在2011年AS6802标准的推出的刺激,之后于2012年将AVB任务组改名为TSN,其目标不仅在车载领域,还包括专业音视频领域、工业自动化领域、移动通信领域。TSN的主要支持者包括思科、英特尔、瑞萨、德国工业机器人巨头KUKA、三星哈曼、宝马、通用汽车、现代汽车、博世、博通、德州仪器、恩智浦、三菱电机、LG、Marvell、通用电气等。

    TSN是一系列标准,非常庞大,也非常灵活,可以按需求选择,不过对技术的要求较高,不易抉择。它从四个方面(时间同步、延迟、可靠性、资源管理)考虑扩展传统以太网标准,以满足不同系统在时效性方面的需求。

    后记

    TSN已不再只是一个理想化项目,而是已成为被行业组织认证的广泛使用的标准。从2019年年初的汉诺威工博会可略见TSN对于工业领域的重要性。其主题为“融合的工业——工业智能”,作为“工业智能”的基石,智能化技术和网络化技术自然成为本届工业展的重中之重,涉及的内容包含工业人工智能、协作机器人、数字孪生、工业互联网平台、数字物流等范畴。

    在这个通信领域大军浩浩已临5G元年城下的年度,工业4.0与5G + TSN的融合是近几年的重点。TSN时间敏感网络作为在工业领域融合信息技术(Information Technology,简称为IT)和运营技术(OperationTechnology,简称为OT)的重要桥梁,由其掀起的改造工业互联网IIoT底层架构的浪潮持续演进,相关进展尤为值得关注。

    TSN(Time-Sensitive Networking)协议导读

    TSN是一套协议标准,以保证确定性信息在标准以太网的不同场景下的顺利传输。TSN协议族本身具有很高的灵活性,用户可以根据应用的具体需求来选择相应的协议组合。

    TSN协议族包含了定时与同步、延时、可靠性、资源管理这四个类别的子协议,我们借用下图来简要叙述TSN各个子协议的作用和功能。

图片

    此部分仅包含一份协议,即IEEE STD 802.1AS(最新版本已于2020年6月发布),此协议包含两部分内容:定时与同步,这是实现确定性通信的重要机制,它具有以下特点:

  • 是IEEE 1588 PTP同步协议的Profile,支持不同的TSN器件实现同步兼容性

  • 为TSN网络中每个节点参与流量调度提供了时间基准

  • 此协议增加了对容错和多个Grand Master主时钟源的支持,使时钟同步系统具备更强的鲁棒性

  • 可以在主时钟源失效的情况下,无缝切换至冗余时钟源

    延时

    此部分通过定义不同的整形机制将数据流的延时限定在一定范围内,以此满足不同的低延时场景需求。在传统以太网中,数据流的通信延时是不确定的,由于这种不确定性,数据接收端通常需要预置大缓冲区来缓冲输出,但是这样会导致数据流,例如音视频流,缺失了实时方面的特性。

    TSN不仅要保证时间敏感据流的到达,同时也要保证这些数据流的低时延传输。

    通过优化控制时间敏感流和best-effort流、以及不同时间敏感流之间在网络中的传输过程,来保证对数据流的传输时间要求,这个优化控制的方式就是整形。

    802.1Qav

    此协议制定初衷是确保传统的异步以太网数据流不会干扰到AVB的实时数据流传输。现在Qav不再局限于音视频的传输。

    此协议规定了每类优先级的入口计量、优先级再生以及处理时间感知队列的算法(CBS,效果如下图)。

    其利用IEEE 802.1AS协议生成的定时信息,和VLAN优先级来隔离受控和非受控队列之间的帧,同时支持时间敏感流量在有线或无线局域网之间传输。

图片

    802.1Qch

    由于Qav中定义的CBS机制实现的仅是软实时级别机制,但网络传输路径拓扑的复杂和各种干扰会导致持续的延时增加,而最差延时情况与拓扑、跳数、交换机的缓冲都有相关性,802.1Qch(循环队列转发机制或蠕动整形)就是用于改善这些状况。

    通过同步控制入队和出队的策略,使得转发过程得以在一个周期内实现,以便使数据流经过交换机的时间更具确定性。

图片

    802.1Qch协议还定义了CQF(需与Qci协议配合使用),其中Qci标准会根据达到时间、速度、带宽,对Bridge节点输入的每个队列进行过滤和监管,用于保护带宽、增加对Burst流以及错误的处理。

    802.1Qbv

    流量调度是TSN的核心概念,根据时间同步协议802.1AS提供的全局时间基准,创建调度任务并将其分发给参与的网络器件。

    802.1Qbv定义了通过控制TSN交换机出口处闸门的开关来控制排队流量的机制,这些队列中的消息将在预设的时间窗口中进行传输。

    通常,在这些时间窗口内,其他队列的传输将被阻止,从而避免被调度流量被非调度流量阻塞,这样保证数据通过交换机的延迟是确定的。

图片

    802.1Qbu

    尽管Qbv的机制可以保护关键消息免受其他流量的干扰,但不一定能够实现最佳带宽使用和最小通讯延迟。如果这些因素对于需要传输的数据很重要,可以采用802.1Qbu + 802.3br所定义的帧抢占机制来保障。

    802.1Qbu协议中定义了中断标准以太网帧和巨型帧的传输,使高优先级帧优先通过的机制,同时可以恢复先前被中断的帧的传输。

    如下所示,通过缩减为干扰帧所设置的保护区域的大小、对干扰帧进行合理切片来达到目的。

图片

    802.1Qcr

    Qch和Qbv中设计的整形算法主要用于超低延时的数据,其高度依赖网络时间同步,以及在强制的周期中增强的包传输,但是对带宽的利用率并不高,因此有了Qcr(也叫ATS)用于异步流调度。

    通过此整形方式,Bridge和终端节点无需时间同步,可以更加高效的利用带宽传输混合周期和非周期数据流的应用。

    可靠性

    对数据传输实时性要求高的应用除了需要保证数据传输的时效性,同时也需要高可靠的数据传输机制以便应对Bridge节点失效、线路断路和外部攻击带来的各种问题,来确保功能安全和网络安全。

    802.1CB

    为了减少由于链路和节点失效对网络造成的影响,通过冗余消息以及在网络中设置冗余链路进行并行传输来提高可靠性。

    802.1Qca路径控制和预留标准定义了设置此类路径的方式,然后冗余管理机制将这些冗余消息组合在一起,以生成发送方至接收方的单个信息流。

图片

    802.1Qci

    802.1Qci为了防止网络故障影响或恶意攻击对网络造成的干扰,将故障隔离到网络中的特定区域。它工作于交换机的入口,通过各种约束来监管每个流的输入,以防止出站队列被非法帧淹没。

图片

    资源管理

    在TSN网络中,每一种实时应用都有特定的网络性能需求。

    使能TSN网络的某个特性是对可用的网络资源进行配置和管理的过程,其允许在同一网络中通过配置一系列TSN子协议,来合理分配网络路径上的资源,以确保它们能够按照预期正常运行。

    802.1Qat

    流预留协议(SRP)。它根据流的资源要求和可用的网络资源情况指定准入控制,保留资源并通告从数据源发送端至数据接收端之间的所有网络节点,确保指定流在整条传输路径上有充足的网络资源可用。

    802.1Qcc

    此协议为流预留协议(802.1Qat)的增强,包含对更多流的支持、可配置的流预留类与流、更完善的流特征识别、对高层流的支持、确定性流预留融合以及用于路由和预留的用户网络接口(UNI)。

802.1Qcc支持TSN网络调度的离线或在线配置。

    802.1Qcp

    YANG数据模型。其定义了基于统一建模语言(UML)的信息模型和YANG数据模型,该模型允许对Bridge节点进行配置和状态报告。

    它同时也定义了信息和数据模型之间的关系,协议中指定的其他管理功能以及IEEE Std 802.1AX和IEEE Std 802.1X的模型。

这篇关于TSN 时间敏感网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/826609

相关文章

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

详解Java中的敏感信息处理

《详解Java中的敏感信息处理》平时开发中常常会遇到像用户的手机号、姓名、身份证等敏感信息需要处理,这篇文章主要为大家整理了一些常用的方法,希望对大家有所帮助... 目录前后端传输AES 对称加密RSA 非对称加密混合加密数据库加密MD5 + Salt/SHA + SaltAES 加密平时开发中遇到像用户的