发布时间:2023-01-18 23:00
上一篇我们分享了AFDX的MAC层相关基础知识
AFDX(ARINC664)的网络协议——MAC层_Easy Code的博客-CSDN博客
这里继续分享AFDX网络协议的IP层的相关基础知识。
从航空电子分区的角度,ES通过两种类型的端口提供不同的数据传输模式:
1. 通信端口:采样或队列模式;
2. SAP端口:用来进行TFTP(简单文件传输协议)的传输,以及与兼容网络通信
下图描述了具有两个分区和一个端系统的装置。每个分区具有一个IP地址。为了与分区通信,端系统使用两种端口类型:通信端口和SAP。
ES通过通信端口提供两种类型的服务:采样(sampling)和队列(queuing)。由于UDP相对效率较高,这两种服务均采用UDP通信。
发送
采样服务不能使用 IP 分片操作(IP fragment),这样每条采样消息的长度都应当小于或等于所对应的 VL 的有效载荷的要求。支持组播或者单播
接收
最后的信息存储在特定取样端口,可以被多个分区读取,每个取样端口都更新标识符,对于每个读取信息的分区都是可见的。
发送
信息长度最大为8K字节,支持IP分片,在发送和接收过程中采用FIFO方式管理信息。
队列满后,新的信息将被丢弃,并向发送分区报告错误。
接收
有分片,整个帧组装完成后才会允许分区读取;接收列队满,新的帧将被丢弃,并向接收分区报告错误。
知识点:
无应答无连接队列服务之所以被多种通信任务所接受,在于在冗余的AFDX网络中帧丢失的概率低。
为兼容网络提供服务
端系统能够作为一个服务访问点(Service Access Point, SAP),并具有如下的特性:
· SAP 端口能够被用来在 AFDX 网络内通信;
· 作为 ES 设计的一部分,通过网关或路由器接入兼容网络;
· ES 应当提供可与兼容网络通信的 UDP 服务;
· 每个 UDP 服务访问点的实例都应该能够处理 8k 字节的数据块;
· 作为一种可选项,通过被合理配置的 SAP 端口,能够使用 TCP 直接接入 IP 层。
文件传输服务
SAP端口使用简单文件传输协议(Trivial File Transfer Protocol, TFTP)传输文件,文件传输服务的每个实例能够管理长达8k字节的数据块。
RFC对于TFTP的定义
一个VL能够由多个子虚拟链路(Sub-VL)构成,在这种情况下,VL仅由这些Sub-VL组成。
每个Sub-VL具有一个专用的FIFO(先入先出队列),并且这些Sub-VL FIFO被主FIFO队列(VL的FIFO队列)基于轮询(round-robin)的方式读出。轮询功能是基于MAC帧的,这样IP分片操作(如果有的话)在加载Sub-VL的FIFO前就应该已经被执行。
知识点:
Sub-VL的实现是可选择的特性,对网络的确定性没有影响。它可以被用于优化VL的带宽利用率。
一个VL的FIFO队列应该能够管理最多4条Sub-VL的FIFO队列。
每个Sub-VL的FIFO队列应该按照顺序轮询的方式被读取,这样如果任何Sub-VL的FIFO具有流量,每隔BAG,一个帧将被发送到主VL上。一旦一个帧被发送,轮询序列就被暂停,直到这个BAG间隔结束,(接着)序列从下一个Sub-VL的FIFO重新开始。 一个Sub-VL的FIFO队列应该仅被一个VL的FIFO队列读出。
知识点:
ES的数据链路层应基于使用IEEE 802.3标准定义的全双工以太网链路。
ES生成的每个以太网帧应与IEEE 802.3兼容。
ES的IP协议
一般地,在IPv4数据包结构中,总长度域的取值范围应该是从21到1500字节。在AFDX中,由于存在顺序号,范围是从21到1499。(总长度域不将顺序号考虑在内。)
在AFDX网络中数据流通过接收ES的UDP/TCP目的端口,IP目的地址,MAC目的地址和物理以太网连接被唯一地识别。
执行基于帧的过滤,接收端系统仅向通信端口或SAP端口转发有效帧。有效帧由分析目的地址 (TCP/UDP, IP, MAC)和物理连接来确定。
最小最大帧情况下的AFDX帧结构
每个帧中层对层的对等(peer-to-peer)通信的标识方式是:源UDP端口+源IP地址+目的MAC地址(VL标识) + 目的IP地址+目的UDP端口。
对于一个源IP地址,应该有多个源UDP/TCP端口。对于一个目的IP地址,应该有多个目的UDP/TCP 端口。
上图3个消息由3个五元组识别。
消息1 => 源UDP端口x + 源IP + 目的MAC + 目的IP + 目的UDP端口n;
消息2 => 源UDP端口y + 源IP + 目的MAC + 目的IP + 目的UDP端口m;
消息3 => 源UDP端口z + 源IP + 目的MAC + 目的IP + 目的UDP端口v。
持续分享工业领域相关知识:
易择扣得(上海)科技有限公司
易择扣得EasyCode专注于工业领域智能化、自动化研发。