#创作挑战赛#

前言

我现在的方向是TSN,而TSN的前身是AVB。通过以下论文的阅读,包括ACM的《A Survey of Real-Time Ethernet Modeling and Design Methodologies: From AVB to TSN》和《Routing optimization of AVB streams in TSN networks》,以及亚历山大工程杂志的《A time-sensitive network scheduling algorithm based on improved ant colony optimization》和IEEE的《Ultra-Low Latency (ULL) Networks: The IEEE TSN and IETF DetNet Standards and Related 5G ULL Research》,以及我看了一本人民邮电出版社出版的《工业互联网网络技术与应用》,这本书中TSN的讲解部分很大程度借鉴了徐骁麟的《时间敏感网络技术及其在工业互联网中的应用》,我进一步加深了对于TSN传输数据过程的了解,并总结得出了其优点与可以改进的地方。

正文

像汽车里面的应用,它要求微妙级的响应时间来保证实时性,但AVB在7跳以上的端到端延迟达到了两毫秒,不适合硬实时系统。另外原先的AVB缺乏提高可靠性的容错机制以及针对实时关键系统的安全保护机制,因此进行了扩展,并改名为TSN。与AVB相比,TSN进一步强调了对时间敏感数据的硬实时要求,还增加了冗余功能,包括帧复制和帧消除、路径控制和保留能力,增加了流过滤和监控功能。另外,TSN通过不同领域的标准化同构操作,提高实时关键系统中不同设备的连接性和通用性。而AVB虽然扩展并重命名为TSN,但AVB仍在某些实时关键系统中使用。流同步中的通用精确时间协议gPTP、流量管理(包括流预留协议SRP、本地预留协议LRP、资源分配协议RAP)、流量控制(包括时间敏感流的转发和排队FQTSS、时间感知整形器TAS以及帧抢占、循环队列和转发CQF、、异步流量整形器ATS)以及流量完整(包括帧复制和帧消除、流过滤和管理、路径控制和保留)都为流传输的实时性提供了保障,下面将从以下几点展开讲解。

一、网络协议

首先看一下AVB和TSN在协议、模型、应用程序的角度的对比,可以看出TSN与AVB相比注重了可靠性和安全性、增强了时间同步,使得应用程序从软实时到硬实时的一个转变。

tsn参数优化(AVB与TSN基础知识及对比)(1)

再具体看一下各个协议的功能与对应性:

tsn参数优化(AVB与TSN基础知识及对比)(2)

AVB的三个协议都是对应实时性的,分别是802.1AS、Qav和Qat,也就是我们常说的通用精确时间协议gPTP、排队转发FQTSS和流保留协议SRP,其中FQTSS通过数据流处理和转发服务,比如基于信用值的整形器CBS、优先级和队列管理来保证低延迟。而TSN中的协议分为实时性、可靠性和安全性,保证实时性的协议有AS-REV、Qbv和Qbu,其中AS-REV主要是在原有的同步机制上扩充了冗余机制,而三个协议分别对应了时间同步、基于Qav的增强流调度和帧抢占;保证可靠性的有CB和Qca,分别对应帧复制和消除以及路径控制和预约;保证安全性的有Qci,对应了流过滤和监控。

二、时间同步

具有实时性要求的AVB和TSN消息必须满足端到端延迟,以确保系统的安全运行,在传输过程中,消息的端到端延迟主要受整形算法和不同类型的流量干扰,包括低优先级流量干扰、对等优先级流量干扰和高优先级流量干扰的影响。我们如果要分析端到端延迟的话,可以用模型检查和模拟仿真,但对于中型或大型网络来说效率较低。

数学分析比较实用,还不用大量时间进行数学建模,例如形式分析和网络演算解决了在不同干扰因素下AVB和TSN消息的WCD的计算问题。

(注:WCD:the maximum delay time for a message to be transmitted from the sending end to the receiving end along the transmission path (route).)

另外,从AVB到TSN的实时分析的基础是保证每个网络节点的时钟同步。因此首先要对时间同步有了解,才能通过时间同步模型建立端到端的分析延迟模型。

gPTP主要从两个方面实现网络节点的时间同步:(1)主时钟选择; (2)节点同步。

下图显示了时间同步模型及其同步过程。

tsn参数优化(AVB与TSN基础知识及对比)(3)

tsn参数优化(AVB与TSN基础知识及对比)(4)

