AFDX数据包帧格式与IEEE802.3以太网的帧格式基本相同,AFDX帧格式如图所示,目标地址和源端地址包含着终端的MAC地址,事实上IP地址信息包含在IP结构模块中。UDP结构区别应用端口,AFDX信息有效载荷为17到1471数据。虚拟路径是通过1字节的序列号接来提供,它在以太网帧协议的校验和之前,范围可以是从1到255,当到达255后翻转到1,序列号0是保留对终端系统的复位。
AFDX网络地址是基于终端的MAC地址,ARINC664没有特别的规则来分配MAC地址,这个任务留给系统管理者来完成,但必须遵从IEEE802.3说明的本地管理规范。例如:在波音飞机的应用中,16位全部都可以用来设置的;而在空客的应用中,只有低12位被用到,而高4位均被置零。源端地址必须唯一,源端地址包含用来区别两个连接的冗余网络的MAC地址,目标地址是一个多播地址,包含16位的虚拟连接标识符。
图2 AFDX以太网帧协议格式
为避免可能因交换机某一网络出现故障而无法正常通讯,在AFDX系统中有两个独立的交换网络(如图所示)--A网络和B网络,每个包通过终端系统同时发送到这两个网络,因此正常情况下每个终端系统将会收到两个包,终端系统通过数据包的序列号来区别数据包来自A网络还是B网络,并检查数据包的帧校验序列来决定是否采用还是丢弃该帧。通过对数据进行冗余管理,就可以很好的保证数据包安全准确地传输到目的地,也就是提高了服务质量。
图3 AFDX网络冗余连接
AFDX网络的核心是虚拟连接(virtual link)。每个虚拟连接建立了一个从源终端系统到多个目标终端系统的无方向的逻辑部分,每一个虚拟连接都分配一定的带宽配额,虚拟连接的数量是由一个完整的系统来定义的。创建虚拟连接的总带宽不能超过网络最大的可用带宽。对于不太重要的通讯网络,AFDX允许建立子虚拟连接(sub-VLs),虽然带宽对虚拟连接是有保证的,但对子虚拟连接是没有保证的。
如图所示:当源端系统(1)把一个(VLID)= 100的虚拟连接识别码的以太网帧发送到以太网中,AFDX交换机把这个以太网帧转发到指定目标终端系统(2和3),终端系统(2和3)能同时收到来自终端系统1的以太网帧。也就是说多个虚拟连接能同时接收来自同一个终端系统的信息,并且每个虚拟连接也可以从一个或多个通信端口获取信息。
通过AFDX可以确定数据包发送和接收的时间,从而消除半双工可能出现的传输冲突。如下图1所示:每个航空子系统如自动驾驶、抬头显示等直接连接到由两组双绞线组成的全双工交换机。其中一组双绞线是用来传输,另一组双绞线是用来接收,交换机能够同时对发送和接收的数据包进行缓冲。
图1、
AFDX交换机的接收和发送缓冲区里面都能够根据先入先出的原则存储大量的对输入/输出数据包。I/O处理单元(CPU)把数据报从输入的接收缓冲区转移到输出传输缓冲区,通过检查下一行接收缓冲区到达的数据包,来决定他的目标地址(虚拟连接标志),并查找转发列表来决定从哪个发送缓冲区来接收这个数据包。通过存储总线和传输(FIFO)顺序,将数据包拷贝到该发送缓冲区,通过发送缓冲区把数据发送到航空子系统或其它交换机中。这种涉及到存储转发体系结构的全双工交换机排除了半双工以太网遇到的问题,简单的说就是消除了冲突。