舰载双冗余以太网系统数据监测技术及实现

2010-06-07 02:53魏胜杰谭显春
中国舰船研究 2010年3期
关键词:驱动程序网卡以太网

魏胜杰 秦 克 谭显春

中国舰船研究设计中心,湖北武汉 430064

舰载双冗余以太网系统数据监测技术及实现

魏胜杰 秦 克 谭显春

中国舰船研究设计中心,湖北武汉 430064

现代新型舰载作战系统普遍采用双冗余以太网技术,网络系统正常运行是发挥作战系统效能的基础,而网络数据监测采集则是维护网络正常运行的重要手段。结合舰载作战系统双冗余以太网环境,讨论在Vx-Works下利用双I ntel系列网卡完成数据监测的方法,并以此实现了网络数据监测采集系统。经测试及实际应用表明,该系统具备良好的性能和可靠的特性。

作战系统;双冗余以太网;网络数据监测;船舶

1 引 言

现代舰载作战系统普遍采用了以太网技术。作战系统网络的正常运行是发挥作战系统效能的重要保证。为维护网络的正常运行,管理人员需要监测、分析网络数据,及时了解、评估网络运行环境和网络性能。

网络嗅探技术[1]作为一种常见的网络数据采集方式,能有效截获通信数据包,迅速找出问题。在W indows环境下,有多种方法可实现网络数据的截获。文献[2]给出了在VC6.0环境下利用W insock实现的一种方法,利用WinpCap软件开发包也可实现网络数据的截获[3],同时对VxWorks环境下网络通信方法进行了研究[4-5]。 此外,针对网络数据采集的规范方法[6]、双处理器进行数据采集和实时处理的方法[7]及集群方法进行讨论[8]。

但是,这些方法在舰载双冗余网络实时环境下,都存在应用局限,难以满足数据采集的需要。

本文结合舰载作战系统网络技术特征,分析实时操作系统VxWorks下利用双网卡同时监测网络数据的技术,并依此开发了网络数据监测采集系统NetMonitor。

2 VxWorks下网络环境配置

VxWorks是由美国Wind River公司推出的一种嵌入式实时操作系统。自20世纪80年代问世以来,以其高性能、高实时性、高可靠性等特点成为实时操作系统中最具特色的产品,主要应用于航空、航天、导弹武器系统等,近来在船舶领域也有广泛应用。在VxWorks系统下进行网络配置,主要是针对增强型网络驱动的配置。

2.1 增强型网络驱动程序开发

VxWorks支持两种类型的网络设备驱动程序——VxWorks BSD 4.3网络驱动程序和可裁剪的增强型网络堆栈(SENS)。前者符合BSD4.3标准,提供了网络设备驱动程序与IP协议的紧密结合;后者提供了可替换的网络设备驱动程序,一般也称为“增强型网络驱动程序”(END)。本文主要讨论END的开发。

VxWorks的网络系统模型如图1所示,包括三个部分:协议驱动程序、多元接口层(MUX)和END驱动程序。SENS模型独立于硬件设备接口,它将网络设备驱动程序细化,使开发人员可以专心于END本身的开发。设备驱动程序位于底层硬件与上层应用程序之间,它为硬件和应用程序提供一个双向的接口。协议驱动程序屏蔽了上层协议(如IP)与驱动程序之间的差异。在协议驱动程序与END驱动程序之间SENS又提供了MUX。MUX层直接与END驱动程序交互,其应用程序接口提供了独立于网络协议的驱动程序接口,可与多个独立的END驱动程序同时交互[9]。利用这一特性,可以方便实现VxWorks下多网卡驱动。

图1 VxWorks网络系统模型

2.2 END驱动设备装载过程

在VxWorks中END驱动的装载分为三步,即指定END设备、装载END设备和启动END设备。这三步主要是通过修改BSP中有关驱动程序代码来实现的,这与加载其它非网络类型设备的驱动程序不同。以下作简要阐述。

1)指定END设备

BSP中有一个数据结构 END_TBL_ENTRY记录着END设备驱动程序入口表,在BSP的configNet.h 中定义了该结构的数组 endDevTbl[],描述了网络设备装载函数入口点及参数。在指定END设备时,需要将该设备的END驱动入口加入该数组。

2)装载及启动END设备

指定END设备驱动后,就可通过相应的系统调用函数完成END设备的装载和启动,主要是muxDevLoad()和 muxDevStart()。 VxWorks系统启动时,通过执行一系列的动作完成网络、设备等初始化工作,并通过相应的系统调用激活驱动程序和注册中断服务程序ISR,完成设备装载和启动。

3 数据采集系统实现

3.1 应用需求

