时间触发以太网与时间敏感网络时钟同步失效对比分析

2023-10-14 02:56彭逸飞涂晓东王颢钢蒋体钢
电子科技大学学报 2023年5期
关键词:报文时钟概率

彭逸飞,涂晓东,许 都,王颢钢,谢 军,蒋体钢

(电子科技大学信息与通信工程学院 成都 611731)

确定性网络(deterministic networking, DN)技术是一类在承载多种混合流量的网络中控制并降低特定业务流端到端时延以及抖动的技术。它能给“时间敏感”业务提供确定性业务保证的能力,其基本特征主要包括:时钟同步、零拥塞数据丢失、可靠数据包交付等。时间触发以太网(timetriggered ethernet, TTE)和时间敏感网络(timesensitive networking, TSN)是两种代表性的DN 网络,其关键技术之一是建立可靠的网络时间同步。

SAE AS6802 时间同步协议[1]定义了时间触发以太网(TTE),满足了分布式综合化航电系统[2-3]的发展需求,并已经逐步在航空电子系统中得到应用。为了进一步满足分布式综合化的需求,保障混合关键网络中高安全的时间触发业务与其他业务隔离,构建支撑飞行控制系统和航电系统的机载统一通信网络,基于SAE AS6802 协议对系统可靠性影响的分析将变得尤为重要。

文献[4-5]已经通过形式化方法对AS6802 协议收敛性进行验证,文献[6]仅讨论了如何利用TTE 网络构建单一拜占庭失效场景下的应用层协议。文献[7-8]利用形式化方法对TTE 时钟精度进行证明。文献[9-10]研究了TTE 网络故障的仿真模拟方法,文献[11]研究了故障注入测试方法,但并未给出失效概率评估方法。虽然前人已经对TTE 网络有了一定的研究,但并未对协议失效场景进行系统分析,也未给出时间同步失效概率计算方法。

目前TSN 技术的研究主要活跃在车载网络和工业网络领域。文献[12]着重研究了车载时间敏感软件定义网络,将TSN 与软件定义网络(software define network, SDN)结合,研究结果表明,在较低的网络层上,自动控制流的可见性对于在整个网络基础设施中提供隔离和访问控制至关重要。文献[13-14]也在探索TSN 技术与边缘计算网络的结合方式。

TSN 网络采用IEEE Std802.1AS 协议中规定的算法实现时间同步。文献[15]使用Petri Net 技术对该协议进行了形式化验证,但并未考虑802.1AS的失效场景。文献[16]分别对无线以及工业场景无故障情况下运行该协议组成的多跳网络时钟精度等性能进行了评估。文献[17]探讨了几种在TSN网络中时间敏感流的可靠性保障机制。但均未给出可靠性理论评估方法。故目前802.1AS 时间同步缺乏针对各种失效场景下的系统性分析以及失效概率评估方法。

针对目前两种协议缺乏失效场景系统性分析和对比的问题,本文首先根据协议分析了时间同步过程以及造成时间同步失效的原因,在此基础上对比了两种协议的失效场景。再针对目前两种协议缺乏失效概率理论分析的问题,分别给出了失效概率的计算模型,并用模型进行失效概率对比,用OPNET 软件进行失效概率模拟。结果表明本文提出的模型计算结果与仿真结果一致。

1 AS6802 同步失效场景与故障概率评估模型

网络失效是指由于组件故障造成的网络的非正常运行。本文进一步将网络时钟同步失效进行定义。

定义 1 定义网络时钟同步失效为网络中未发生故障的设备数量不足以保障协议的正确运行,或者网络形成了多个相互独立的同步集团。

相关参数如表1 所示。

表1 关键参数含义说明

1.1 AS6802 同步过程与同步失效因素分析

AS6802 协议规定时间同步过程可分解为冷启动和稳定同步两个主要阶段,每个阶段均通过PCF帧(protocol control frame)交互实现,交互过程如图1 所示。

图1 协议交互模型

