时间触发AFDX网络的设计和实时性分析

2013-09-30 09:29熊华钢
北京航空航天大学学报 2013年6期
关键词:交换机延时端口

刘 成 王 彤 李 铮 熊华钢

(北京航空航天大学 电子信息工程学院,北京 100191)

航空电子全双工交换式以太网(AFDX,Avionics Full Duplex Switched Ethernet)[1]是由工业以太网经过适应性改造而成的航空电子系统互连网络,目前已经应用于空客A380和波音787中.AFDX网络在以太网基础上将虚拟链路(VL,Virtual Link)、静态路由和流量管制等机制集成进来,目的是提高网络的确定性,一定程度上保障时间关键消息的传输.网络演算理论[2-3]和轨迹计算方法[4],可以结合AFDX网络的确定性机制,衍生出适用的延时上界计算方法[5-7].这些方法能计算出被传输消息的端到端延时上界,为AFDX网络的实时性研究提供了理论计算工具.

但是针对时间关键消息,AFDX网络的确定性机制不能保障完全的确定性,其传输的过程不可预测,端到端延时也是抖动的.时间触发以太网(TTE,Time-Triggered Ethernet)[8-9]和时间触发 CAN 网络 (TTCAN,Time-Triggered Controller Area Network)采用了时间触发机制来传输时间关键消息,消息的发送和转发都是完全按照预先规划的时刻进行.这类基于时间触发机制的网络在确定性和实时性方面具有巨大的优越性.基于如下目标,本文将时间触发机制引入AFDX网络,设计了时间触发AFDX(TTAFDX,Time-Triggered AFDX)的体系结构:

1)时间关键消息的传输具有完全的确定性,可以保障消息的实时性;

2)兼容AFDX网络的配置文件;

3)未同步时,以AFDX网络的形式降级通信;

4)可与AFDX网络透明地通信.

并设计了其中关键时刻调度算法,进行了网络实时性分析和仿真实验.分析和实验结果展示了TTAFDX网络在实时性保障上的优越性.

1 体系结构设计

1.1 协议栈设计

对比常规AFDX网络,TTAFDX网络增加了VL时刻调度子层,如图1所示.

图1 TTAFDX网络协议栈

1.2 VL类型设计

TTAFDX网络有两类VL:时间触发VL(TTVL,Time-Triggered VL)和流速限制 VL(RCVL,Rate-Constrained VL).RCVL也就是常规AFDX网络中的VL,其流量特征通过带宽分配间隔(BAG,Bandwidth Allocation Gap)、最大帧长和最小帧长来约束;TTVL是为时间触发机制设计的VL类型,也要按照参数进行流量特征约束.TTVL的发送活动是严格按照时刻调度表的规划时刻来触发,可以用来承载时间关键的消息,保障时间关键消息的确定性;RCVL优先级低于TTVL,在保障TTVL按规划传输的基础上,才能进行传输,可以用来承载非时间关键消息.

TTAFDX网络增加的VL时刻调度子层不影响数据链路层以上的协议,AFDX网络的参数配置在TTAFDX网络中完全兼容,VL以RCVL的形式传输.

1.3 端系统调度设计

如图2所示,首先VL流量调度器对TTVL和RCVL进行流量整形;然后VL时刻调度器按照发送时刻调度表的规划来发送TTVL,在未安排发送TTVL的空闲时间段以轮询调度的方式发送RCVL.

图2 端系统中VL的调度

端系统是VL的源节点,可以根据VL的周期属性进行发送规划.VL的BAG满足从1~128ms期间2的幂次毫秒.端系统的发送时刻调度表可以根据BAG的特点构造成如图3所示的调度表,该调度表由128个1ms的小周期组成,合计大周期128ms.调度表每个小周期都在开头预留一个用于时钟同步的数据帧SYN.SYN帧按照所采用的时钟同步方案来配置,如可采用AS6802的时钟同步服务[9].VL时刻调度器能按照调度表的规划,对所有的TTVL进行循环的调度发送.

图3 发送时刻调度表

图4 交换机端口中VL的调度

1.4 交换机调度设计