本项目主要针对新型舰载作战系统的数据监测、分析需求展开研究的。新型舰载作战系统采用了分布双冗余以太网的网络体系结构,各分系统、设备同时与两路网络连通。为了监测作战系统网络的运行状态,同时也为了对作战系统效能进行定性分析、评估,必须采取措施来监测采集双冗余网络的数据。一般而言,要实现这样的目的,数据监测采集系统必须解决以下这些问题:

1)数据采集系统能确保双冗余网络数据的采集;

2)应对采集的数据进行在线/离线处理,并能在线显示数据内容;

3)采集系统应保证与作战系统时间的高度统一,并给每帧报文附上时戳;

4)数据采集系统不应干扰作战系统网络的正常通信,即不会因为该采集系统死机或掉电等意外故障而导致系统网络受到干扰。

以往的网络数据采集手段无论在实时性、应用性上,都无法满足上述要求。因此,有必要开发对双冗余网络系统的数据采集系统。在总结以往数据监测采集经验的基础上,并针对新的应用需求,开发了新的网络监测采集系统NetMonitor。

3.2 设计实现

3.2.1 系统组成

NetMonitor系统功能组成如图2所示。从功能上分为双网卡接口、数据录取、数据过滤存储、数据解析处理等5个功能模块。

3.2.2 双网卡接口部件

该部件负责与双冗余交换式以太网的互连互通。在本系统中,利用了Intel 82559系列的双网卡,对外提供两路网络的接口,分别与系统网络的交换机汇聚口相连接,可对交换机转发的所有数据进行监控。

根据前述讨论很容易在VxWorks下实现I ntel 82559系列双网卡驱动。具体做法如下:首先在BSP安装目录下的配置文件configNet.h中,指定网卡设备入口,双网卡需指定两个设备入口。

其中,FEI82557_LOAD_STRING 是其加载参数,需根据具体情况定义。

接着在BSP安装目录下config.h中,根据实际使用情况配置两块网卡的基地址,同时指定中断向量的值。完成后,启动程序即可发现网卡已正确加载可实现其功能。

3.2.3 数据录取部件

数据录取部件将双网卡捕获的数据提取出来,根据需要按预定义的数据结构格式做初步处理。数据采集系统的时间与网络系统的时间保持一致是非常重要的。文献[10]给出了一种网络同步的方法。本系统为了保证作战系统时间的统一,采用了高精度对时技术,即利用系统时间 (服务器)发送的秒脉冲和网络接口(时码报文)相结合的方式,这种方法能实现对报文的毫秒级定时。

3.2.4 数据过滤存储部件

该部件实现两大功能,首先根据用户预先设置的过滤条件(如收发方地址等),实现对网络数据的过滤;其次,将过滤后的数据根据需要以异步I/O方式直接存入硬盘,或实时存入预定环形缓冲区。该部件存储的数据是下个部件数据处理的基础,因此,必须保证数据的实时存盘记录所需要的能力。

3.2.5 数据解析处理部件

该部件的功能同时包括两个方面,其一是将暂存在缓冲区的数据进行解析处理,在线显示解析结构,以辅助使用人员在现场对网络状况的监测;另一方面是对存入硬盘的数据进行处理,如将其加载至缓冲区进行查看,也可下载到外部设备处理分析。

总体而言,整个NetMonitor数据监测系统具备以下特点:

1)实时同步监视双冗余交换式以太网数据;

2)与全系统时间保持高精度同步,对所录取数据精确定时到毫秒级;

3)网络报文的在线即时处理功能,可按预定义的用户协议解析报文内容;

4)开放的用户协议管理模式,屏蔽用户协议改变对报文解析的影响;

5)设备对网络系统的无干扰接入,不会对网上产生任何附加流量,不影响网络通信。

4 测试分析

为定量分析测试NetMonitor的性能,构建了测试平台环境,如图3所示。测试平台包括4个模拟节点 (高性能商用PC机)、Agilent协议分析仪(可实现硬件捕获报文并测算网络负载和报文统计)、两台共享式集线器(HUB)、1 台 10 M/100 M自适应交换机和NetMonitor。其中:

图3 测试环境示意图

1)4个模拟节点使用10 M/100 M网卡与自适应交换机连接,可模拟发送网络报文;

2)NetMointor与两台共享式HUB连接,两台HUB又连接到交换机上(这样做是为了模拟该数据采集系统的实际应用环境),双网卡同时捕获数据,并将捕获的数据和Agilent网络协议分析仪捕获数据作比较,测其捕包率;

3)Agilent网络协议分析仪直接与其中一HUB连接,可进行单网卡上的流量定量检测及报文统计对比。

在测试过程中,对模拟节点发送的网络报文进行了组织,以使网络负载流量达到一定指标。通过调整发送报文的长度和报文发送时间间隔,测试了在典型网络负载下的系统对网络数据的抓包能力。主要有以下几种情况:

① 模拟节点发送长报文帧(1 000 byte,指应用层数据,下同),系统双网卡同时工作;

② 模拟节点发送短报文帧(100 byte),系统双网卡同时工作;

③ 模拟节点1发送长报文帧 (1 000 byte),其它模拟节点发送短报文帧(100 byte),系统双网卡同时工作。

完成上述情况的测试,在相同的报文长度下,系统以单网卡方式工作,即以单网卡方式捕获交换机转发给该网卡的所有报文,并对系统工作性能进行对比。

测试结果表明,对长报文,在网络负载为12%的情况下(此时网络报文的流速达1 450帧/s),能100%捕获数据;对短报文,在网络负载达到10%,流速8 000帧/s的情况下100%捕获数据。如图4、图5所示(图6中速率表示帧/s)。

同时测试发现,在单网卡方式下,网络负载分别为 23%(长报文,流速 2 798 帧/s)、12%(短报文,流速 9 400 帧/s),均可 100%捕包。 如图 6、图7所示。

图4 长报文截获率与速率关系

图5 长报文截获率与利用率关系

图6 短报文截获率与速率关系

5 结束语

图7 短报文截获率与利用率关系

本文讨论分析在VxWorks操作系统下利用Intel 82559双网卡实现双通道网络数据监测采集系统技术。利用该技术实现了双冗余网络环境下,对网络无干扰监测和数据实时录取、分析的作战系统网络数据监测系统。应用表明,该系统工作稳定可靠,完全满足海军新型舰载作战系统网络监测、数据录取分析的使用需求。随着1 000 M网络技术的发展及应用,如何满足新环境下的使用需求是该系统面临的新的技术难题。

[1] 濮青.基于不同网络环境下的嗅探与反嗅探研究[J].计算机工程与设计,2004,25(7):1130-32,36.

[2] 朗锐.VC++编程实现网络嗅探器[J].电脑编程与维护,2003(9):71-73.

[3] 金锐,甘勇.基于WinPcap的网络底层数据采集系统设计[J].郑州轻工业学院学报,2004,19(2):66-68.

[4] 刘艳秋,安军社,张健.基于VxWorks的以太网接口设计与实现[J].计算机工程,2004,30(13):178-180.

[5] 田炜,刘利强.VxWork环境下双网卡冗余备份技术的实现[J].自动化技术与应用,2003,22(7):32-34.

[6] 周启平.VxWorks下设备驱动程序及BSP开发指南[M].北京:中国电力出版社,2004.

[7] JENG J J,FLAXER D,KAPOOR S.Rule BAM:A rulebased framework for business activity management[C]//Proc.of the 2004 IEEE Int’l Conf.on Services Computing,2004.

[8] HOAIH.Real-time communication for industrial embedded systems using switched Ethernet [C]//Parallel and Distributed Processing Symposium.Proceedings 18th International,2004:127-130.

[9] HE C,LIS,FANG X.Advanced c luster m anagement s ystem[C]//Proc.of 6th Int Conf.on Computer Sci.and Inform atics.Research Trian gle Park,NC,USA:JCISOffice,Duke University,2002:392-396.

[10] ZHANG L,LIU Z,XIA H C.Clock Synchronization a lgorithms for n etwork m easurements [C]//Proc.of Twenty—first Annual Joint Conference of the IEEE Computer and Communications Societies,2002:160-169.

Technology and Im plement ation of Data Monitoring System for Shipboard Dual Redundant Ethernet Network

Wei Sheng-jie Qin Ke Tan Xian-chun
China Ship Developmentand Design Center,Wuhan 430064,China

Dual redundant Ethernet technology is widely applied in modern shipboard combat system s.The well running networks are the basis for getting high efficiency of the shipboard combat system s.So it’s important tomaintain the network bymonitoring the network data.In this paper,the way to drive two intel NICs wa s given on VxWorks system,and the network datamonitoring& capturing system wa s also carried out.By testing, it proves that the system workswell and has a high reliability.

combat system;dual redundant ethernet network;network datamonitoring;ship

TP393.11

A

1673-3185(2010)03-59-04

10.3969/j.issn.1673-3185.2010.03.014

2009-10-14

海军“十一五”预研项目(010306010101)

魏胜杰(1975-),男,硕士。研究方向:舰船信息系统。E-mail:wei136@21cn.com

秦 克(1963-),男,研究员。研究方向:作战系统总体技术

猜你喜欢
驱动程序网卡以太网
部署Linux虚拟机出现的网络故障
阻止Windows Update更新驱动程序
Server 2016网卡组合模式
计算机硬件设备驱动程序分析
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
谈实时以太网EtherCAT技术在变电站自动化中的应用
挑战Killer网卡Realtek网游专用Dragon网卡
USB故障又一原因
基于ENC28J60的嵌入式以太网/CAN网关设计