SM(synchronization master)和CM(compression master)为协议定义的两种协议实体。SM 协议实体通常运行在终端节点上,CM 协议实体通常运行在交换机上。通过协议交互模型可知,如果交互过程中PCF 帧发生了丢失、超时等异常,就存在导致系统无法正常进入同步状态,或者无法正常维持同步的风险。

其同步关键为协议中定义的时钟容错平均算法,即CM 设备会首先对每个轮次来自SM 的时间信息进行排序,其次选取位于序号居中的时间信息,取平均后作为本次修正的参考时钟。

根据该算法,结合协议运行流程[8],假设全局时钟基线为每次同步之前各个设备的本地时钟相对于tglobal存在偏差,假定各个设备相对于全局时钟基线的偏差为:

式中,tlocal,device代表设备device 的本地视图。

可以得到校正后的时钟值为:

式中,telapse为SM 完成一次时间同步算法后的观测点。需要说明的是,式(3)和式(4)形式上是一致的,这说明AS6802 时间同步算法组建的网络系统,各个设备的时钟均收敛到第k+1与 第n-k个设备的时钟平均值,这也体现了分布式时间同步算法无主时钟的特点。

结论1 通过式(3)和式(4)可得,对于共有n个 SM 设备的系统,在系统中有k个SM 设备故障,并且不考虑时钟偏移的情况下,不失一般性地假设各个SM 设备的PCF 帧的固化时刻按照设备编号递增排序,最终交换机与SM 设备时钟会保持一致,且时钟同步的最终值仅和落入窗内的第k+1和 第n-k个SM 设备的时钟有关。

1.2 AS6802 失效保障机制与失效模式转化

AS6802 协议定义了3 种失效保障机制。

1) 自检测对机制

Self-check pair 算法要求各个设备(包括交换机和端系统)需要对发送到链路的数据帧进行完整性检查与一致性检查。

每个设备将会包含两个独立运行的协议服务实体,正常情况下,这两个协议服务实体的动作应该保持一致。当两个协议实体不一致时,会阻止协议数据帧输出。

2) Central guardian 机制配合leaky bucket 机制

Central guardian 算法要求交换机对输入的数据帧进行时间完整性和数据完整性检查,对于不满足完整性要求的数据帧,交换机会将其丢弃。

Leaky Bucket 算法通常是用来限定流量占用的带宽,配合Central guardian 实现协议帧合理性检查:在确定性网络中拓扑通常是固定的,所以交换机可以检查是否接收到了异常来源的数据帧,或者某些来源的数据帧数量异常,同时利用leaky bucket 限定特定流量的带宽。

3) 集团检测机制

集团检测机制用于保证网络不会分裂成多个相互独立的同步集团。如图2 所示,该拓扑包含2 台CM 设备和4 台SM 设备,CM1、SM1、SM2设备的时钟在1:00±10 min 范围内,CM2、SM3、SM4 设备的时钟在3:00±10 min 范围内。CM1 检测到SM1、SM2 的信息落入窗中(图中CM1 窗口所示),由结论1 可知,CM1 本轮次的参考时间为(1:00+1:10)/2,即1:05,而SM3、SM4 的信息由于没有落入CM1 窗内,而不被CM1 使用,对于CM2类似。这样就使得网络形成了两个互不相干的时间同步集团。根据定义1,此时发生时间同步失效。

图2 网络形成多个不相交同步集团

为了处理这种失效,协议规定了集团检测算法,该算法本质为设备监视落入窗内的时间信息个数,当该信息数量低于集团检测阈值Q时(换句话来说如果有大部分时间信息均未落入窗内),设备就会认为自己当前处于小集团中,进而会选择进行重启或者冻结。集团检测的关键在于阈值Q的确定,下面给出确定方法。

结论2 根据结论1,在交换机不发生故障,且网络设备均开启失效保障机制的前提下,网络中SM 设备的数量为n≥2k,同步集团检测的阈值Q至少应为n-k。(其中k为发生故障的设备数量)。

证明:

1) 当Q<n-k时 ,意味着系统第n-k个SM 设备的时钟发生故障,这与结论1 矛盾。

