航天用时间触发网络系统同步性的故障分析*

2022-06-11 01:45田文波王冠雄
飞控与探测 2022年2期
关键词:以太网交换机传输

赵 梦,田文波,罗 宇,王冠雄,刘 强

(1.上海航天电子技术研究所·上海·201109;2.中国航天科技集团有限公司第八研究院 智能计算技术重点实验室·上海·201109)

0 引 言

在航空航天和汽车等安全性至关重要的行业中,需要在设备间使用高度可靠的通信。由于这些行业对于实时性、可靠性和容错性提出的更高要求,确定性网络如时间触发以太网(Time-Triggered Ethernet,TTEthernet)、精确时间协议(Precision Time Protocol,PTP)、FlexRay总线、时间触发总线(Time-Triggered CAN,TTCAN)、SAFEbus、时间触发协议/ A类(Time Triggered Protocol/class A,TTP/A)得到了广泛的应用。尤其在航天电子设备朝着模块化、综合化和标准化的方向发展,星载信息量、综合化程度不断提升的过程中,网络中高质量的同步保证了可靠的确定性通信,因此提高接入以太网的设备之间正确的同步性是非常重要的。

TTEthernet是从航空电子全双工交换式以太网(Avionics Full Duplex Switched Ethernet,AFDX)改进而来的,用于工业和航空电子应用的时间关键型网络。它由SAE AS6802标准化,时间触发以太网运行在OSI第2层,与标准以太网完全兼容。通过使用混合基础设施支持时间触发(Time-Triggered,TT)、速率约束(Rate-Constrained,RC)和尽力而为(Best-Effort,BE)业务,从而满足严格的定时传输要求。其主要特点是基于全局同步的离线调度表的时间触发通信模式。在TT报文准备就绪且RC报文已经传输的情况下,采用抢占、及时阻塞和打乱次序三种集成方法解决冲突。它还支持不同流量类别的虚拟分离,包括确定性和非确定性通信方式。时间触发以太网络的核心设备是集成不同流量类别数据流的交换机。而由关键应用程序生成的流量(以可预测的、确定性的方式传输)相对于非关键消息(以非确定性的方式传输)总是具有更高的优先级。确定性通信在延迟和可靠性方面有非常严格的要求,只有当观察到的链路没有被确定性通信流占用时,非确定性消息才会被传输。

在航天领域,时间触发以太网络用于解决各有效载荷、航天器平台等相对独立的计算机之间,以及计算机内部各模块之间,高精度时基相对独立造成整体上的全局时钟偏差,进而导致共用信息不能精准到达的需求问题。时间触发以太网络架构设计在载人航天领域需要高安全关键等级的网络系统,因此设计要求使用冗余配置增强航天器内计算节点容忍故障的能力。

在对可以兼容标准以太网的SEA AS6802同步协议分析之后,本文重点探究了时间触发以太网络中可能出现的几种异常情况及其对整个网络的启动时间产生的负面影响。一个或一系列协议控制帧(Protocol Control Frames,PCF),包括冷启动帧(Coldstart Frames,CS)、冷启动应答帧(Coldstart Acknowledge Frames,CA)、集成帧(Integration Frames,IN),从有故障的压缩主机(Compression Master,CM)传输到同步主机(Synchronization Master,SM),会增加SM正常的启动时间,在关键时刻发送PCF可以逐步增加启动时间。

1 可容错TTE网络的硬件架构和仿真模型

本节描述了航天用可容错的时间同步网络的系统硬件架构和仿真模型的拓扑结构,航天领域工程应用中采用冗余备份的星型硬件架构如图1所示。这种双冗余式的硬件架构借鉴自VITA78 SpaceVPX标准中典型的双星拓扑交换结构,其中的冗余容错技术可以尽可能满足空间电子系统对于高可靠性应用的要求。功能方面在普通以太网互连的基础上,还增加了时间同步和时间触发。此网络每个节点都有2个以太网接口,分别连接在2个交换节点上,互为备份关系。一部分节点连接在交换1A/1B上,另一部分节点连接在2A/2B上。压缩主机CM节点作为模块嵌入支持时间触发功能的交换机,和各个同步主机SM一起完成网络的同步。而仿真模型仿照硬件架构搭建,由于本次讨论需要探究故障CM对整个系统从上电到达一个稳定的同步状态所消耗的冷启动时间的影响,因此选取终端系统sm4和其中一个故障的压缩主机CM-sw1连接,如图2所示,此时sm4的状态变化会受到故障CM-sw1的直接影响,如图3所示。