如图4所示,针对到达的TTVL,交换机首先核对TTVL的到达时刻是否在规划的接收时间窗口内,将时间窗口之外的TTVL丢弃;然后对到达的VL按照漏桶算法进行流量管制;最后将符合管制的数据帧送到输出端口.针对到达的RCVL,交换机首先进行流量管制;然后将符合管制的数据帧送到输出端口.在交换机的输出端口中,VL时刻调度器按照转发时刻调度表的规划来转发TTVL,在未被安排转发TTVL的空闲时间段按照先入先出规则发送RCVL.

交换机的每一个端口都维护一张TTVL的转发时刻调度表.交换机是TTVL的中间节点,TTVL帧从不同的端系统汇聚到交换机的转发端口,帧的到达时刻不是由交换机端口决定,所以转发的时刻也无法用小周期组成大周期的时刻调度表来组织.交换机端口的转发时刻调度表被设计为不分小周期、时间跨度是128ms的调度表.转发时刻调度表的配置规则是在满足时钟同步方案所要求的资源开销基础上,配置TTVL的转发时刻.

1.5 接收窗口

TTAFDX网络的各个设备是按照周期来进行时间同步.在一个同步周期内,设备的时钟会因为时钟漂移而不完全一致,因此转发时刻和到达时刻也会有相对漂移.假设所有设备在一个同步周期中的最大时飘是ΔT,如图5所示,发送端有-ΔT的时钟漂移,接收端有ΔT的时钟漂移,那么TTVL帧到达接收端的时间要比本地规划的接收时间早2·ΔT;如果发送端有ΔT的时钟漂移,而接收端有-ΔT的时钟漂移,那么TTVL帧到达接收端的时间要比本地规划的接收时间晚2·ΔT.因此对于接收端来说,如果规划的接收时刻是t,那么时飘造成的TTVL帧实际到达时刻将落在时间范围[t-2·ΔT,t+2·ΔT]内,这是TTVL实际可接收的时刻范围,称为该TTVL的接收窗口.这种由于时飘造成的接收时刻范围将考虑在到达时刻表和发送时刻规划中.

图5 时飘接收抖动

1.6 降级通信与透明通信

TTAFDX允许出现故障而未能同步的端系统和交换机工作在降级模式,即这些设备只完成AFDX网络的端系统和交换机的基本功能,而不会影响整个TTAFDX网络的通信.

TTAFDX的端系统和交换机可以与AFDX的端系统和交换机直接互连通信,即透明通信.降级通信情况可以看作透明通信情况的一种特例,不再专门讨论.

透明通信机制是通过标记TTVL帧的目的MAC(Media Access Control)地址来实现.如图6所示,原来的目的MAC地址具有32位的固定域,将其改造为8位固定域与24位TT标识符域.TT标识符的每一位反映了在TTVL帧传输路径上的相应节点对TTVL帧的操作情况,如第一位对应源端系统,第二位对应所经过的第一个交换机,以此类推直到经过的最后一个交换机.典型的AFDX网络[10]中,数据帧的跳数一般不超过5跳,24位标识符可以支持24跳,足够使用.标识符的值“0”代表没有时间触发操作,“1”代表有时间触发操作.通过对TT标识符的处理,可以实现透明通信,过程如下所示,其中TTVL一共经过N个节点.

图6 TTVL帧的目的MAC地址

1)设置TTVL帧的TT标识符每一位都为“0”,i=1,进入下一步;

3)若i=N,跳到第4)步;TTVL帧进入第i个节点,若是TTAFDX交换机,则会检查TTVL帧TT标识符,若第(i-1)位是“1”,说明上一个节点进行了时间触发操作,交换机将检查TTVL的到达时刻,按规划时刻进行转发,并将TT标识符的第i位置“1”,若第(i-1)位是“0”,则不检查TTVL的到达时刻,在下一个最近的规划时刻转发,并将TT标识符的第i位置“1”;若是AFDX交换机,则不进行任何时间触发操作和TT标识符操作,保持“0”值;i++,循环第3)步;

4)TTVL进入目的端系统,若是TTAFDX端系统,则会检查TTVL帧TT标识符,若第(i-1)位是“1”,说明上一个节点进行了时间触发操作,端系统将检查TTVL的到达时刻,决定是否接收,若第(i-1)位是“0”,则直接接收;若是AFDX端系统,则直接接收TTVL帧.

2 时刻调度算法

首先分别执行各个端系统内部的发送时刻调度算法,配置各个端系统的发送调度时刻表;然后执行交换机转发时刻调度算法,统一配置所有交换机内部所有端口的转发调度时刻表.由每个端系统的发送端口和每个交换机的转发端口维护各自的时刻调度表.

