来源:TSNLAB 微信公众号
本文面向的读者:时间敏感网络TSN相关的研究、产品开发、方案设计等工作的从事者,或考虑使用TSN或相关网络新技术的用户。对TSN已有基础的了解和认识(更多TSN基础信息请参考作者的其它文章)。
---------------------------------------------
一、TSN的核心任务是解决网络传输时延的问题?
更准确的说法是,TSN的核心任务是解决网络中多种流量混合承载时,部分流量的时延有界的问题。
这里有三个关键词:
1.混合承载(融合承载)。如果不考虑混合承载,在两个终端设备之间,直连一根线用于通信,那就不会引入网络时延的不确定性。但是,这种方法需要部署大量线缆,带来总成本高、操作困难、线缆总重量大等问题。而如果用少量的大带宽的Ethernet网线、光纤等作为网络的“骨干”,来混合承载多种流量,优势显而易见。
下图呈现了AVB(音视频桥接网络,TSN前身)技术带来的变化。而车载网络(汽车内部的网络)、机载网络(飞机内部的网络)也都已经使用Ethernet构建一个大带宽的骨干网络,并引入TSN或类似TSN(AFDX)的机制。

2.部分流量。并不是所有业务的流量都对时延有要求,具体要求也各不相同。提供差异化服务是TSN的基本能力之一。
3.时延有界。即不论网络发生怎样的拥塞情况,都能保障特定流量的报文在网络中传输的时间不超过该业务所要求的特定值。这个是TSN中所谓“时间敏感”的核心。而时延尽可能的低,或者平均时延尽可能的低,这些都不是TSN的主要目标。
当然,TSN中也有专注于低时延、低抖动、高可靠性等技术方案。在此不做展开。
二、TSN是二层局域网技术?
首先,TSN是一个不断发展的技术族,里面包含多种多样的技术,以应对在不同场景、不同需求下构建解决方案。由于TSN的标准化主要是在IEEE 802.1工作组进行的,而该工作组的任务主要是定义二层网络桥接相关的协议标准(例如著名的VLAN标准,还有LLDP、RSTP、MSTP等,都源于IEEE 802.1),所以造成了“TSN是二层局域网技术”的误解。
回顾下第一个问题,TSN的核心是要做混合承载,具体到网络设备上,不同业务流量的不同报文,在网络设备中排队转发时所面临的调度问题,即谁先走、谁后走,是影响网络传输端到端时延的最重大因素。TSN设计了多种整形器机制,就是为了解决排队调度的问题。而我们常说的,局域网二层MAC转发,或者是三层IP转发,只是决定网络设备收到报文后,要把报文发到哪里去。如下图中的例子,报文a、b、c的转发机制刚好各不相同,但TSN的排队调度依然可以正常作用在这三个报文上。

总结一下。1. TSN技术,是标准二层Ethernet局域网技术的延伸;2. TSN定义的排队调度机制,可以正常服务于三层IP转发等各种其它场景。换个角度来讲,熟悉计算机网络的朋友一定知道,Ethernet帧里面封装IP报文那是再常见不过的事情了。而IETF的DetNet(确定性网络)工作组,和TSN也是配合关系,如基于TSN中的调度机制,构建确定性网络方案。
三、TSN门控给关键流量设计了开门时间?
对TSN有一定了解的朋友一定知道TSN有一套根据时间开关门的机制,以下我们就简称为TSN门控,或时间门控。开门时,报文可以通过;关门时则不可以。这样,能够更明确地规划好各个队列之间的调度关系。
但是,作者发现,很多朋友对TSN门控作为一个方案如何部署的认知上,有一个小小的偏差。正是这个小小的偏差,导致了业界对TSN的普遍误解:“TSN时间门控的编排很难”。
还记得第一问中提到的“部分流量”吧,我们简单的把网络中混合承载的流量分为关键流量和非关键流量。那么这里,作者希望用一句话,结合下面这张图,来纠正这个小小的认知偏差:“关键流量的队列什么时候开门不重要,非关键流量的队列在关键流量需要调度时关门很重要!”

