前言

上一个主题我们介绍了TSN的发展历史和协议族现状,它为建立统一的确定性网络传输基础设施提供了有力保障。

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中相对成熟的子协议进行了解释。更多相关内容,欢迎大家与我们进行探讨交流,后续我们也将分享更多相关技术干货,敬请关注!

TSN(Time-Sensitive Networking)协议导读的更多相关文章

  1. 时间同步——TSN协议802.1AS介绍

    前言之前的主题TSN的发展历史和协议族现状介绍了TSN技术的缘起,最近一期的主题TSN协议导读从定时与同步.延时.可靠性.资源管理四个方面,帮助大家了解TSN协议族包含哪些子协议,以及这些子协议的作用 ...

  2. 【转载】TSN简介及相关资源

    原文:https://blog.csdn.net/u012692537/article/details/86188392 一.简介 1.1 什么是TSN TSN(Time Sensitive Netw ...

  3. 下一代工业通信—TSN(时间敏感网络),工业物联网的助推器

    随着工业物联网(IIoT)的兴起和工业4.0的提出,越来越多的设计师.工程师和最终用户关注TSN(Time-Sensitive Networking,时间敏感网络).TSN为以太网提供确定性性能,本质 ...

  4. 【转载】传统以太网和时间敏感网络TSN的区别

    转载连接:http://www.proav-china.com/News/16800.html ——Biamp亚太区高级工程师   Kane Zhang [专业视听网报道]:[摘要]AVB-Audio ...

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

    前言 随着工业物联网(IIoT)的兴起和工业4.0的提出,越来越多的设计师.工程师和最终用户关注时间敏感网络(Time-Sensitive Networking,下简称为TSN).TSN为以太网提供确 ...

  6. TSN(时间敏感网络)测试、仿真、分析平台应用攻略

    前言 在汽车领域,近几年车内网络通讯方式的变革诉求,期望能够有更高的数据传输速率,以及保证实时性的通讯方式引入.例如对于ADAS而言,传统的CAN总线已经远远不能满足其对通讯的要求,而基于车载以太网的 ...

  7. A-论文一些好的句子

    Using our techniques, task set transformation is performed by modifying the parameters related to ea ...

  8. 车载以太网第二弹|测试之实锤-AVB测试实践

    背景 AVB(Audio Video Bridging)音视频桥接,是由IEEE 802.1标准委员会的IEEE AVB任务组制定的一组技术标准,包括精确时钟同步.带宽预留和流量调度等协议规范,用于构 ...

  9. 非常不错的LTE架构讲解

    <LTE系统协议架构---通俗易懂超经典> <3GPP协议导读> <3GPP协议36211-850中文翻译> <LTE全套协议汇总> <NB-IO ...

随机推荐

  1. request模块做post请求时,body为json格式,并且带有中文,如何请求

    后台接口只能解析json,并且一定要是中文才能解析出来,如果是unicode编码的中文则会报错 看requests的源码.以下为解决方法: #将requests库中的models.py文件中的第461 ...

  2. 你真的懂Redis的5种基本数据结构吗?

    摘要: 你真的懂Redis的5种基本数据结构吗?这些知识点或许你还需要看看. 本文分享自华为云社区<你真的懂Redis的5种基本数据结构吗?这些知识点或许你还需要看看>,作者:李子捌. 一 ...

  3. [atARC100F]Colorful Sequences

    考虑求任意序列中$a$出现次数之和减去不合法序列中$a$出现次数之和,前者即为$(n-m+1)k^{n-m}$(一个序列重复次数恰好为$a$出现次数),对于后者,先忽略$a$的次数,即统计有多少个不合 ...

  4. *(volatile unsigned int *)的理解

    1. 解释 前面是无符号整型unsigned int的指针, 后面加一个地址,就是无符号整型的地址,前面又一个星号就是这个地址的值. 2.volatile 同步 因为同一个东西可能在不同的存储介质中有 ...

  5. .NET 开源免费图表组件库,Winform,WPF 通用

    大家好, 我是等天黑, 今天给大家介绍一个功能完善, 性能强悍的图表组件库 ScottPlot, 当我第一次在 github 上看到这个库, 我看不懂,但我大受震撼, 这么好的项目当然要分享出来了. ...

  6. bootstrap导入报错

  7. pyinstaller进行打包exe文件

    百度直接pip安装,报错 下载离线文件报错. 百度了一下:还真好使 Python生成可执行文件主要有三种方法,利用py2exe,pyInstaller或cx_Freeze. 这里选择pyinstall ...

  8. layui页面操作,点击一个添加页面,跳转有确定,然后点击确定后将选择的几个数据返回前一个页面获取值,然后ajax请求后台

    custUserIndex.html [添加页面代码] <!DOCTYPE html> <html> <head> <meta charset="u ...

  9. 基于Docker搭建Maven私服Nexus,Nexus详解

    备注:首先在linux环境安装Java环境和Docker,私服需要的服务器性能和硬盘存储要高一点,内存不足可能到时启动失败,这里以4核8GLinux服务器做演示 一:基于Docker安装nexus3 ...

  10. 【POJ1845】Sumdiv【算数基本定理 + 逆元】

    描述 Consider two natural numbers A and B. Let S be the sum of all natural divisors of A^B. Determine ...