图1 TTE系统硬件架构Fig.1 TTE system hardware architecture

图2 TTE系统仿真模型Fig.2 TTE system simulation model

图3 sm4接收到出错的CM发送CS帧后的启动时间Fig.3 sm4’s start-time after receives CS frame sent by faulty CM

整个时间同步网络采用分布式的时钟部署方式,每个系统都有自己的时钟,而整个系统没有主时钟的概念。基于时间触发以太网的同步服务系统能够以固定延迟和微秒级别的抖动同步通信。这些服务的核心是为了使分布式网络的终端系统和交换机中本地时钟同步起来,形成一个全局时钟。

2 故障情境下时间触发网络启动时间的仿真评估

2.1 故障模型概述

时间触发以太网的设计可以支持单故障和双故障假设。本文只关注单一故障对于设计的时间触发以太网络系统同步性的影响,在单故障假设下,时间触发以太网的目的是容忍终端系统的随机故障或交换机的不一致遗漏故障。时间触发以太网交换机可以配置具有执行保护中央总线的功能,该功能可实现即使一组终端系统发生任意故障,也可以将随机故障模式转换为不一致的遗漏故障模式。特别考虑单一故障的原因是受空间辐射恶劣环境的影响,航天电子系统中存储电路等极易发生位翻转故障,因此采取冗余设计以及故障管理算法等进行故障诊断和隔离,从而达到吸收故障或者隔离故障的效果,使得某一模块或者系统的故障不会蔓延至其他模块或系统,由此单一故障发生的概率远大于多故障的概率。

本节讨论在上述单故障模型下,网络异常可能对TTEthernet启动时间产生的负面影响。图3所示为SM的启动/重启过程状态机,其中SM_INTEGRATE,SM_UNSYNC,SM_FLOOD,SM_WAIT_4_CYCLE_START_CS是4个非同步状态,剩余的3个状态SM_TENTATIVE,SM_SYNC,SM_STABLE为同步状态。网络的启动时间是指在观测到SM从上电启动到建立SM_STABLE状态的时间。通过分析图4的SM的状态机可以看出,如果在一些时刻从CM接收到一些PCF,则可以导致回退到较低的非同步状态或失去同步状态(从同步状态到非同步状态的转换)。例如,如果在同步状态之一中从CM接收到CA帧,则SM将过渡到SM_WAIT_4_CYCLE_START_CS这个非同步状态。像这样的异常现象是本文分析的主要内容。

图4 SM的启动/重启过程状态机Fig.4 SM start/restart process state machine

2.2 仿真建立

根据SAE AS6802标准,采用NS3仿真系统完成对于网络中各个节点模块的开发,包括端系统、交换机,以及链路配置为双通道并模拟了硬件链路传输所具有的延迟。本文试验场景为其中一个压缩主机(CM)出现故障,其余设备(其他压缩主机CM和4个同步主机SM)无故障。本文考虑的拓扑结构如图3所示。其中一个端口上的故障CM在SM的关键时刻传输CS、CA和IN帧序列。在此条件下,通过仿真估算了SM的启动时间。交换机sw2的故障端口连接到终端系统sm4。

由于同步质量不受本研究的关注,而只考虑网络启动时间的影响,因此尽管模型支持非理想时钟,但网络组件中实现的本地时钟被设置为理想时钟。在所有仿真中,集成周期(Integration Cycles Duration,ICD)持续时间设置为=1000μs。

2.3 正常的启动

仿真结果表明,当观测到的网络中没有故障设备时,sm4的默认启动时间为=5671μs。在这种情况下,冷启动过程反映了图4SM启动/重启过程状态机顺时针背景箭头所描绘的状态流转情况,在此过程中SM经历了以下状态转换:SM_INTEGRATE → SM_UNSYNC → SM_FLOOD → SM_WAIT_4_CYCLE_START_CS → SM_TENTATIVE_SYNC → SM_SYNC → SM_STABLE。