如果您能理解这句话,那么恭喜,您对于TSN时间门控的认知,大抵已经达到TOP 10%的level了。在绝大多数场景下,我们并不需要绞尽脑汁给所有关键流量逐包的编排开门时间。
四、TSN就是一套通过时间门控来保障时延的技术?
前面提到过,TSN是一个技术族,里面有时延、资源管理、可靠性、时间同步等各种技术。可以说,时间门控是TSN技术中的“网红”。虽然上一问中我们也在讲门控,但TSN绝对不能等同于门控,原因有二。
其一,TSN的调度机制有很多,其中光是整形器就有三种。按其标准制定的时间顺序,分别是基于信用的整形器CBS、时间感知整形器(TAS,也就是门控)、异步流量整形器(ATS)。这些整形器还可以和绝对优先级调度、轮询调度等常用机制组合使用。一般来讲,时间门控的调度更适用于有规律周期特征的流量,而CBS、ATS更适用于规律性相对较弱、有突发特征的流量。当网络中混合承载这些流量时,则可以考虑用优先级等机制组合多种整形器来使用。
其二,合理的资源预留和管理是TSN方案能够实现保障时延有界的必要条件。也就是说,单独依靠时间门控或者各种调度机制,是不行的。必须要针对各流量的特征和需求,进行针对性的网络配置(资源预留),确保各种报文能够正确的进入为它设计好的队列,并按设计好的调度机制和其它报文进行排队的竞争。说白了,“网络要按约定服务好用户,用户也得按约定、不能乱来”。具体的资源管理方法,有集中式的(如使用网络控制器),有分布式的(如使用资源预留协议),这里不做展开。
五、TSN门控需要网络各节点之间配合,所以需要精准时间同步?
这么说不准确,原因有两方面。
其一,门控的核心是用到IEEE 802.1Qbv定义的整形器(TAS),而使用TAS的核心是配置时间门控表(GCL),随后,GCL就按照设备本地时钟周期性的为各队列执行开、关门的控制。即门控本身在TSN网络设备上的执行是不需要时间同步的。只不过一般意义上,大家认为TSN门控作为一个端到端方案,需要做好规划(scheduling),让网络上下游设备的开关门配置能够协同工作,给关键流量构建“特快通道”。
其二,在AVB时代,为了服务于专业音视频网络场景,确定了以CBS作为整形器、用SRP进行资源预留的方案,加之802.1AS的广义精准时间同步协议(gPTP)。这三个技术于是成为了TSN技术族里最早的三项。这里gPTP显然不是为了服务于TSN调度机制,因为CBS是一个类似于令牌桶的整形机制。gPTP是为了实现端侧设备的精准时间同步,这样端侧设备的发送端就可以通过在报文中夹带时间戳,在接收端上实现同步的音频视频播放。

更典型的,在工业中,如多轴同步运动控制是对控制精度要求非常高的一种场景。简单举例理解,就是要在同一时刻让设备A控制机械运动到位置a、让设备B控制机械运动到位置b。虽然控制器的指令是同时发出,但因为发包有先后之分、传输路径有长短之别、设备收到指令后到执行所花费的时间也受设备自身的周期任务调度的影响,最终很难保证机械A和B同时执行这次指令。而最简单合理的解决办法,就是通过精准的时间同步,保障设备A和B任务周期执行的边界(或者说相位)一致,这个边界对齐的误差轻轻松松可以达到ns级别。而由于一次任务周期常常在百微秒或毫秒级,此时网络只需要保障us或ms级别的有界时延,也就是在下一次周期开始前的一段时间把数据传到接收端,就可以了。
六、TSN产品和方案成本比较高?
在其它性能一致的前提下,一个通用的交换机的价格一定是小于等于一个支持TSN特性的交换机。但我们显然不能以此来论证TSN方案的成本高,这里至少还需要考虑以下三点:
其一,未来在同等性能下,TSN产品(不限于单硬件or各种形态的网络设备)的价格,一定普遍性的低于其它专用实时网络系统的产品价格。因为TSN依托于整个IP、ETH生态圈,而这个生态圈存量市场最大,产业链很成熟,标准生态很开放,在各国ICT顶尖专家多年的努力下其技术先进性也有足够的保障。工业现场总线的市场份额在不停的被工业以太网取代,就是一个例证:各种工业以太网技术大多可以使用通用的PHY芯片、通用的网线,多数也可以兼容通用的交换机。
其二,TSN提供的混合承载+时延有界的能力,会从减少线缆总量、降低布线难度、提供更灵活的端设备连接能力等多方面,为不同场景下的用户,带来成本与方案效率上的提升。
其三,并非所有TSN产品和应用场景都需要使用时间门控。如果说,时间门控是TSN技术上的皇冠明珠,基于时间门控可以构建A级的TSN方案,应对最严苛的场景;那么,TSN异步调度等技术,也可以组合成B级的TSN方案,性价比更高,并且可以应对更大规模和范围的、更通用的非严苛场景。