0731-84728105
15116127200
OpenBox:软件定义时间敏感网络SD-TSN
发布时间:2021-05-18
      软件定义时间敏感网络:SD-TSN。融合了软件定义网络技术与时间敏感网络技术的综合系统网络。该网络既具备软件定义网络的组网灵活性、协议无关转发的高适应性、转发控制分离的高效性与可控性,同时又具有低延时、低抖动的时间敏感特性。通过软件流表与队列映射的灵活定义,极大放宽了全网流规划调度的难度,增强了TSN网络的适用范围和行业兼容性。
     TSN的时间敏感特征到底是谁的属性?毋庸置疑,这是业务的属性。TSN的技术标准起源于音视频行业,其核心特性要求是高实时和同步传输。为什么是高实时与同步传输这两个特性呢?因为这确实是属于现代多媒体业务发展的必然需求,比如说实况赛事直播。随着现代工业互联网的发展和生产规模的扩大及协同要求,TSN所提供的网络特性逐渐被工业界各行业所关注和吸引,特别是在IT与OT融合和5G技术的商用背景下,TSN技术的重要性越发变得明显。
     万物皆有宿命,技术在特定领域下所拥有的优势也必然成为它在适应其他领域的不足。我们深入研究技术的核心与本质,不迷信技术,善于结合技术的优势来解决业务的痛点。
      1.确定的网络需要确定的环境
     在当前时代与技术背景下,TSN确实变得很重要。但它并不是灵丹妙药,也不是万能解药。TSN技术的重要性主要体现在其技术规范要求的网络环境下,可以确保业务的分组数据以确定的延时和较小的抖动到达业务对端。TSN的核心特征是保证确定的延时(范围),可以规划出较小延时。抖动大小跟具体网络业务流量、调度策略相关。为保障上述特征,在TSN网络系统中网络环境的各种参数,如时间、流特征以及调度控制都是其正确运行的先决条件,确定因素。
     1.1 全局时间同步
     时钟同步比较好理解,就好比全中国都使用北京时间对自己的生产和生活进行安排参考。TSN网络运行的前提条件就是时间同步,只有所有节点全都同步到了一个全局的时钟刻度,才有可能为其进行业务流的规划,各流之间才不会碰撞。例如高铁网络,各个站点之间如果不都是基于北京时间来进行列车调度,肯定无法完成整个高铁网络的正确运转,甚至带来严重后果。时间同步是基于时间信息做规划调度的前期和基础。
     1.2 时间敏感流参数明确
     TSN对流的要求一是确定且固定的周期性;二是分组长度尽量固定;三是有可接受的延时与抖动指标。TSN网络只能保障时间敏感流的实时性和可靠性,其关键原因就是这些时间敏感流的业务特征是明确的,先知的。不具备周期性的流,调度程序无法为其做出无限期的门控规划。分组长度随机的流则只能按最坏情况(最大MTU)大小为其规划,造成该分组转发后的调度时隙资源的浪费,为其他更多流的规划带来限制和困难。延时和抖动本身就是时间敏感流自备的属性,同时也是做规划调度需要计算考虑的因素。
     只有这些流属性参数都明确,才能为其进行统一的规划调度。否则,流的周期不确定,或是分组长度随机,都将无法为其提供TSN流的服务,只能当作BE流来处理。
     1.3 全网统一规划调度
     TSN流一定是先规划调度再上线运行。在全局时钟同步和时间敏感流的各项属性参数都明确的条件下,可以准备做全网流量转发的规划调度,生成各节点各端口的门控列表。规划调度的输入参数非常多,求解过程也非常复杂。有无解或最优解生成取决于规划程序对完整系统的方方面面因素的考虑与算法的合理性。随着TSN流数量的增加、流周期的冲突增加和最小公倍数变大,规划调度的计算结果会程指数性变化,可能甚至无法求解。
     综上所述,TSN网络需要在全局同步在同一个时钟刻度基础上运行,所有时间敏感流需要具备明确的周期性、固定分组长度和可接受的延时与抖动值。
     2.行业需求与TSN要求之间的磨合
     TSN网络的时间特征优势与高带宽优势被许多使用传统总线的行业所关注,这些行业正在考虑向TSN网络转移,如车载网络、工业制造控制网络等。在我们对TSN业务调研中发现,大多数的客户应用场景中,只存在较少完全符合TSN特征要求的流,不管从数量上还是流量上来看,10%都不到,另外80%的流对实时都有要求,但并不完全符合TSN流的特征要求,特别是周期性。剩下的BE流数量不多,流量也不大。可能是想上TSN技术的行业考虑更多的主要还是有实时要求的业务,或是BE业务仍较庞大,依然保留现网的运营模式。
     2.1 流特征
     TSN整个网络系统的正确运行是基于所有数据IO与转发节点都同步在一个时钟基准上,并基于全局的时钟进行规划的统一调度,为每一条流都指定一个进入网络的时间槽位置。核心内容就是全网时钟同步和统一规划调度。那非周期性流是否可以当作TSN流使用呢?非固定长度分组是否也可以呢?答案是不确定的。首先,非周期性流的不确定性主要是看非周期性流产生的方式,如果是纯随机发生,也不存在产生的最小间隔,或者说可能的最小间隔非常小,那这样的流确实很难放进TSN网络进行规划。其次,非固定长度可以在规划时统一成最大长度进行规划。但是会造成一些实时调度时隙的空闲。若存在调度能接受的最小时间间隔和随机长度所带来的不稳定抖动,则可以考虑按照其最小间隔方式规划该流,其最大抖动会是该流的最小间隔长度加上系统抖动的最大值。若规划结果符合TSN流的预期则可以部署实施,若无法规划或最优解无法满足流的延时与抖动要求,则无法完成此类型流的规划部署要求。
     2.2 协议特征
     转移到TSN网络的行业场景里,存在大部分的总线节点,其传输协议并不是标准的以太网和IPv4等网络标准协议,更多的是一些专有协议,并不完全满足802.1Q规范。这些节点通常又需要实时性,是完成业务实时功能需求的必要组成。如何让这些节点能快速接入到TSN网络中是行业转网的一大挑战。可行的方案有很多,无非是从两边入手。要么让这些节点全部按照标准协议来转换,要么TSN网络能支持协议无关的转发。二者总要有一方妥协才能组合到一起正常工作。
     2.3 延时与抖动保障
     任何存在数据交互的行业应用对数据传输的要求都少不了低延时和低抖动。就TSN技术而言,Qch标准解决的是延时确定化,而Qbv是提供实现延时最小化的可能。在传统的BE网络,分组进入链路完全靠运气,凭借着一股执念终成正果的精神在网络空间横冲直撞。而在TSN网络中,所有的时间敏感流分组都要求按规划的时间槽进入,避免大家出现碰撞。换个技术词汇可以用时分网络来形容一下。在时分网络中,时间的规划是至关重要的。
     Qch以乒乓队列形式进行调度,其流的规划策略相对简单,流在每个节点至少等待一个调度周期,故其到达目标节点的时间是在固定范围之内的。这种调度方式固然实现确定延时,但无法有效降低延时,也不适应不同周期、延时和抖动差异化要求的混合业务调度。
     Qbv可以实现多个不同队列,每个队列可映射不同的TSN流进行转发。举个更为形象的例子,TSN网络就好比是多车道交通网络,每个分组为一辆小车。每辆车都会行驶在一条指定的车道上,在通过交叉路口的时候根据红绿信号灯通行。不同车道都有一个信号灯指示其可否通行。Qbv的调度跟上述模型基本一致,当我们规划某辆车在某条车道上行驶,规划好其进入车道的时间,行进到路口时,将其车道亮起绿灯,并且确保直至目的地的每个路口都在车辆到达时刻为绿灯,则该车辆将以最短时间通过该交通网络。这种开车体验只有与你在路口没亮交通信号灯也没有交通警察指挥(BE网络)的情况下开车对比后才能够得到。这么美好的开车体验是不是人人想要?整个交通网络都按照这种方式来控制信号灯是否可行?是不是可以一条道车开到终点?人工智能与自动驾驶技术的到来会加速这一可能,但并不是所有交通网络都会这样运行。回到TSN网络上,如果TSN的流很少,很明显可以比较容易做到这一点。但是随着TSN流的数量增加,其周期性、延时与抖动要求互不让步的情况下,这种规划调度的难度会越来越来大,甚至变得不可能。
     所以,在TSN网络系统中最难的事情既不是时钟同步、也不是Qbv调度,而是全系统TSN流的调度规划。特别是在现有TSN的规范标准和现有行业需求背景下,其灵活度、适应性和普适性是很难满足各行各业特有时间敏感需求的功能场景。
     宿命并非终点,命运是通往终点的过程。任何技术都是为了解决行业需求产生的,在具体行业场景下,技术能力必须适用本行业特征,支持行业特性的定义与定制。
     1.SDN是网络架构,TSN是网络属性
     在TSN技术规范定义的时候,SDN的概念刚刚兴起。SDN的出现,打破了对传统网络的管理与调度方式,其数控分离理念与流表定义的方式使得网络转发更具规划性与可控性。SDN是一种网络架构及管理层面的突破,是为了让网络数据平面更专注、控制平面更灵活。而TSN的时间敏感特征应该是网络分组的一个专有属性,是对网络流特征的一种规范和定义,参考其规范要求实现传输则可以满足时间敏感特性,与网络架构、拓扑组成以及分组转发方式等无关。其核心调度规划和门控输出其实也符合SDN思想,可以通过软件方式来灵活定义不同的门控数据以控制流的精确传输。
     2.将SDN架构网络赋予TSN属性
     从网络架构与功能特性上分析,将TSN的流特性加入到SDN网络中应该会是一个更好的网络解决方案。同时具备时间敏感特性和网络灵活定义,其应用范围与适应能力会得到更好的扩大和强化。
     结合目前行业需求与TSN规范中存在的问题,我们分析认为,网络的转发行为及方式需要由我们自己灵活定义,并且是可以为每个节点不同队列定义不同的行为与方式。TSN通过VLAN的优先级字段映射到不同调度队列,是属于类流调度。SDN的流表匹配及队列映射也可以实现将不同流映射到不同调度队列,这二者其实差异不大,无非是SDN的流表可以用更多元组字段表示,最终都是将流映射到了某个指定队列。但SDN的流表可以在不同交换机上设置不同的映射队列,错开某个产生碰撞的队列和时间。在复杂的调度规划中,部分交换机的流量可能会比较大,队列的不同时间槽会排得比较满,导致某些流按同一优先级队列调度输出可能产生碰撞。那么在延时和抖动允许的条件下,我们可以在适当节点为其换个队列,继续转发,以保证系统可以调度规划更多的流。SDN的灵活定义在此显得格外重要,当然,我们也可以通过SDN流表定义该流走网络中的另一条路径来躲避这种可能。SDN技术可以为全系统的流量调度规划带来更大、更多的可能性。
     3.软件定义更多可能
     软件定义时间敏感网络没有从根本上解除时间敏感网络流的本质要求,只是将其时间调度模型的条件限制变得更加宽松,适应范围变得更加广泛,以满足更多不同行业对时间敏感流的规划调度需求。同时再加上SDN的软件定义能力和网络综合管理配置功能,能极大的简化用户使用和管理网络的复杂度。如灵活自组网、协议无关转发、在线规划调度、增量规划调度、实时流路径迁移和交换节点热切换等等。
     TSN的时间敏感特性是属于业务的,业务数据的生产与消费通过TSN网络来联通。这从系统架构层对整个TSN网络提出的全实时的要求,主要包括业务数据的生产消费、数据在系统中的传递、接入TSN网络的网卡、中间的网络交换机等所有业务数据流经的每个环节。首先,端节点与交换机需要都支持全局时钟同步,端节点不仅是网卡还包括主机系统。即使主机系统不进行时钟同步,也需要实时感知网络的时钟刻度。其次,所有的业务流产生、传输都需要严格按照全网的规划调度进行。TSN流的规划是从网卡接入开始的,业务数据的产生和传输到网卡的时间则交给应用自己控制。应用精准控制的前提就需要实时感知网络时钟刻度和系统提供实时服务。
     1)实时应用
     TSN网络的业务都是实时应用,实时应用需要运行在实时系统之上,而且应用可以对网络全局时钟实时感知。实时业务流都需要通过全网规划调度后确定其准入网络的具体时间槽位置,流的调度起点从网卡开始。故业务需要将数据内容在其网卡调度时间槽位置时刻前送达网卡,以确保准时进入网络。业务流到网卡的时间主要由系统调度模型决定,非实时调度系统无法保障用户数据到达网卡时间的确定性。
     2)实时系统
     实时系统为实时应用提供实时数据IO服务,该服务不仅要求系统调度模型是实时,同时还需要包含实时网络协议栈、实时网络驱动等。实时调度系统可以提供较小抖动和较低延时的分组IO能力,不是完全时间确定的。实时系统还可以分为软实时系统和硬实时系统。通过与普通系统的实验测试发现,延时排名是:硬实时系统<普通系统<软实时系统。抖动排名是:硬实时系统<软实时系统<普通系统。根据用户对业务流延时和抖动的允许差值可以选择软实时系统或硬实时系统。允许误差范围较大的甚至也可以使用普通系统。若对延时与抖动要求极低,则可以考虑使用裸CPU运行实时应用或采用转用硬件实现业务功能。
     3)TSN网卡
     TSN网卡必须和其TSN网络中的时间主节点进行时钟同步,并提供实时的网络时刻给上层应用。网卡是实时流调度的起点,TSN流必须在其规划调度的确定时间槽位置发送进入网络。提前到达则会引发其他流的抖动,占用交换机缓冲区时间较长,影响交换机吞吐率。滞后到达影响更大。TSN的技术规范中有输入检查,判断数据输入的有效性与合法性,以确保整网的调度正常。
     4)TSN交换机
     TSN交换机是整个TSN网络的核心,各交换节点中必须有一台是时钟主节点,其他节点向主节点进行时钟同步。交换机的输入检查、队列映射、门控列表和调度方式也是其核心内容。Qbv是一种高灵活性的调度方式,适应不同周期性流的灵活映射与实时控制。
     5)网络控制器
     采用软件定义时间敏感网络的系统,其网络管理配置功能由SDN的控制器完成。为支持控制器对TSN交换机的门控等一系列参数的配置,需要扩展北向REST API接口、控制器支撑模块、南向协议支持规范等,满足对TSN特性的功能的配置。
     本文是作者结合多年SDN研究、TSN研究和客户需求分析交流的一些总结。受知识、经验和行业了解的限制,一些观点不一定都正确。行业调查数据及测试数据都只在特定行业和场景下获得。敬请理性看待。
     任何技术都有优缺点,在不同应用场景下其表现形式也不同。采用软硬件全可编程平台和软件定义方案只是能更多的适应场景变化,在不同场景应用下,其软硬件功能和定义方法也不尽相同,都只是为了更好的适应场景要求。
      好在这样的平台和方法可以支持各行业用户场景的编程和定义的要求。

关注FAST开源社区
FAST一一开源、开放、高速、高效、可编程、可定义!软硬件协同并行处理。