2.1 定 义

1)C是链路带宽,Mbit/s;

2)Vk是第k条TTVL;

3)Gk是Vk的BAG,即Vk最小周期,ms;

4)Vk,q是Vk在端系统发送时刻调度表中的被发送的第q个数据帧,在128ms的大周期中一共有(128/Gk)个数据帧;

5)Vmaxk是Vk的最大线路帧帧长(MAC帧加上帧间间隔、前导符和起始标识,共20byte,以下帧长都指的是线路帧帧长),byte;

近几年来,我国选煤工业发展讯速,煤炭选煤技术形成规模化、专业化生产模式,选煤厂主要有炼焦煤选煤厂和动力煤选煤厂,工艺单一或复合,与矿井配套或不配套两种形式。在节能减排方面基本上具有相同的规律,都消耗一定的煤、电、油或其他能源,也都排放污染物。因此选煤厂开展行之有效的节能减排工作,是义不容辞的责任和义务。

6)Ti是端系统发送时刻调度表中的第i个小周期,它的起始时刻时(i-1)ms,1≤i≤128,每个小周期是1ms,如图3所示;

7)Li是小周期Ti上已配置的帧长合,byte;同步帧的帧长是LSYN,如图3所示;

8)Lmaxi是小周期Ti上最多可以配置的帧长合,byte;如图3所示,也即在1ms内能够发送的总数据帧长Lmaxi=0.001×C×106/8;

9)在一个时间同步周期内,端系统和交换机的时钟最大漂移值是ΔT.

2.2 端系统时刻调度算法

每个端系统都分别执行如下的端系统时刻调度算法,对TTVL进行发送时刻规划,完成端系统的发送时刻调度表.

1)按照BAG从小到大的顺序给端系统发送的TTVL排序,若同周期则按照Vmax从大到小的顺序排序,排序后的TTVL对应标记为Vk(k从1到n),转到第2)步;

2)按照标记顺序,对所有TTVL进行发送时刻规划,初始状态令k=1,Li=LSYN,1≤i≤128,转到第3)步;

3)若k>n,跳到第4)步;否则配置Vk的发送时刻,Vk以Gk为最小周期,在时刻调度表128 ms的大周期中被循环调度128/Gk次;从调度表0ms开始,在Gk时间范围中,找到帧长合Lr最小的小周期Tr,若Lmaxr-Lr<Vmaxr,则跳到第5)步;否则将Vk的(128/Gk)个调度时刻(单位 ms)配置为:Dk,m=(r-1)+(m-1)·Gi+8·Lr×1 000/(C×106),其中m∈{1,2,…,128/Gk},并更新相应小周期Ti(i=r+(m-1)·Gi)内的已配置帧长合为Li=Li+Vmaxr,k++,循环第3)步;

4)该端系统中,所有TTVL的发送时刻都规划完成;

5)带宽有限,无法配置该端系统中所有TTVL的发送时刻.

2.3 交换机时刻调度算法

配置好所有VL的静态路由和所有TTVL的发送时刻后,在满足时钟同步方案所需要的发送资源开销的基础上,交换机通过如下算法实现所有交换机内部的所有端口的转发时刻调度表配置.

1)按照所有TTVL的BAG从大到小的顺序给TTVL排序,若同周期则按照Vmax从大到小的顺序排序,排序后的TTVL对应标记为Vk(k从1到n),转到第2)步;

2)按照标记顺序,配置所有TTVL在交换机端口的转发时刻,初始值k=1,转到第3)步;

3)若k>n,跳到第4)步,否则按照Vk所经过交换机转发端口的顺序,配置Vk在这些端口的转发调度表中的转发时刻.配置Vk在某一端口的转发时刻时,按照帧Vk,1到帧Vk,w(w=128/Gk)的顺序来配置其中帧Vk,q的转发时刻.配置帧Vk,q时,根据帧Vk,q在上一个节点的发送时刻t1、交换机内部16μs的技术延时和最大时钟漂移值ΔT,算出Vk,q到达此交换机转发端口的可能最晚时刻,也即时飘接收窗口的关闭时刻(单位ms):