2.4 故障的CM传输CS帧

1)SM在SM_WAIT_4_CYCLE_START_CS状态下接收到CS帧:从图4的状态机中可以看出,sm4在SM_WAIT_4_CYCLE_START_CS状态下接收到的CS帧,导致sm4转换到SM_FLOOD这个同步性较低的状态,sm4在SM_FLOOD状态下会发送CA帧。由于无故障压缩主机CM-sw2处于不再接受CA帧的状态(此时网络的其余设备是正常地进行冷启动处理的),因此,sm4将转换到SM_UNSYNC状态并开始发送CS帧。CM的上述帧过滤机制将忽略这些CS帧。在接收到来自CM-sw2的IN帧之后,sm4将转换到SM_SYNC状态,在足够的稳定周期之后,再转换到SM稳定状态。简而言之,发送给SM的CS帧在SM_WAIT_4_CYCLE_START_CS状态下会导致同步过程链发生变化:SM_INTEGRATE → SM_UNSYNC → SM_FLOOD → SM_WAIT_4_CYCLE_START_CS → SM_FLOOD → SM_UNSYNC → SM_SYNC → SM_STABLE,发生状态回退而后又进入同步状态。 由分析可知,此异常将启动时间延长了相当一个集成周期的时间。

2)SM在SM_UNSYNC状态下接收到CS帧:关注SM_UNSYNC状态附近的输入影响情况,可以看出,接收CS帧将导致sm4向SM_FLOOD状态的转换。在这种状态下,从故障CM接收到的CS帧可能会导致更早地过渡到SM_FLOOD状态。但是,由于SM不会在进入SM_FLOOD之后立即发送CA帧,因此提前过渡到SM_FLOOD状态不会加快sm4的启动速度。同时,无故障的sw2将转发来自另一个SM的CS帧,从而使sm4重新进入SM_FLOOD状态。其他SM在接收到上述CS帧后也将进入SM_FLOOD状态,这意味着所有SM都在同一时刻发送其CA帧。在这种情况下,sm4的启动时间等于默认启动时间。

3)SM在SM_FLOOD状态下接收到CS帧:在SM_FLOOD状态下接收到CS帧,将导致SM重新进入相同的状态。之后,当SM过渡到SM_FLOOD状态时,将发生与前面提到的SM_WAIT_4_CYCLE_START_CS状态相同的过程变化:SM_FLOOD → SM_WAIT_4_CYCLE_START_CS → SM_FLOOD → SM_UNSYNC → SM_SYNC → SM_STABLE。

总结CS帧序列的影响:如果从故障CM发送CS帧序列,根据序列中CS帧的数量及其周期,sm4的启动时间将相应延长,因为每个接收到的CS帧都重新进入SM_FLOOD状态,该场景的模拟如图3所示,其中从sw1发送的CS帧的序列长度增加,同时改变这些帧之间的周期。序列的第一个CS帧在接近SM_FLOOD状态结束时到达sm4。从结果可以看出,CS帧的周期为200μs或大于3500μs,对sm4的启动没有影响;而对于300μs的周期,只有第一个CS帧延长了一个集成周期()值的启动时间;对于其他时段,启动时间函数呈阶梯形,并随CS帧数的增加而增加,增量不是连续的,而是集成周期()值的倍数。这些值可以当作是sm4在重新进入SM_FLOOD状态时被阻塞的时间。启动时间函数呈阶梯形的原因在于一系列状态转换。

在从CM-sw1发送的CS序列结束之后,sm4将从SM_FLOOD转换到SM_UNSYNC状态。然后,sm4从已经同步的非故障CM-sw2接收帧内信号,并进入SM_SYNC状态,接着进入SM_STABLE状态。sm4在SM_UNSYNC状态下花费的时间并不重要:在从sw2接收到IN帧之后,sm4立即转换到SM_SYNC状态。而当CS帧的周期大于3500μs时,单个故障的CM不会影响网络的启动和建立时间同步的时长。

2.5 故障的CM传输CA帧

