时间敏感网络关键技术与标准化现状
2020-03-31张弛,韩丽,杨宏
张 弛,韩 丽,杨 宏
(中国电子技术标准化研究院,北京 100007)
0 引言
随着智能制造、汽车工业等领域的不断发展,对数据传输的实时性和可靠性需求越来越大。然而在传统以太网中,网络带宽由不同终端设备共享。这些设备没有基于时间的流量控制,而是尽最大可能发送数据,极易造成网络拥塞,数据排队时间无法预计,甚至一部分数据会被丢弃。因此,传统以太网无法保证数据的确定性传输[1]。
时间敏感网络(time sensitive networking,TSN)是IEEE 802.1 TSN任务组基于以太网研发的一系列协议标准。TSN在以太网的基础上加入时钟同步、流量调度和网络配置等关键技术,为时间敏感型数据提供低时延、低时延抖动和低丢包率特性的传输服务[2]。
近年来,TSN技术的快速发展引起国内外相关组织和企业的重视,IEEE 802.1、ISO/IEC JTC1/SC6、IEC/TC65、Avnu联盟等标准组织均在积极开展相关的标准制定。TSN在音视频、汽车控制、工业控制等领域有着广泛的应用前景,尤其是在智能制造的互联互通方面被寄予厚望。
1 TSN标准发展现状
TSN是由IEEE 802.1工作组下TSN任务组开发的一套标准,ISO/IEC JTC1/SC6、Avnu联盟、IEC/TC65等标准组织均在积极开展相关的标准制定。
TSN系列标准的实施需要一些基础标准支撑[3],如下所示。
①IEEE Std 802.1Q-2018:Bridges and Bridged Networks(桥接和桥接网络)。
②IEEE Std 802.1AB-2016:Station and Media Access Control Connectivity Discovery (specifies the Link Layer Discovery Protocol (LLDP))(站点和媒体访问控制互联发现)。
③IEEE Std 802.1AS-2011:Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks(时钟同步)。
④IEEE Std 802.1AX-2014:Link Aggregation(链路聚合)。
⑤IEEE Std 802.1BA-2011:Audio Video Bridging (AVB) Systems(音视频桥接系统)。
⑥IEEE Std 802.1CB-2017:Frame Replication and Elimination for Reliability(可靠性的帧复制和消除)。
⑦IEEE Std 802.1CM-2018:Time-Sensitive Networking for Fronthaul(面向前向回传流的时间敏感网络)。
TSN TG已发布的标准如表1所示。
表1 TSN TG已发布的标准Tab.1 Published standards of TSN TG
2017年6月,IEC/TC65(工业过程测量控制和自动化)/SC65C(工业网络分委会)成立TSN项目组,与IEEE联合开展TSN国际标准《工业通信网络 行规 第6部分:基于IEEE 802.1和IEEE 802.3的时间敏感网络(TSN)行规》的制定。标准主要包括一致性测试、物理层和媒体访问控制速度、数据链路层、时钟同步、信息安全、性能指标等内容。
2 TSN关键技术
TSN具有三大关键技术:时钟同步、流量调度和网络配置。
2.1 时钟同步
TSN的流量调度是基于时隙的,因此时钟同步是TSN的基础。TSN的时钟同步是保证所有网络设备的的时钟一致,而不需要与自然界的时钟保持同步。IEEE 802.1AS-2011规定了TSN整个网络的时钟同步机制,提出了广义精确时间协议(general precision time protocol,gPTP)。gPTP是在IEEE 1588-2008的精确时间协议(precision time protocol,PTP)的基础上进行扩展,两者工作模式相同。首先介绍PTP,然后分析PTP与gPTP的不同点。
PTP能够使网络设备的时钟精度达到亚微秒级别[4]。PTP主要通过两个步骤同步系统中的时钟:①确定系统中的主从时钟结构;②进行系统时钟同步。
PTP时钟同步是整个网络的时钟以主父时钟(grandmaster clock)的时间为参考值进行同步。在整个网络中,主父时钟的时钟性能最好。IEEE 1588-2008[5]定义了最佳主时钟(best master clock,BMC)算法,用于比较系统中的时钟性能,从而选择主父时钟。时钟端口具有PTP_INITIALIZING、PTP_MASTER、PTP_SLAVE、PTP_DISABLEDAD等9种状态。当时钟上电后,首先广播Announce消息,Announce消息中包含时钟属性,同时侦听其他时钟发送的Announce消息。如果收到比它性能好的时钟的Announce消息,则端口状态调整为PTP_SLAVE,进入Slave状态,停止广播Announce消息;如果在一定时间内没有接收到更好的时钟发来的Announce消息,则设它为最优时钟,端口状态设为PTP_MASTER[6]。当最优时钟不具备作为时钟源的性能或退出系统时,BMC算法能够自动地在系统中重新选择一个最优时钟。最优时钟确定后,其他时钟利用双向多播通信方式与其上层主时钟进行同步。时钟消息传输过程如图1所示[7]。
图1 时钟消息传输过程图Fig.1 The process of clock messages transmission
假设时钟间的上下行链路是对称的,从时钟与主时钟的时间偏移设为toffset,传输时延设为tdelay。首先,主时钟发送同步报文(Sync)给从时钟,报文包含消息发送时间t1。从时钟接收同步报文后记录接收时间t2。由于同步报文中的t1是预计的发送时间,而不是真实的发送时间,因此主时钟继续发送跟随报文(Follow_Up),报文包含确定的同步报文发送时间t1。从时钟收到跟随报文后记录时间戳t1。此时,从时钟计算t2和t1的时间差,它是时间偏移和传输时延的和,即:
t2-t1=toffset+tdelay
(1)
因此,还需要计算从时钟和主时钟的传输时延。从时钟发送延迟请求报文(Delay_Req)至主时钟,并记录报文发送时间t3。主时钟收到Delay_Req后记录接收报文时间t4,并发送延迟应答报文(Delay_Resp)至从时钟,Delay_Resp内包含t4的时间戳。从时钟收到延迟应答报文后,计算传输时延。由于假设上下行链路对称,所以传输时延为:
(2)
最终可以得到时间偏移:
(3)
PTP是针对稳定和安全的网络环境所设计,适用于本地化、网络化的系统。因此,PTP设计简单,占用的网络和计算资源较少。与PTP相比,gPTP基于二层网络,能够对不同网络进行时钟同步。时钟类型更为简单,只有端节点和桥节点两种类型设备。
2.2 流量调度
IEEE 802.1Q-2014根据网络中数据流的类型和用途对其进行了优先级的划分,交换机端口可设置优先级队列。优先级高的数据流优先进入缓冲队列,从而保证时间敏感型数据的优先传输。但是,如果当前网络中已经有低优先级数据流在传输时,高优先级数据流只能在缓冲队列中排队缓冲,等待低优先级数据流传输完成,这样就无法满足时间敏感型数据的实时性要求。因此,IEEE 802.1Qbv-2015针对这一问题提出了门控制策略[8]。
门控制策略主要是在交换机的缓冲队列中增加了门结构。门的状态分为开和关两种,记录在门控制列表中。交换机通过改变门的状态,可以控制数据流的输出。它的基本思想是时分多址,将传输信道划分为多个重复的调度周期,在一个调度周期内,为不同类型数据流划分为多个时隙。IEEE 802.1Qbv-2015的工作机制如图2所示。
图2 IEEE 802.1Qbv-2015的工作机制Fig.2 Mechanism of IEEE 802.1Qbv-2015
从图2可以看出,一个周期被划分为2个时隙。时隙1只传输时间敏感型数据,时隙2传输其他数据。IEEE 802.1Qbv-2015要求网络中的交换机时钟同步,配置相同的调度表。这样,所有设备就知道哪个时间点可以传输时间敏感型数据。
但是这个策略有一个缺陷。当时隙2传输的数据帧过大时,无法在有限时间内传输完成。由于无法中断传输,就会占用下一个周期时隙1的时间,时间敏感型数据就会被延迟甚至无法传输。因此,IEEE 802.1Qbv-2015还提出了保护机制。在时隙2的后面增设一个保护带,在保护带内不可以发送新的数据,但是可以继续完成当前数据的传输。保护带的大小是最大帧的传输时间。
保护带虽然解决了时间敏感型数据不受其他数据影响这一问题,但是保护带过大会造成资源的浪费。因此IEEE 802.1Qbu-2016[9]提出了帧抢占策略。帧抢占策略的原理是暂停非时间敏感型数据的传输过程,转而传输时间敏感型数据;时间敏感型数据传输完成后,再继续传输非时间敏感型数据。帧抢占策略依据时延需求将数据流分为高优先级数据流和低优先级数据流。其中,低优先级数据流是可被抢占数据流。IEEE 802.1Qbu-2016工作机制如图3所示。
图3 IEEE 802.1Qbu-2016工作机制Fig.3 Mechanism of IEEE 802.1Qbu-2016
当链路中正在传输低优先级数据流,此时有高优先级数据流要传输时,会首先判断低优先级数据流是否可以被切片。如果允许被切片,则根据IEEE 802.3br-2016在适当的位置中断低优先级数据流的传输,并增添一个校验位,将已经传输完的部分作为一个数据帧。经过一个帧间间隔后开始传输高优先级数据流。传输完高优先级数据流后继续传输低优先级数据流的剩余部分,并在前面加上前导码,以便识别数据类型和进行数据流重组。通过实行帧抢占策略,保护带的长度可以减小切片的最大长度,从而减少了资源浪费。
2.3 网络配置
TSN需要对发送端、接收端和网络中的交换机进行配置,以便为时间敏感型数据提供预留带宽等服务。IEEE 802.1Qcc-2018[10提出了TSN的配置模型,包括全集中配置模型、全分布配置模型和集中网络/分布式用户配置模型。集中式用户配置(centralized user configuration,CUC),负责发送端和接收端的配置;集中式网络配置(centralized network configuration,CNC),负责TSN交换机的配置。全集中配置模型如图4所示。
图4 全集中配置模型Fig.4 Fully centralized model
TSN网络具体配置过程如下。
(1)CUC发现发送端和接收端。
(2)CUC创建TSN域。
(3)发送端和接收端把它们的流QoS需求发送给CUC。
(4)CUC把流QoS需求传送给CNC,使用User/Network配置接口协议(UNI协议)。
(5)CNC进行必要的计算,包括计算传输调度、确定数据路径等,使之满足QoS需求。
(6)CUC对反馈结果进行判断。
①如果TSN网络能够满足QoS需求,CUC配置发送端和接收端的数据流传输,CNC配置TSN交换机,发送端和接收端开始通信。
②如果TSN网络不能满足用户需求,则不开始通信。
CNC与TSN交换机之间使用远程网络管理协议。CNC通过协议发现物理拓扑,检索交换机容量,配置TSN特性。发送端和接收端没有远程网络控制协议。各端口门控列表等对象都是CNC通过网络管理协议进行配置的。
全集中配置模型应用范围最广,例如在工业领域,能够与OPC UA的Pub/Sub模型相对应,便于TSN与OPC UA的融合。全分布配置模型和集中网络/分布式用户配置模型如图5所示。
图5 配置模型Fig.5 Configuration model
3 结论
TSN通过时钟同步、流量调度和网络配置等关键技术,从本质上改变了传统以太网的不确定性,为时间敏感型应用提供低时延、高可靠的服务,有着广泛的应用场景,也是当前的研究热点。IEEE 802.1 TSN系列标准初步可以解决网络实时性的问题,但是每项关键技术还有很多可优化和需要改进的地方。在标准化方面,除了TSN关键技术之外,还可以考虑与传统以太网的适配、TSN交换机的技术要求和测试要求和与特定行业技术相融合。例如在工业领域中,TSN与OPC UA融合关键技术也是当前的研究热点。因此,要积极跟进TSN国际标准化工作进展,同时在国内开展TSN技术研究和相应的标准化工作。