2) 利用反证法,假定当 Q ≥n-k时,仍同时存在m个稳定同步的子系统,则应有:

则可推得:

由:

可得:

式中,m∈[2,n]。

所以,当m=2时,右边取最大值,故网络中SM 设备的数量为n≥2k,同步集团检测的阈值Q至少应为n-k。

如图2 所示,SM 总个数为4 个,此时应设置集团检测阈值为2。观察CM1,落入CM1 窗内的时钟信息数量为2,2=2 不满足 2 >Q,所以同步集团1 集团检测成功。同步集团2 同理。

根据定义1,当网络中有超过k个设备发生故障时,将无法满足AS6802 协议正常运行的要求,协议将无法维持当前网络的时钟同步服务,最终导致同步失效。

1.3 AS6802 协议失效概率评估模型

利用1.2 节中所述的故障保障机制,可以将构成TTE 网络中的任何一个运行AS6802 协议的设备看作为一个两状态组件(正常工作状态和失效状态)。TTE 网络最终是否能够正常同步则取决于当前网络中正常工作的设备数量与阈值的关系。事实上,此种TTE 网络的可以正常同步的概率取决于可用设备的数量。因此,AS6802 协议构建的时间同步网络是典型的k-out-of-n系统。k-out-of-n系统可采用二项分布进行建模[18],因此给出如下定理。

定理 1 在不考虑CM 发生故障的情况下,可以给出由n个设备组成的系统,由于k个SM 设备发生失效而导致网络同步故障概率为:

式中,R(t)如表1 定义为节点可靠性函数。

当网络规模较大时,对网络同步故障概率的求解将变得复杂,这主要是因为导致网络失效的排列组合数量急剧增多。考虑到一般情况下交换设备的故障率相较于端系统会低一个数量级,根据式(10)可以得出:

结论3 对于TTE 网络,随着网络规模变大,交换设备(CM)发生故障将成为导致网络故障的主要因素。(由于篇幅限制,本文将证明过程上传到Github,网址为https://github.com/YifeiPengEE/AS6802_IEEE8021AS)

进一步考虑实际情况,设备的失效通常小于10-3,所以本文对于k-out-of-n的求解进行如下简化。当 λ <10-2,且运行时间小于100 h 时,同步失效可近似为(由于篇幅限制,本文将证明过程上传到Github,网址为https://github.com/YifeiPengEE/AS6802_IEEE8021AS):

评估TTE 网络时间同步失效概率的算法如下。

该算法的输入包括节点、交换机的可靠度函数R(t), 网络的邻接矩阵G(v,e)以及网络中SM 的总数量n。算法输出为网络时钟同步失效概率函数fprob(t)。其中1~3 行为相关参数的初始化操作。第4 行调用 g et_tt_failcomp()函数,该函数用于根据结论2,获取当前网络拓扑下,所有可能造成时钟同步失效的设备失效集合。该算法遍历各种交换机失效场景。下面进行举例说明(其中深色为失效设备),如图3a 所示为正常网络,图3b 为系统中交换机未发生失效,此时根据结论2,则系统中至少存在4 个以上节点发生失效,才会导致系统时间同步失效,则此时失效情场景:{Node3,Node4,Node5,Node6}。图3c 所示为一台交换机失效场景示例,当SW1 发生失效后,意味着Node1 与Node2 也无法正常与其他节点通信,根据结论2,与SW2 连接的节点,至少存在2 个节点失效才会导致系统时间同步失效,则此时失效情况为:{SW1,Node3,Node4}。图3d 为在当前拓扑下,当SW1 与SW2均发生失效时,导致系统时间同步失效,则此时失效情况为: { SW1,SW2}。第4 行comb 变量就保存了这些会导致系统时间同步失效场景的可能集合。5~7 行为遍历comb 统计的所有失效场景,tteget_failprob()函数利用式(11)求解各种场景下的失效概率进行求和,该求和结果作为系统最终的失效概率。

图3 TTE 网络时钟同步失效组合示例

2 802.1AS 系统模型与可靠性评估模型

2.1 802.1AS 同步过程与同步失效因素分析

802.1AS 协议实现的同步过程同样也可以人为地划分为冷启动阶段和同步维持两个阶段。协议的正常运转通过如下3 类业务实现。

1)基于Announce 报文交互,实现的BMCA(best master clock algorithm)算法;

2)基于Sync 等报文交换,实现网络时间同步;