依据不改变已经配置的TTVL帧的原则,按照Δt从小到大的方向,0≤Δt<128,寻找最近的能够完成转发任务的空闲时间段,若能找到,则将该空闲时间段的时刻起点t3=(t2+Δt)%128作为转发时刻,更新交换机端口转发时刻表;若找不到,则跳到第5)步.若Vk经过的所有交换机转发端口都能够配置Vk每一个帧Vk,q的转发时刻,则k++,循环第3)步;否则跳到第5)步;

4)所有TTVL在交换机端口中的转发时刻都规划完成;

5)网络带宽有限,无法配置所有TTVL在网络中的转发时刻.

3 实时性分析

一个消息(传输层传输单元)从产生到封装成VL帧或者帧群(消息长度过大时会在IP层被分片),再到发送到网络中,最后被目的节点接收的整个时间过程如图7所示,若是消息被分片为帧群,计算延迟只要针对最后一个VL帧即可.消息q生成于时刻Am,0,从在传输层产生到封装成Vk的VL帧或帧群的这段时间Bm,0属于技术延时,由端系统的性能决定;m是消息q被封装成的VL帧,或者帧群中的最后一个VL帧,VL帧m到达VL流量调度器的时刻是Am,1,经过流量整形后满足BAG的要求,时间开销是Bm,1;然后VL帧m于时刻Am,2到达VL时刻调度器,经过时间Bm,2的等待,被调度发出;VL帧m在AFDX网络中经过传输时间Bm,3,在时刻Am,4到达目的端系统.

图7 消息的传输过程

3.1 定 义

1)C是链路带宽,Mbit/s.Eq是消息q的数据段长度,Vmaxk是Vk的最大帧长,Vmink是Vk的最小帧长,Vlastk是最后一个VL帧m的帧长,单位都是字节.令0<V′lastk≤Vmaxk,有

Eq=M×(Vmaxk-38)+(V′lastk-38)

其中,M为非负整数,(M+1)是VL帧群的数目,若没有分片,则M等于0;若V′lastk<Vmink,则Vlastk=Vmink,否则Vlastk=V′lastk.

2)Wk是源端系统VL流量调度器中下一个属于Vk的帧被整形所要等待的时间,ms.

3)定义N是不包括目标VL帧群在内,当前积压在源端系统VL流量调度器中属于Vk的数据帧的总数.上层消息可能因为配置不合理,突发到来或者以小于VL的BAG的周期到来,TTVL帧可能在VL流量调度器中积压;因为端系统发送时刻调度表中,TTVL的发送周期严格等于它的BAG,所以在之前已经被流量整形的TTVL不会在VL时刻调度器中出现积压.

4)Pk是Vk经过的发送或转发端口集合,源端系统发送端口e∈Pk;若端口h∈Pk,则(h+1)表示h端口之后,Vk经过的下一个转发端口;l∈Pk,是Pk上的最后一个转发端口.

5)是h端口发送或者转发时刻调度表中针对在端系统发送时刻调度表中的第r个VL帧Vk,r的转发时间.

3.2 端到端延迟计算

VL流量调度器中,Vk的VL帧m需要等待积压的帧严格按照BAG的间隔发出后,才能发出,等待的时间Bm,1=(N+M)×Gk+Wk.VL帧m到达 VL时刻调度表的时刻Am,2=Am,1+Bm,1,该时刻对应端系统发送时刻调度表中的时刻Sm=Am,2%128.若VL帧m的到达时刻与其调度时刻的关系如下:

则VL帧m在时刻被调度发送;否则在时刻被调度发送,该时刻标记为.VL帧m在VL时刻调度器中的等待时间为Bm,2=.从端系统端口发送出去后,VL帧m在网络中延时是传输过程中在各个时刻调度表之间的时刻差值与最后一跳的发送延时之和:

消息q的端到端延时合计为

考虑时钟漂移造成的误差,修正消息q的端到端延时在[Bm-2·ΔT,Bm+2·ΔT]范围内.因此在消息q产生的时候,它的端到端延时就可以确定,这对于时间关键的消息具有非常重要的意义.

4 实 验

TTAFDX网络仿真实验采用典型的AFDX网络拓扑[10],如图8所示.共有8个交换机构成了网络主干,每个交换机上连接8个端系统,一共有64个端系统,链路带宽配置为10Mbit/s.

图8 TTAFDX网络拓扑

