孟博,徐玉杰,王晨博
(中航工业西安航空计算技术研究所,陕西西安,710068)
关键字:FC;PCIE;网络监控
随着机载航电系统网络综合化程度的不断提高,机载设备规模的不断扩大,机载网络中传输的视频、音频、控制等数据信息量急剧增长,这对网络的通信带宽、高效性、实时性和可靠性提出了更高的要求,对网络的健康状况评估和故障原因定位等也变得更加复杂[1]。因此,对FC网络中主要功能数据(如ASM消息和ELS帧等)进行实时监控和存储分析就显得尤为重要。本文设计出了一种基于FC的机载网络监控单元,能够对FC网络中特定的帧数据进行实时监控和数据存储,为FC网络的健康状况评估和故障原因定位等工作提供技术支持。
作为主干网络,FC总线网络将航电、飞控和机电等各个子系统进行互联,以两个相互独立的交换机为核心部件,采用双余度架构,构建可靠容错的FC交换网络平台,实现FCAE-ASM协议通信、网络管理、时钟管理等功能。
对整个FC网络的监控,由FC网络交换机、FC监控单元和后端数据管理系统来实现,连接关系示意图如图1所示。图中F代表交换机的的普通端口,M代表交换机的监控端口,FC网络中各设备节点与交换机普通端口相连进行数据交换与传输。
图1 FC网络监控架构示意图
FC监控单元通过FC接口与交换机监控端口相连进行数据监控,并通过标准PCIE接口与数据管理系统进行耦合,由数据管理系统记录网络监控数据。监控端口提供三种监控方式,分别为输入端口监控、输出端口监控和消息ID监控[2]。输入端口监控方式只能针对交换机一个端口进行监控,会将所有经过该端口进入交换机的光纤网络数据拷贝一份通过监控端口发送给监控单元。输出端口监控方式同样只针对交换机一个端口进行监控,将所有从该端口转出的光纤网络数据拷贝一份通过监控端口发送给监控单元。消息ID监控方式可以对所有进入交换机的数据帧进行选择性监控,而不仅仅局限于监控某一个端口。目前普遍采用消息ID监控方式,在该模式下,交换机会将所有进入交换机的FC帧和预先加载的监控表进行对比匹配,如果此消息在监控表中则将该消息通过监控单元转发给数据管理系统进行保存。
根据FC-ASM协议处理的要求,FC网络监控单元采用FPGA作为核心处理器来实现FC接口和PCIE接口相关功能。该FPGA拥有8 Lanes PCIe硬核,具备高速串行RocketI/O接口,支持150Mbps~6.5Gbps通信速率,符合高速PCIe接口和FC接口通信编码和电平特性。
FC监控单元对外提供FC电信号,监控单元FC接口与交换机监控端口相连,实现对FC网络的数据监控功能。其支持FC-AE-ASM协议,支持可配置的1.0625Gbps和2.125Gbps双通道余度FC通信速率,支持点到点、交换式网络拓扑。
PCIe接口是数据管理系统和监控单元进行数据交互的接口,数据管理系统对FC监控单元所有资源的访问都是通过PCIe接口实现的,PCIE接口主要实现以下功能:1)通过配置寄存器映射FC设备的控制接口;2)实现主机和FC设备的大规模数据交互;3)实现FLASH通信配置数据存储。
FC监控单元连接到网络交换机,用于捕获和存储FC网络中转发的数据,为系统网络数据记录提供功能支持。FC网络监控单元支持ASM数据监控,同时支持ELS数据监控[3]。
监控单元以软件和硬件结合形式对不同的帧类型进行监控,主机系统通过配置本地寄存器来确定对应的监控方案,将相关的监控条件写入监控表,通过PCIE接口启动监控功能。FC监控单元功能部分主要包括主机接口、FC接口、余度收发处理、DMA引擎和CAM表控制等组成。主机接口实现标准PCIe接口,与数据管理系统互联;FC接口实现FC-0、FC-1以及FC-2层的处理功能,与网络交换机互联;余度收发处理用于实现数据的余度收发和余度仲裁功能;DMA引擎用于实现通信数据的高速存取,是数据接收功能的重要组成部分;CAM表控制用于实现复位、写入、查找CAM表功能。
监控单元将接收到的FC帧数据存放至接收缓存中,并对该帧数据进行类型判断,主要分为ASM协议数据和ELS数据。如果帧类型为ASM非数据块,依据事先确定的监控方案,查找比对CAM表,如果比对相同,则直接按照双余度处理方式提交至DMA引擎,存储到监控缓冲中,如果该数据帧所有目标字段比对都不相同,则直接丢弃。如果帧类型为数据块,由于数据块各分帧帧头相同,因此只对第一帧帧头进行查找比对,如果符合筛选条件,则将数据块所有分帧提交至DMA引擎,存储到监控缓冲中,如果不符合,则直接丢弃。
ELS数据帧主要用于FC网络管理维护,包括上/下网控制,网络状态获取,网络时钟同步和维护等功能。监控单元接收到的ELS帧包括发送给本地ELS帧和非本地ELS帧,监控单元只对非本地ELS帧进行监控。如果接收到的ELS帧目的ID为监控单元,即本地ELS帧,则直接转交到ELS接收缓冲,上报到协处理器;如果接收到非本地ELS帧,查找比对CAM表,如果比对相同,则直接存储到监控缓冲中,ELS帧监控不需要进行余度处理。
当数据接收缓冲区按照预先配置的大小收满后,FC监控子卡会以中断的方式通知主机来读取监控到的FC数据,FC监控单元以帧为单位进行数据帧缓存,使用连续存储方式保存。
为了验证网络监控单元的功能、性能指标,本文设计的测试验证设备系统结构如图2所示。测试设备主要包括主机激励源端和被测模块端,主机激励源为测试设备提供FC监控数据源,并实现对FC监控单元的管理控制功能[4]。
图2 测验验证设备系统结构
主机激励源主要包括CPU模块、FC通信节点和FC交换模块。CPU模块模拟主机系统,通过PCIE接口实现对FC通信节点和监控单元的数据传输和管理控制。FC通信节点对外提供1.0625Gbps和2.125Gbps可配置的FC接口,作为数据源可对外发送FC-AE-ASM消息和ELS帧。FC交换模块对外提供多个FC交换接口,可将通信节点发送的帧数据信息转发给被测监控单元。
通过网络驱动软件可配置不同的监控策略,并采用故障注入方式使激励源产生错CRC、无效EOF和缺失EOF等协议错误帧数据。经测试验证,该FC监控单元能够准确监控帧数据,甄别错误帧数据,功能性能各项指标均满足设计要求。
结合FC总线网络的技术特点和应用需求,本文提出了一种基于FC的机载网络监控单元设计方案,详细介绍了该监控单元的系统构架和监控机制。该监控单元能够实现对FC网络中ASM数据块、非数据块和ELS帧等数据的正确监控,为FC网络的健康状况评估和故障原因定位等工作提供可靠的技术手段。