3)基于Pdelay 等报文交互,实现的频率和延时参数补偿;

图4 为802.1AS 协议流程。网络设备初始化后,首先Announce 报文获取对端设备的信息(包括同步优先级、时钟源等)。根据所获取的信息,按照BMCA 算法规定的比较规则,选出主从设备,生成全局时钟树。此后,端到端之间通过交互Pdelay 相关报文获取链路时延、端到端频率偏差等相关信息。同时主设备周期性地下发Sync 报文,用于更新从设备的时钟信息,进而实现周期性的时钟校准。

图4 协议交互模型

通过对协议流程的分析可以看出,如果协议数据帧发生了丢失或者报文发生了延时发送,就会对网络的时间同步造成影响,甚至会导致网络形成多个独立的同步集团。然而802.1AS 协议仅对超时事件给出了记录机制,并没有说明其他可靠性保障机制。所以可以给出如下失效模式。

2.2 802.1AS 失效处理机制与失效概率评估模型

首先需要说明802.1AS-2020 介绍了时钟树冗余策略,但是并没有给出多时钟树生成算法以及类似的时钟容错平均算法,所以本文暂不讨论。

802.1AS 对故障的处理机制可以简单理解为:发生超时后,BMCA 进行重新选举,进而形成新的时钟树。如图5 所示,假设某一时刻TSN1 发送的Sync 报文发生了故障,即承载在Sync 报文中的时间信息发生了突变(变大)。当TSN 设备2 接收到后,就会将自身的时钟修正到Sync 报文中指定的时刻。此外如果当前设备运行在立即转发模式(非锁步模式),则会将该错误的Sync 报文向下游设备传播。当TSN 节点2 依据Sync 报文中的时间信息修订本地时钟后,触发Announce 报文接收超时故障,进而导致该节点重新进入BMCA 算法的选举状态,下游节点类似。并且选举过程需要一定时间后才会稳定。

图5 故障处理机制说明

由此可以得出,虽然BMCA 算法拥有一定的能力可以使得系统从故障中恢复,但是仍然会引入抖动。并且BMCA 算法的自恢复能力是有限的,如果失效设备一致无法恢复,极端情况下有可能导致系统分裂成多个同步集团。

BMCA 算法本质是按照广度优先遍历的结果,以GM 节点为根节点,实现逐层同步。所以在不考虑恶意攻击的前提下,802.1AS 协议失效可以定义为至少一台非最下层交换机所连接叶节点设备发生故障的概率。

根据式(10),802.1AS 网络同步失效概率为:

式中,

P1表示网络所有设备均不发生故障的概率;P2表示仅边缘设备发生故障的概率。

对802.1AS 算法进行故障概率分析可以分为两个步骤,依据广度优先遍历算法求解网络时钟同步树,根据式(12)计算网络同步失效概率,具体算法如下。

该算法的输入包括节点、交换机的可靠度函数R(t), 网络的邻接矩阵G(v,e)。算法输出为网络时钟同步失效概率函数fprob(t)。其中第1 行为相关参数的初始化操作。第2 行根据802.1AS 标准给出的BMCA 算法求取当前时钟树,结果保存在bfs_result 中。第3 行 get_kleaf_cnt()函 数,依 据bfs_result结果,求取当前同步树的最下层叶子节点数量。第4 行tsnget_failprob()函数依据式(12)计算系统最终的失效概率。

3 仿真与分析

3.1 失效场景对比分析