实验设计了8条TTVL和128条RCVL,用VLID来标识不同的VL;TTVL的VLID号从1到8,RCVL的VLID号从11到138;最大线路帧长在84到512byte之间;VL的BAG分为3类:32ms,64ms和128ms;每个VL承载对应的消息,其中TTVL承载时间关键消息;消息按照对应VL的发送时刻和BAG间隔来生成;发送技术延时设置为0,时钟漂移设置为0,交换机转发技术延时为16μs,仿真模拟24h.在配置好VL的静态路由后,采用端系统和交换机的时刻调度算法完成TTVL时刻调度配置.

当时间关键消息产生的时候,计算它的端到端延时,并将结果与仿真得到的实际端到端延时作比较,如表1所示.表1中,BAG为32ms的TTVL在大周期128ms中有4次调度,因此有4个计算值与实际仿真结果的比较,64ms的TTVL有2次,128ms的TTVL有1次.表1的结果对比显示,采用TTVL来承载的时间关键消息时,在消息产生的时候,就可以通过计算得到实际的端到端延时.

表1 TTVL承载消息的延时值对比

非时间关键消息是由RCVL承载,其端到端延时是抖动的,通过网络演算[5,7]可以计算出端到端延时上界.如图9所示,将其延时上界与其端到端延时的统计最大值进行比较,该上界往往远大于实际延时的统计最大值.常规的AFDX网络中的VL与TTAFDX网络中的RCVL具有完全相同的功能和性质,保障网络确定性和实时性的能力有限.

图9 RCVL承载消息的延时值对比

5 结 论

TTAFDX网络是从常规AFDX网络升级而来,在时钟同步的基础上,引入了时间触发机制.TTAFDX网络使用RCVL兼容原来的AFDX网络的VL,使用TTVL来传输时间关键消息,确保时间关键消息的完全确定性.时间触发机制,采用离线调度规划的方法,在AFDX网络运行前,就在源端系统发送端口和交换机转发端口完整地规划好TTVL传输的每个阶段,使得TTVL在网络中的传输具有完全的确定性.在TTAFDX网络中,将时间关键消息用TTVL来承载,在消息产生时就可以得到消息传输的端到端延时,并且消息传输的每个阶段的时刻都是可以预测的.

(References)

[1]ARINC 664Aircraft data network,part 7:avionics full duplex switched Ethernet(AFDX)network[S]

[2]Cruz R.A calculus for net work delay,part I:net work elements in isolation [J].IEEE Trans Information Theory ,1991,37 (1):114-131

[3]Cruz R.A calculus for net work delay,part II:network analysis[J].IEEE Trans Information Theory,1991,37(1):132-141

[4]Martin S,Minet P.Schedulability analysis of flows scheduled with fifo:application to the expedited forwarding class[C]//Parallel and Distributed Processing Symposium (IPDPS).Rhodes Island,Greece:20th International,2006:8-15

[5]Frances F,Fraboul C,Grieu J.Using network calculus to optimize the AFDX network[C]//Proceedings of ERTS.Toulouse,France:[s.n.],2006:25-27

[6]Bauer H,Scharbarg J L,Fraboul C.Applying and optimizing trajectory approach for performance evaluation of AFDX avionics network[C]//Proc 21th ECRTS WiP Section.Dublin,Ireland:IEEE,2009:57-60

[7]Bauer H,Scharbarg J L,Fraboul C.Improving the worst-case delay analysis of an AFDX network using an optimized trajectory approach [J].IEEE Trans Industrial Informatics,2010,6(4):521-533

[8]Kopetz H,Ademai A,Grillinger P,et al.The time-triggered Ethernet(TTE)design [C]//Ghafoor A.Object-Oriented Real-Time Distributed Computing (ISORC).Seattle,Washington:IEEE Computer Society,2005:22-33

[9]SAE AS6802Time-triggered Ethernet[S]

[10]Grieu J.Analyse et evaluation de techniques de commutation Ethernet pour interconnexion des systemes avioniques[D].France:INP-ENSEEIHT,2004

猜你喜欢
交换机延时端口
面向未来网络的白盒交换机体系综述
一种有源二端口网络参数计算方法
一种端口故障的解决方案
局域网交换机管理IP的规划与配置方案的探讨
多按键情况下,单片机端口不足的解决方法
日光灯断电关闭及自动延时开关设计
更换汇聚交换机遇到的问题
基于地铁交换机电源设计思考
基于CD4060 的室内换气系统延时关机电路设计
宋湘延时答妙对