主时钟选择方面,802.1AS通过定义最佳主时钟算法(BMCA)选择网络中的终端设备节点作为主时钟(即标准时钟),其他终端设备节点作为从时钟(即需要校对的时钟)来实现基于主时钟的网络同步。 BMCA 算法选择 E1 作为主时钟,E2 作为从时钟。节点同步方面,网络节点间的时钟同步精度主要受以下因素影响:节点间链路数据传输引起的链路延迟以及网桥在转发数据过程中消耗的时间(即停留时间)。可以看到,主时钟E1在t1时刻发送同步消息,B1在t2时刻接收该消息。随后,主时钟E1发送具有精确起始时间戳和校正字段的跟进消息,其中精确起始时间戳表示主时钟发送同步消息的时间(即t1 ),而校正字段表示本地时间和发送同步消息的主时钟之间的偏移。在接收到跟进消息之后,B1获得t1值,在t3发送延迟请求消息。在t4接收到消息后,主时钟E1发送带有t4值的延迟回复消息。接收到回复消息后,B1在t5转发同步消息。那么可以看到E1到B1的链路延迟是LD1,B1到E2之间的链路延迟是LD2,在B1中的停留时间是RT1。利用点对点时延法和链路对称,那么可以得到(1)式,校正字段则为RT1加上LD1,则E1在t6的主时钟时间为t1加上校正字段再加上LD2,那么E2的时钟偏移就是E1在t6的主时钟时间减去t6。

而TSN中的802.1AS-Rev在802.1AS同步原理的基础上增加了时钟冗余机制,包括支持多个时域的能力,以便在 GM 时钟出现故障时允许快速切换,并提高时间测量精度,以保证主时钟失效时的时间同步性能。TSN还通过支持包含时间信息t1的同步消息而不发送跟进消息来提供更精确的时钟同步机制。

另外,时间同步的一个可以研究的方面是,各个网络实体之间频繁定期交换定时信息可能会对控制平面造成压力并引起背压。时间同步导致的控制平面负载最终会影响 ULL 应用程序。集中式时间同步系统,例如,基于类似于软件定义网络 (SDN)的设计,仅在中央同步控制器和各个网络实体之间进行消息交换,可以帮助减轻控制平面的开销。然而,这种集中式同步方法可能会在时间同步过程中产生单点故障。对这些权衡的详细定量研究是未来研究的一个方向。

三、端到端延迟

讲完了时间同步,接着看一下端到端的延迟分析,之前提到,数学分析方法解决了不同干扰因素下WCD的计算问题,而数学分析方法主要是网络演算、形式化分析和轨迹法。基于以上方法,我们可以研究AVB网络中CBS对于流量传输的影响,也可以使用带宽分配策略来解决传输过程中各种类型流量的链路竞争,从而确保AVB网络中SR流量的端到端延迟。而对于TSN来说,形式化方法和网络演算则是比较主要的研究端到端延迟的方法。

四、实时调度

AVB和TSN中传输不同类型的消息,应该使用不同的算法来避免数据冲突,这样可以保证各种类型数据的服务质量(QoS)。再结合上路由优化,就可以达到数据流的确定性传输。主要有三种方法可以改进网络流量的实时传输,分别是调度算法、路由优化以及联合调度和路由。

调度算法方面,时间敏感性流的转发和队列FQTSS作用对象有两种流量,SR类和非SR类。SR类就是需要进行流预留的类别,非SR类为不需要进行流预留的类别。

FQTSS协议规定SR类流使用基于信用的流量整形算法,非SR类流使用严格优先级传输算法。对于SR类,AVB中定义了两类常见的标准SR流:A类和B类,也就是CBS 整形器将队列分成两个流量类别,A 类代表的是紧延迟界限和 B 类代表的是松延迟界限,SR_A的优先级大于SR_B再大于尽力而为BE流量,通过基于信用的整形器CBS整形,可以确保AVB网络中的传输延迟。

如图所示,流量的调度,对于不同队列的可传输帧,采用严格优先级队列SPQ调度算法,传输具有更高优先级的业务,而对于同一队列中的消息,采用先进先出策略进行调度。

tsn参数优化(AVB与TSN基础知识及对比)(5)

其中SR_A和SR_B的传输必须满足以下条件,在AVB网络中,没有比SR类型流量更高的消息传输,CBS规定只有信用值非负时,才会传输SR_A和SR_B消息,并且消息的信用值取决于带宽保证参数。

图中可以看到,当信用值非负时开始传输,信息传输时,信用值随着发送斜率的增加而降低;当队列中的消息等待传输时,信用值将会随着空闲斜率而增加;当信用值为正值并且队列中没有等待传输的消息,信用值重置为0。

使用仿真工具OMNET 比较调度方法CBS、SPQ、FIFO对调度流WCD的影响,发现FIFO的延迟最长,SPQ调度中出现低优先级流量长期处于饥饿状态,而与SPQ调度算法相比,CBS通过为低优先级流量提供可用的传输时隙来解决SPQ饥饿问题。虽然带有 CBS 的 IEEE 802.1Qav FQTSS 非常适合软实时约束,例如 A/V 流量,但现有的 FQTSS 仍然存在一些缺点,包括:i ) 病态拓扑可能导致延迟增加,以及ii ) 最坏情况延迟取决于拓扑,不仅取决于跳数,因此交换机中的缓冲区需求也取决于拓扑。为了解决 CBS 的缺点,TSN TG 引入了其他标准,例如 IEEE 802.1Qbv、802.1Qch 和 802.1Qcr。