有故障的CM传输CA帧时的情形与故障的CM传输CS帧的情形非常相似。对于这种情况,当sm4接近SM_WAIT_4_CYCLE_START_CS状态的末尾时,故障CM开始传输CA帧,得到图5所示的梯形折线图。考虑到CA帧对SM的所有状态都有影响,这些帧之间的任何一个周期都会对基于时间触发网络的同步过程产生决定性的影响。每个接收到的CA帧都将导致转换到SM_WAIT_4_CYCLE_START_CS状态。一个特例是:在SM_STABLE状态下,接收到CA帧且参数stable_ca_enabled配置正确,才可以转换到SM_WAIT_4_CYCLE_START_CS状态。在这种情况下,CA帧之间的周期应该足够长,以便SM在下一个从CM传输的CA帧到达之前建立SM_STABLE状态。如图5所示,CA帧的一个周期要大于4500μs,此时单个故障的CM对于sm4等网络中运行正常设备的启动以及时间同步没有影响。

图5 sm4接收到故障的CM发送CA帧后的启动时间Fig.5 sm4’s start-time after receives CA frame sent by faulty CM

2.6 故障的CM传输IN帧

来自故障CM的错误的IN帧会触发正常运转CM的异步/相对团功能,从而导致系统失去同步状态。图6显示了当IN帧处于SM_TENTATIVE_SYNC状态时,超出计划到达sm4情况的有关结果。如果帧间的周期比较短,则函数呈阶梯形,如果帧间的周期比较长,则函数呈线性。当在SM_TENTATIVE_SYNC状态下检测到异步/相对团时,SM应过渡到SM非同步状态,在该状态下,开始传输CS帧。由于非故障sw2已经处于同步状态,它将忽略接收到的CS帧,同时将向sm4发送一个压缩的IN帧。然后,sm4将再次转换到SM同步状态。综上,如果在SM_TENTATIVE_SYNC状态下接收到除了IN帧外的其他序列,则将发生以下过程变化:SM_TENTATIVE_SYNC→×(SM UNSYNC→SM_SYNC)→SM_STABLE。在SM_STABLE状态下接收到计划外的帧序列也将会使得系统失去同步态。如图6所示,如果IN帧周期大于4000μs,故障的CM发送错误的IN帧对于网络内正常运行的设备的启动和时间同步的建立与正常启动所需时长相同。通常,IN帧长时间间隔对启动时间影响不大,但存在在SM_STABLE状态下失去同步状态的风险 。

图6 sm4接收到故障的CM发送IN帧后的启动时间Fig.6 sm4’s start-time after receives IN frame sent by faulty CM

由以上讨论可知,由于双压缩主机的备份容错机制,即使其中一个CM出现故障,另一个CM也会完成正常操作,发出正确的帧,同步主机(SM)通过接受窗口(acceptance_window)的开闭规则过滤掉来自故障CM的部分错误协议控制帧(PCF),从而保证系统的启动可以正常运转,但是这个恢复过程在某些情景下会以延长启动时间为代价。经仿真结果可知,在此时间触发网络仿真模型下,如有一个压缩主机(CM)发生故障,设置CS帧周期大于3500μs,CA帧周期大于4500μs且IN帧周期大于4000μs时,时间触发网络完成启动的时间和无故障情况下的正常启动时间相同。

3 结 论

在容错系统中,具有处理意外情况的机制是非常重要的。以太网的单一容错配置可以处理一个故障组件:交换机或终端系统。文中模拟了一个端口上的故障交换机开始不受控制地传输单个和序列PCF的情况。结果表明,故障CM发送错误的CS、CA和IN帧,对时间触发网络的启动时间有影响,PCF对确定性时间触发网络的同步性影响在到达临界时刻表现得尤为明显。但是如设置协议控制帧的周期超过一定数值后,单点故障双冗余系统的启动时间和正常启动的时间相同,为航天领域等使用双冗余时间触发以太网的系统中参数设置提供参考。下一步将重点研究分析故障端系统脱离控制后,随机地将PCF序列发送到同步的时间触发网络产生的影响。

猜你喜欢
以太网交换机传输
地铁SDH、OTN传输组网分析
广播电视信号传输的技术分析
网络智能平台和云服务为以太网注入新动力
浅谈垂直极化天线在地面数字电视传输中的应用
4K传输
浅谈交换机CAN基本配置
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
罗克韦尔发布Strat ix 5410分布式交换机
信息网络中交换机的分类和功能