上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2.5 AFDX网络通信
根据应用需求,AFDX网络可以采用采样端口、队列端口和SAP端口等三种消息端口之一来传输数据或消息。因此,AFDX网络通常提供了针对三种消息端口的网络编程接口,应用程序必须通过相应的网络编程接口来调用相应的网络协议传送数据,在第3章中详细介绍了AFDX端系统编程接口。
在AFDX端系统上,数据帧的发送是一个由上至下逐层协议封装的过程。以UDP协议为例,首先发送端将一个待发送的消息从发送缓冲区中提交给指定的消息端口,然后由AFDX网卡内部的协议栈进行逐层协议封装,在传输层封装UDP协议头,在网络层封装IP协议头,在数据链路层封装以太网协议头,形成AFDX数据帧。然后根据虚链路号,将数据帧存入对应的缓冲队列,经过流量控制算法(如令牌桶算法等)的整形后,形成符合要求的数据流,再经过调度器的调度发送到物理链路上。由于AFDX网络是双冗余网络,因此还要在数据帧中添加帧序号,并通过冗余管理模块进行数据帧复制,将数据帧分别发送到网络A和B物理链路上。
在AFDX端系统上,数据帧的接收是一个由下至上逐层协议解封的过程,接收端从虚链路上接收数据帧,经过冗余管理模块处理后提交给AFDX网卡内部的协议栈,由下至上逐层去除所封装的各个协议头,最后将该消息存入接收缓冲区,等待应用程序做进一步的处理。