作为对 IEEE 802.1Qav 缺点的回应,TSN 任务组提出了一种新的流量整形器,即 IEEE 802.1Qbv 时间感知整形器 (TAS) 以及 IEEE 802.1Qbu 帧抢占技术来提供细粒度的 QoS ,并引入了循环队列和转发 (CQF) ,也称为蠕动整形器 (PS),作为同步入队和出队操作的方法。同步操作有效地允许 LAN 网桥以循环方式同步其帧传输,实现零拥塞损失和有限延迟,独立于网络拓扑。在TSN中,时间感知整形器TAS来满足CT消息的硬实时传输要求,该整形器为每个输出端口的每个队列分配门控制列表GCL,而流量的传输也是由具有多个门控制条目 (GCE) 的GCL控制,这些GCE确定打开哪些软件队列。

GCL 通过 802.1AS 时间参考在时间上同步。GCL 以周期性重复的循环时间执行,其中每个循环时间包含一个 GCL 执行。在一个循环时间内,门打开的时间段称为时间感知流量窗口。

tsn参数优化(AVB与TSN基础知识及对比)(6)

如图所示,根据GCL和传输选择决策来传输帧。输出端口有八个队列,优先级从零到七。根据帧的优先级码点PCP,选择消息帧进入相应的转发队列。其中PCP包含在IEEE 802.1Q的帧头中,是一个三位字段,支持八种优先级不同的流量。每个单独的软件队列都有自己的传输选择算法,例如,严格优先级排队(这是默认设置)。IEEE 802.1Qbv 选择在:(i)队列包含准备好传输的帧,(ii)具有开放门的更高优先级流量类队列没有要传输的帧,并且(iii)帧传输可以在给定队列的门关闭之前完成 时传输。

而对于不同队列中的消息帧,使用不同的调度算法进行传输和转发。研究人员提出了不同的方法来分析和优化GCL,如整数线性规划ILP、启发式算法、可满足性模理论SMT和优化模理论OMT等,还可以根据基于贪婪随机自适应搜索过程GRASP的GCL优化方法,以减少AVB流的WCD,同时确保TT流可调度,或者通过SMT和OMT求解器确定帧分配的队列以满足可调度性约束,还可以通过将其映射到运筹学的无等待作业车间调度问题,考虑到保护带造成的带宽浪费,利用禁忌搜索算法来实现时间敏感流调度;另外,考虑到优化路由,可以使用k条最短路径KSP算法减少搜索空间,并根据成本函数来评估每个解决方案,最后通过基于贪婪随机自适应搜索过程GRASP的启发式算法获得最优解;另外还可以使用改进的蚁群优化IACO来最小化路由的路径长度。

接下来看一下具体的实现,对于CT流,TAS通过为每个输出端口的每个队列指定GCL来实现调度,如图所示,在该队列中,门打开时可以传输数据,用o表示;门关闭时,数据等待传输,用c表示。在CT流传输的时候会关闭其他队列门来确保CT在传输期间不受其他流量的干扰。那么AVB流的idleSlope的值因为引入TAS而改变成下面这个式子:

tsn参数优化(AVB与TSN基础知识及对比)(7)

也就是流量相关的队列使用的实际带宽乘上选通周期时间再除以该队列在选通周期打开的时间。当AVB流量的队列门关闭时,信用值保持不变。

另外TAS在CT传输前引入了保护带机制,图中灰色的地方就是保护带。经过考虑,保护带的长度被设置为网络中可存的最大以太网帧的转发时长,由于引入了保护带,单个时间片内可用的时间减少了一个保护带的长度,我们可以看到,保护带机制会造成带宽的浪费,所以Qbu和Br协议提供了帧抢占机制。

该协议通过修改前导码将正常的以太网帧分为两类:EMAC高优先级帧和PMAC低优先级帧。通过高优先级帧可以打断正在发送的低优先级帧这一特性,减少高优先级帧的等待时间。

tsn参数优化(AVB与TSN基础知识及对比)(8)

如图所示,支持帧抢占机制的出端口提供两个MAC端口,分别是可抢占MAC(pMAC)和快速MAC(eMAC)服务接口。CT帧是高优先级帧,使用eMAC接口,其状态值是Express;AVB帧和BE帧是低优先级帧,使用PMAC服务接口,它们的状态值是可抢占的。此外,由于帧的最小传输长度是64字节,因此帧的最终传输大小不能小于64字节,也就是说,当帧传输时的剩余部分小于64字节时,帧不能被抢占。