对TTE、TSN 同步失效场景进行对比,如表2所示。当TTE 网络运行1.2 节所述的失效保障机制后,将大部分失效模式转化为静默失效。由于遗漏失效和崩溃失效对外特性与静默失效类似,即均为缺失部分数据帧,因此在3.2 节仿真中考虑将TTE 网络节点的故障模式设置为静默故障,即根据表1 节点都以1 -R(t)的概率发生静默失效。

表2 TTE、TSN 失效场景对比

对于TSN 网络,由于802.1AS 协议并未规定类似的失效保障机制,因此几乎每一种失效模式都有可能导致网络同步失效。因此3.2 节直接将TSN 网络节点的故障模式设置为时钟大幅度偏移,即根据表1 节点的同步时钟都以1 -R(t)的概率发生大幅度偏移。

3.2 失效概率对比分析

通过对比理论计算和OPNET 仿真的方式说明本文的故障概率计算算法的合理性。

图6a 和图6b 分别给出了本次采用的两种拓扑仿真[19]。其中实线连线为实际物理链路,SW 代表运行AS6802-CM 或运行802.1AS 协议的交换机,Node 代表运行AS6802-SM 或802.1AS 协议的端系统。这些端系统通常可以是摄像头、雷达、GPS等设备。

图6 OPNET 网络仿真拓扑

为了便于理解,当网络采用AS6802 协议时,仅观察拓扑中标记为SM/CM 的设备,如图6a 所示,此时Node1 运行AS6802-SM 协议,别名为SM1。SW1 运行AS6802-CM 协议,别名为CM1。当采用802.1AS 协议时,其中标记为GM 的设备为主时钟,如图6b 所示,各个设备均运行802.1AS协议,假定Node1 为当前拓扑下的802.1AS-GM设备(主节点),虚线箭头给出了BMCA 算法形成的时钟同步树,其他节点均为运行802.1AS 协议的普通节点。

表3 所示为本次对比试验所采用的参数设置,该参数设置与所选择的仿真拓扑无关,需要说明的是,上述Rdur持 续时间或 A STO超时时间均是指离散时间仿真器中的仿真时间,而非实际设备的运行时间。

表3 仿真参数说明

图7 和图8 分别展示了两种拓扑下AS6802、802.1AS 网络按照算法1 和算法2 理论计算和使用OPNET 进行150 000 次试验后取平均的结果。其中节点相关参数按照表1 进行设定,纵坐标代表失效概率,横坐标代表所模拟的系统运行时间。

图7 拓扑1 同步失效概率对比

图8 拓扑2 同步失效概率对比

对比理论计算结果曲线和OPNET 仿真结果曲线,失效概率偏差范围均在一个数量级。理论计算方法所获得曲线与仿真所得失效概率最大偏离不高于同一个数量级(如图中标注)。说明本文提出的时间同步协议故障概率量化估计模型与OPNET仿真实验得出的结果基本一致。理论计算与OPNET 仿真两种失效概率曲线存在偏差,主要原因是计算二项分布结果时对排列组合的计算进行了放缩与近似(由于篇幅限制,本文将证明过程上传到Github,网址为https://github.com/YifeiPengEE/AS6802_IEEE8021AS)。

4 结 束 语

失效模式作为协议的薄弱环节,在设计使用这两种协议组网的过程中需要重点考虑。本文针对两种协议提出的失效概率模型符合OPNET 失效概率仿真结果,可以为相关人员评估两种协议时间同步服务可靠性提供方法。此外,从本文的分析与仿真可看出,802.1AS 时间同步相对于AS6802 故障概率较高,未来可以通过改进同步机制,如采用分布式时钟容错算法等策略,提高时钟同步服务的可靠性,进而提高TSN 网络整体可靠性。此外,当前针对可靠性的量化评估采用的是k-out-of-n 系统基本可靠度模型,未来计划在评估精度与仿真性能方面,对比其他可靠度模型。

猜你喜欢
报文时钟概率
基于J1939 协议多包报文的时序研究及应用
第6讲 “统计与概率”复习精讲
第6讲 “统计与概率”复习精讲
别样的“时钟”
概率与统计(一)
概率与统计(二)
古代的时钟
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
有趣的时钟