1、FC 总线技术简介(一)在前面的介绍中,我们介绍了航空航天数据总线技术,并认为 FC 总线技术由于具备高速率的数据传输特性、较高可靠性、可扩展性强等特点被认为是未来航空总线发展的主要数据总线之一。因此,在接下来的几期文章中,我们将从光纤通道技术、FC-AE 系列标准、FC-AE-1553 及 FC 标准簇等方面进行详细介绍。在本期中,我们将对光纤通道的相关技术进行介绍,包括分层结构、拓扑结构、端口类型、服务类型及端口单元等方面。1. 光纤通道简介光纤通道航空环境(FC-AE:Fiber Channel Avionics Environment)是光纤通道(Fiber Channel)标准开发组
2、织制定的一簇协议族,用于详细定义可用于光纤通道航空电子环境上的(包含军事以及商业应用)专用系统。该协议将快速可靠的通道技术和灵活的、可扩展的网络技术有机融合在一起。FC 协议发展至今,已经能够支持很多上层协议和指令集,例如: MIL-STD-1553B、IP、ATM 等协议以及 HIPPI、IPI、SCSI 等指令集,支持光纤和铜缆等多种物理介质。FC 协议能够很好地实现全双工、半双工和单工的通信模式。光纤通道的基本特点如下: 高带宽、多媒介、长距离传输:串行传输速率已由最初的 1Gbps 提高到 4Gbps ,并且正在向更高速率、更大数据吞吐量发展,适用于不同模块间大规模应用数据(如音频、视
3、频数据流)交换;以光纤、铜缆或屏蔽双绞线为传输介质,低成本的铜缆传输距离为 25m,多模光纤传输距离为 0.5km,单模光纤传输距离为 10km; 可靠性与实时性:多种错误处理策略,32 位 CRC 校验,利用优先级不同适应不同报文要求,并解决媒介访问控制时的冲突,传输误码率低于 10-12,端到端的传输延迟小于10us,支持非应答方式与传感器数据传输; 统一性与可扩展性:可以方便的增加和减少节点以满足不同应用需求,拓扑结构灵活,支持多层次系统互连,利用高层协议映射提高兼容和适应能力。可以把 SCSI、IP、ATM 等协议映射到光纤通道上,以有效地减少物理器件与附加设备的种类并降低经济成本;开
4、放式互连,遵循统一的国际标准。光纤通道(FC)是高吞吐量、低延时、包交换及面向连接的网络技术。整个标准系列还在不断的发展,其中用于航空领域-航空电子系统环境工程(FC-AE)的协议规范已经定制了5 种,分别是:无签名的匿名消息传输(FC-AE-ASM) 、MIL-STD-1553 高层协议(FC-AE-1553) 、虚拟接口(FC-AE-VI ) 、FC 轻量协议(FC-AE-FCLP ) 、远程直接存储器访问协议(FC-AE-RDMA) 。2. 光纤通道分层结构光纤通道主要分为 5 层(FC-0 到 FC-4) ,类似于 OSI 的七层模型结构和 TCP/IP 的四层模型结构,FC 协议具有
5、五层模型结构。FC-0 接口与媒体层,用来定义物理链路及特性;FC-1 传输协议层,定义了编码/解码方案、字节同步和有序集;FC-2 链路控制层,定义了传送成块数据的规则和机制;FC-3 为通用服务层;FC-4 协议映射层,定义高层协议映射到低层协议的方法。其协议分层如图 1 所示:图 1 光纤通道分层结构图FC-0 层描述物理接口,包括传送介质、发射机和接收机及其接口, FC-0 层规定了各种介质和与之有关的能以各种速率运行的驱动机和接收机;FC-1 层描述了 8B/10B 编码,该码型使控制字节与数据字节分离且可简化比特、字节和字同步;FC-2 层是信令协议层,它规定了需要传送成块数据的规
6、则和机制,在协议中, FC-2 层是最复杂的一层,它提供不同类型的服务、分组、排序、检错、传送数据的分段重组;FC-3 层提供了一系列服务,是光纤通道节点的多个 N 端口所公用的;FC-4 层提供了光纤通道容量到已存在的更上层协议的映射。3.光纤通道的拓扑结构光纤通道定义了 3 种拓扑结构,分别是点对点(Point-to-Point) 、仲裁环(Arbitrated Loop)和交换式(Fabirc)拓扑结构,如图 2 所示。图 2 光纤通道拓扑结构示意图点对点连接是 3 种结构中最简单的,如图 2(a)所示,通过光缆直接连接两个设备的端口,能够提供最大带宽并可实现全双工连接,可用于连接有大量
7、持续数据传输要求的节点。仲裁环可以进行 126 个设备的高速连接,数据在环路的一个方向上传送,在任一时刻仲裁环只有一对端口进行通信,环中的设备只有当环处于空闲状态,才能通过仲裁获得仲裁环的使用权,一个或多个仲裁环路的网状结构可以组成混合结构。仲裁环可以作为机载系统中外部存储设备间的连接或显示阵列间的连接。可以采用集线器式的环模式提高环连接的可靠性,如果加入端口旁路功能,则可对故障结点进行旁路,进一步提高整个环的可靠性。交换式网络在三种拓扑结构中功能最强大、可靠性最高、性能最好、带宽最大,可以连接多达 1600 万个设备,而且在同一时刻允许多个设备进行高速通信,但是价格昂贵些。在一条连接通道中,
8、交换机可同时建立共享连接链路和多条直接连接通道,即可以同时进行分组交换和电路交换。各终端的端口通过点对点的双向连接与交换机端口互连,每个端口都可以最大速度与交换机的端口建立连接。光纤通道可以根据需要配置成以上三种方式的混合网络,从而提供最大限度的灵活性。4.光纤通道端口类型在光纤通道协议中,端口是通信的基本单元。所谓端口是一个节点内部的硬件实体,通过光纤通道链路和相邻的端口进行数据通信。根据端口位置和拓扑结构的不同,光纤通道协议定义了以下类型的端口:N 端口,N 端口是实现整个网络的起点和入口,它是光纤通道协议中最简单的端口,它的功能正确与否直接决定网络是否正常工作;F 端口,在光纤通道交换机
9、中实现,为 N 端口之间提供管理和连接服务,是光纤通道网络中数据的中转者;L 端口,L 端口存在于光纤通道环网中,环状网络中的节点共享一个公用连接光纤通道环网,目的是为了降低光纤网络的带宽费用;NL 端口和 FL 端口,FL 端口在交换机上实现,它作为一个特殊的节点加入到光纤环网中,NL 端口位于环结构内,具有 N 端口和 L 端口的双重能力。5.光纤通道服务类型光纤通道定义了 6 类服务,使用的类别很大程度上依赖所传输的数据类型。服务类别之间的主要区别是使用不同的流控制类型。如果两个 N-Port 之间进行通信或者一个 N-Port 要注册到交换式网络,则至少需要 1 类公共服务支持,因为序
10、列和交换需要使用 1 类服务,且在交换式网络注册和 N-Port 注册的过程中信息进行了交换。第 1 类服务:专用连接。第 1 类服务建立的专用连接要由交换机维持和保证,交换机将会按照源 N 端口的发送顺序将帧发送给目的 N 端口。第 2 类服务:复用连接。第 2 类服务是无连接的服务,收到数据帧后需要发送链路控制帧进行确认。在一个给定的序列内部,发射器会以连续的顺序发送第 2 类数据帧,但是交换机可能不能保证按序传送。第 3 类服务:数据报。第 3 类服务是无连接的服务,只支持无确认的传送,在接收到合法的数据帧后不发送任何链路控制帧进行确认。在一个给定的序列内部,发射器会以连续的顺序发送第
11、3 类数据帧。但是,交换机可能不能保证按顺序传送。第 4 类服务:部分带宽。利用交换机管理部分带宽分配协议,第 4 类服务使用建立在交换机内部和两个正在通信的 N 端口之间的虚电路来彼此发送帧。在一个给定的序列内部,发射器会以连续的顺序发送第 4 类数据帧,交换机会以和源 N 端口发送顺序相同的顺序发送帧到目的 N 端口。第 5 类服务: 5 类服务用于同步、即时服务。但到目前为止还没有被完整的定义,有可能会被废弃。第 6 类服务:多点传送连接。第 6 类服务允许一个 N 端口和多个 N 端口建立同时的专用连接。一旦专用连接建立,它们就要由交换机维持和保证。第 6 类的数据流只能由源 N 端口
12、到目的 N 端口。所有的目的 N 端口会发送适当的链路回应帧给一个多点传送服务器,多点传送服务器会收集这些链路回应帧并返回一个单独的链路回应帧给源 N 端口。6.光纤通道数据单元光纤通道帧和信令协议定义了 3 种协议数据单元:帧(Frame ) 、序列(Sequence)和交换(Exchange) ,它们之间的层次关系如图所示。图 3 光纤通道帧与信令协议之间的层次关系图帧都遵循通用的帧格式,其帧格式如图所示。图 4 帧格式示意图每个帧包括开始分隔符,大小为 24 个字节的固定帧头,多种可操作服务头,从 0 到 2112 个字节的长度灵活的有效载荷,一个帧标准循环冗余码校验和一个结束分隔符。序
13、列是从一个 N 端口向另一个 N 端口单向传送的一个或多个相关的帧,序列是单向传送的。交换由一个或多个非并发的序列组成,既可以是单向的也可以双向的。7. 总结本期针对航空航天数据总线未来发展的需求,对光纤系通道技术进行了详细介绍。接下来,在下一期的“FC 总线技术简介(二) ”中,我们将对 FC-AE 系列标准进行梳理介绍,并对 FC-AE-ASM、FC-AE-RDMA、FC-AE-VI 及 FC-AE-1553 技术进行详细介绍及分析。在上一期中我们了解到光纤通道(FC)是高吞吐量、低延时、低误码率的网络技术。整个标准系列还在不断的发展,其中用于航空领域-航空电子系统环境工程(FC-AE)的
14、协议规范已经定制了 5 种,分别是: MIL-STD-1553 高层协议(FC-AE-1553) 、无签名的匿名消息传输(FC-AE-ASM) 、FC 轻量协议( FC-AE-FCLP) 、远程直接存储器访问协议( FC-AE-RDMA)及虚拟接口(FC-AE-VI ) 。因此,本期我们将对 FC-AE 的系列标准进行介绍。1. 简介FC-AE 标准是 Fiber Channel-Avionics Environment 的简称,即光纤通道在航空电子领域的应用,它是由美国国家信息委员会(ANSI)组织制订的一组草案。FC-AE 定义的是一组协议集,这些协议主要用于航空电子的控制工作、命令指示、
15、信号处理、仪表检测、仿真验证和视频信号或者传感器数据的分配。FC-AE 标准所涉及的应用协议都有着许多相同的特点,如它们都具有实时性、高可靠性、可确定性带宽和可确定性延迟。FC-AE 规范中定义的在航电系统中采用光纤通道的环路拓扑与交换网络来连接设备的选择,已经得到了广泛的应用。具体的 FC-AE 规范如下。FC-AE-1553 :FC-AE-1553 协议是 MIL-STD-1553B 协议在带宽,地址空间和数据传输量上的扩展,其目的是更好地支持航电系统中各元素之间的通信。FC-AE-1553 的主要特性在于它的命令/响应式,消息的 ACK 选择,RDMA 传输,文件传输,以及兼容 MIL-
16、STD-1553B 终端的能力。FC-AE-ASM:ASM 是 Anonymous Subscriber Messaging 的缩写,即匿名订制信息传输协议。该协议用于支持航空电子应用的处理器、传感器和显示器之间确定、安全、低延迟的通信。FC-AE-FCLP:FCLP 是 Fiber Channel Lightweight Protocol 的缩写,即轻量协议传输。FCLP 协议是以 FCP 协议为基础的,由 INCITS 制定的 SCSI-FCP 协议进行具体规范。FCP 协议工作于 FC-4 层以下的各层协议中,主要是对高层协议 SCSI 的映射机制。而 SCSI 协议是在 I/O 设备(
17、特别是存储设备)通信领域所广泛使用的通信协议。FC-AE-RDMA:RDMA 是 Remote Direct Memory Access 的缩写,即远程直接存储器访问传输。该协议底层服务部分遵循于 FCP 协议,其主要特点在于允许信息发起者对远程目标存储器进行低延迟的数据读写操作。FC-AE-VI: VI 是 Virtual Interface 的缩写,即基于光纤通道的航空电子环境中的虚拟接口。该协议遵循 FC-VI 协议和 FC-FS 协议。FC-VI 是在光纤通道上实现 VI 架构,它允许数据在光纤通道节点的内存地址之间快速转移。FC-FS 则是光纤通道信号与信令协议,用于定义 FC-1
18、和 FC-2 层的内容。FC-AE 协议集的每一部分都支持一个或多个高层协议和拓扑结构,能共同使用并实现实时光纤通道网络的特征,具备了支持不同航空电子系统需求的网络能力。因此,FC-AE 协议集将凭借其卓越的性能为新一代高性能航空电子系统做出巨大的贡献。2. FC-AE-1553FC-AE-1553 是 Fiber Channel-Avionics Environment-Upper Layer Protocol MIL-STD-1553B Notice 2 的简称,是在光纤通道的 FC-4 层实现对传统 MIL-STD-1553B Notice 2 总线协议的映射,以实现在实时的航空应用中,
19、以命令/响应的模式进行具有确定性的通信。由于 FC-AE-1553 采用了光纤通道技术,所以 FC-AE-1553 的性能较之 MIL-STD-1553B 总线有了很大的扩展,远远超过传统 MIL-STD-1553B 总线的功能。这些扩展功能包括足够多的终端数(支持 224 个) 、消息长度 (232 个 32 位字)和子地址个数(232 个) 。一个典型的 FC-AE-1553 网络组成为:网络控制器(NC ) 、网络终端(NT ) 、光纤通道网络自身、FC-AE-1553 总线桥、MIL-STD-1553B 总线。FC-AE-1553 总线与 MIL-STD-1553B 总线有着诸多的相同
20、点和不同点。控制器方面,MIL-STD-1553B 总线内只有一个 BC,而在 FC-AE-1553 网络中可能有一个或多个激活的 NC。NC 主要的作用在于安排 FC-AE-1553 的数据传输。终端方面,MIL-STD-1553B 总线的 RT 始终是被动的,而 FC-AE-1553 网络中的一些节点可以通过动态网络控制功能同时作为 NC 和 NT 来工作。传输格式方面,与传统的 MIL-STD-1553B 总线类似,FC-AE-1553 总线也有十种传输方式。但在 NT-to-NT 和 NT-to-NTs 的交换上, FC-AE-1553 总线有了 NC 是否监控的选项。FC-AE-15
21、53 网络可以对现有的 MIL-STD-1553 网络设计、软件和硬件进行平滑升级。FC-AE-1553 网络既具有 MIL-STD-1553B 网络的基本特性,又具有光纤通道的良好网络性能,是对 MIL-STD-1553B 很好的传承。3. FC-AE-ASMFC-AE-ASM (Fiber Channel Avionics Environment Anonymous Subscriber Message:光纤通道-航空电子环境- 匿名用户消息)协议作为上层协议遵循支持航空电子系统中确定、安全、低负载以及低开销的通信要求,可轻易映射到其它的物理层上进行传输,并将标记 FC-AE-ASM 协议
22、的头部字段独立并恰当放到光纤通道各类数据域上。FC-AE-ASM 中的每一条消息都源于一个单一序列的单向交换。接收方希望消息是按照预先确定的速率到达,而不需要知道消息的物理源头在哪里。从多消息源发出的一个单一消息应是一个单一的帧序列,多帧消息需只来源于单一源头,多帧序列应该基于消息 ID 和相对偏移而被重新组合,所有帧的 ASM 帧头在重组发生前被去掉。根据 FC-AE-ASM 协议的特点以及帧的基本工作方式,通过发送消息端口的 ID 号以及应用类型完成对 FC-AE-ASM 帧的消息 ID 的定义以及区分,并在 FC-2 层完成对消息帧的分段以及重组。FC-AE-ASM 协议只支持第三类服务
23、,该类服务提供 N 端口之间没有确认的无连接服务。该类帧的传送与路由和第二类服务一样,即每个帧通过交换结构独立路由,所以一个 N 端口可以发送连续的帧到不同的目的端口,也可以从不同的端口接收连续的帧。在这种情况下,消息 ID 的设计变的尤为重要。考虑这种情况,在系统设计时,每个网络节点都应该有自己的 ID 号,用于唯一标识该节点,并且该节点作为网络节点的地址将用于定义 FC 网络数据帧头中的消息源和消息目的域。根据协议要求,该号码由 3 个字节组成,其中高位字节为域标识,次高为字节为区标识,最后一个字节为节点编号。同时需要注意的是 N 端口传送 FC-AE-ASM 帧之间没有确认,所以除通过帧
24、中已定义的偏移量进行差错检测外,在某些情况下须用 ULP(upper level protocol)完成差错检测与恢复。协议规定,在交换式网络中,每条 FC-AE-ASM 数据都是节点主动发出的,没有触发数据,接收节点只要接收数据即可,无须知道数据的发送节点地址,接收节点将根据数据的标识符来确定是否是自己需要的数据和该条数据的含义。FC-AE-ASM 协议底层遵循 FC-FS 和 FC-AL-2 标准,具有消息传输安全性高、延时低等特点,适应于航空电子中处理器与传感器、测试设备和显示器间通信的应用模式。4. FC-AE-FCLPFCLP 是 Fiber Channel Lightweight
25、Protocol 的缩写,即轻量协议。FC-AE-FCLP 是 FC-AE提出的 5 种高层协议之一, 该协议用于航空电子系统各部分之间的通信服务。FC-AE-FCLP该协议是在 FCP, FC-FS 和 FC-AL-2 标准基础上, 依赖上述协议标准支持的各种服务定义的。针对航空电子环境中高可靠性、高传输效率的要求, 将 FCP 的 SCSI 命令简化, 增加通道建立、关闭等命令类型, 去除多余命令, 简化协议接口而形成的, 以此提供低延迟、低开销的航空电子系统各部分间的通信服务。FCLP 协议作为 FCP 基础上的高速轻载通信协议,属于端到端协议。该协议通信系统为用户提供了简单的应用程序接
26、口来实现数据的高速传输。FCLP 协议通信主要使用三个 FCP I/O 命令,分别是 FCP 读命令、FCP 写命令和 FCP 控制命令。因此 FCLP 协议允许一个物理连接建立多个通道。在建立好的通道上,通信两端可以互相发送数据。FCLP 协议通信原型系统从功能上进行划分 4 大功能管理模块,分别是设备管理功能模块、任务管理功能模块、通信连接管理功能模块和错误处理功能模块。在 FCP 协议中,支持光纤通道处理并完成 SCSI initiator 功能和 SCSI target 功能的 N 端口或者 NL 端口被统一称之为 FCP 端口。此时光纤通道协议的 FC-2 层被用来看作支持信息组和几
27、种服务类型的底层高性能传输服务机制,位于 FC-4 层次的 FCP 协议映射层使用底层光纤通道提供的服务来执行具体操作步骤,从而实现 FC-4 层所要求的各项功能。具体来说FCLP 协议层根据已定义好的协议规则,实现 FCP 网络通信功能并构造典型的端到端网络通信模式,从而为上层应用提供应用接口。5. FC-AE-RDMAFC-AE-RDMA:RDMA 是 Remote Direct Memory Access 的缩写,即远程直接数据存储。该协议底层服务部分遵循于 FCP 协议,其主要特点在于允许信息发起者对远程目标存储器进行低延迟的数据读写操作。RDMA 通过网络把数据直接从一端的计算机存储
28、空间传入另一端的计算机的存储区,这种快速的数据转移,不需要经过处理器耗时的传输和繁杂的复制操作。这种技术消除了大量冗余的数据复制操作,减少了数据跨层转移的时延,使系统能够腾出总线空间和 CPU 周期用于改进应用系统性能,节省了大量的内存带宽,提高了 CPU 的利用率,显著降低了时延。FC-AE-RDMA 的关键性质是其允许一个发起端(Initiator)以 P2P(peer-to-peer)(类似于 SCSI-3 的处理器设备类型)模式从一个远程目标的内存中读数据或向其写数据。所有 FC-AE-RDMA 设备能够既作为发起端操作,也能作为目标端工作。FC-AE-RDMA 的工作原理为两个设备节
29、点分为客户端和服务器端,中间链路由光纤链路连接,两个节点主要完成数据迁移任务,即一个节点可以直接将数据从内存中通过网络传送到另一个节点的内存中,而不对操作系统造成任何影响。从节点的内部组成来说,由于 FC-AE-RDMA 节点是利用 FCP 协议进行传输,所以节点应具有 FCP 协议处理功能,并且从 RDMA 技术角度出发,数据的移动过程中应消除冗余数据复制操作,减轻 CPU 负担,使系统能够充分利用总线带宽和 CPU 周期等系统资源来改善应用系统性能,减少对带宽和处理器开销的需要,降低时延。节点间的数据迁移主要是 FC-AE-RDMA 的读或写,根据协议标准,在节点间进行 FC-AE-RDM
30、A 的读写动作前,系统间应完成节点的发现和注册,登录过程。所以在上层应用中,我们应该实现系统注册登录控制,应用能够利用底层提供的接口进行数据的读写操作。FC-AE-RDMA 作为 FC-AE 的子协议,定义了 FC-AE 对 RDMA 的上层协议映射,作为基于 FC 技术的一种轻量级协议,其目的就是允许利用 FCP 协议,通过建立映射而使用熟悉的 RDMA 概念,能够在航空系统的节点所提供的服务中支持低延迟,低通信消耗,适合于航空电子系统中紧急和关键数据的传输。6. FC-AE-VIFC-AE-VI 是 Virtual Interface 的缩写,即基于光纤通道的航空电子环境中的虚拟接口。该协
31、议遵循 FC-VI 协议和 FC-FS 协议。FC-VI 是在光纤通道上实现 VI 架构,它允许数据在光纤通道节点的内存地址之间快速转移。FC-FS 则是光纤通道信号与信令协议,用于定义 FC-1 和 FC-2 层的内容。FC-AE-VI 的拓扑结构与 FC-VI 的拓扑结构一致,即采用仲裁环和交换式结构,并支持点对点和双冗余的连接模式。FC-VI 的设计初衷是为了达到集群计算机之间通信等待减少和高带宽的效果。VI 提供面向连接的网络协议,与传统网络协议如 TCP、UDP 不同,在 VI 中,控制数据与消息数据时分开传输的。因此,在 FC-VI 中,也借鉴了 VI 的通信机制,实现 VI 消息和 VI连接在 FC-PH 上的映射。由于 FC-VI 使用了特殊的通信协议,在数据的传输速度上远远高于普通的交换设备,大大减少了 CPU 资源的占用。 FC-VI 对高速低延迟的网络数据进行优化,可有效的消除系统中节点之间通信的瓶颈。7. 总结本期对 FC-AE 系列标准进行了简单介绍分析,通过对 FC-AE 系列标准进行对比,我们认为 FC-AE-1553 总线由于其高实时、高带宽、高可靠、低损耗、与 MIL-STD-1553 兼容等优势是满足未来航空航天发展需求的数据总线之一。关于 FC-AE-1553 总线的详细内容,我们将在下一期的“FC 总线技术简介(三) ”中进行详细介绍。