除了帧抢占机制外,还有一个方法可以缓解保护带的带宽损失,Qbv有一个长度感知调度机制,当时用存储转发交换时使用此机制,在需要有效保护带的端口完全接收需要传输的以太网帧后,调度程序将检查帧的总长度。如果该帧可以完全装入保护带中,而不侵犯下面的有优先级片,那么尽管保护带处于启用转台,调度程序依然可以发送此帧。当然,这种机制不能在启用直通交换时使用,因为以太网帧的总长度需要预先被得知。

五、可靠性

实时关键系统不仅需要网络的实时性能,还需要网络的可靠性。冗余机制可以提高网络的可靠性。AVB没有这个机制,为了提高系统的可靠性,TSN提出了容错协议,也就是802.1CB和Qca,该协议通过在不相交的路径并行传输网络中的冗余副本来提高可靠性,包括信息冗余也就是帧副本和链路冗余即多路径来提高可靠性。802.1CB提供冗余数据传输机制,分为两个步骤来实现,即帧复制和帧消除。

tsn参数优化(AVB与TSN基础知识及对比)(9)

如图所示,通过E1处的序列生成功能SGF队帧f1进行复制,生成的f1.1和f1具有相同的序列号;帧f1和复制帧f1.1分别通过r1和r1.1,也就是不同的路径传输到E2。通过E2处的序列恢复功能SRF识别出f1和f1.1具有相同SN,从而消除重复帧f1.1。如果帧f1在传输过程中丢失,则复制帧f1.1被传输到E2,从而保证系统的正常运行。可以看到,冗余副本在网络中以不相交的路径并行传输;其中802.1Qca的贡献是通过结合中间站到中间站(IS-IS)协议和最短路径路由(SPR)方法来计算数据传输路径。当r1发生故障时,E1中的帧可以通过路径r1.1传输到E2,从而实现无缝冗余,提高网络可靠性。

六、安全性

IT和OT的继承使得系统与外部环境频繁交互,增加了受攻击的风险。AVB缺乏安全机制,TSN提出了802.1Qci为到达网桥内端口的消息提供流过滤和监控功能,以防止流量过载,这个过程发生在数据流到达网桥的入端口后,在流到出端口之前。

流过滤和监控功能的数据处理过程主要靠以下组件支持:流过滤器,流门和流表,这些组件都有一个对应的参数实例表,如图所示,流过滤器实例表是由多个流过滤器组成的有序列表,进入流过滤器的流被分配流门和流表,以实现流量监控。

tsn参数优化(AVB与TSN基础知识及对比)(10)

对于流过滤器,根据流过滤器中的流ID和优先级参数,将传入帧和相应的流过滤器匹配,并且丢弃与流过滤器不匹配的帧,如果进入流过滤器的流超过了定义的服务数据单元SDU,那么它也会被丢弃。

对于流门,根据门的状态按顺序发送过滤后的帧,门打开时允许通过,而门关闭时不允许帧通过,如果帧没有在正确的时间窗口内按时传输,那么在门关闭时,帧也将被丢弃。

对于流表,通过门的流量由流量过滤器指定的流表监控,流分类规则基于帧的参数,例如目的地MAC地址,源MAC地址,优先级等识别具有相同转发和计量过程的流集合,这些流集合则会使用相同的流表。

流表实例包括提交的信息速率、过量信息速率等参数,这些依赖于带宽配置文件的参数设置流的带宽和突发大小,以此监控数据流,而不满足带宽分配和流量大小的流将会配丢弃,以此Qci可以解决网络攻击和流量过载问题,例如流过滤和监控功能可以通过限制传输带宽来控制数据流,这样的话就能提高发送DDOS网络攻击时的网络安全性。

七、问题

此外,关于《超低延迟 (ULL) 网络:IEEE TSN 和 IETF DetNet 标准及相关 5G ULL 研究》有个问题,里面提到FQTSS最坏情况延迟不仅取决于跳数,还取决于拓扑,因此交换机中的缓冲区需求也取决于拓扑。TSN TG引入了循环队列和转发 (CQF)作为同步入队和出队操作的方法。这个同步操作让LAN 网桥以循环方式同步其帧传输,实现零拥塞损失和有限延迟,独立于网络拓扑。网络拓扑指的是构成网络的成员间特定的物理的即真实的、或者逻辑的即虚拟的排列方式,那么为什么说FQTSS延迟与拓扑相关,而CQF的延迟与拓扑无关呢?怎样对比看待这两者?

————————————————

版权声明:本文为CSDN博主「中二罢了」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/hao_shujing/article/details/127390395

,