《基于以太网的数据链监视系统研究与实现.docx》由会员分享,可在线阅读,更多相关《基于以太网的数据链监视系统研究与实现.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于以太网的数据链监视系统研究与实现ronggang导语:本文通过分析美军数据链的根本特点及技术标准,初步讨论了建立数据链监视系统的必要性和可行性,并给出了相应的实现方案,包括系统原理、构造组成及功能,重点给出了基于以太网的数据链监视系统的软件设计和实现方法摘要:战术数据链在当代战争中的作用日益突出,尤其是美军数据链系统的开展一直走在世界前列,对其进展深化研究,对于开展新型数据链具有特别重要的现实意义。本文通过分析美军数据链的根本特点及技术标准,初步讨论了建立数据链监视系统的必要性和可行性,并给出了相应的实现方案,包括系统原理、构造组成及功能,重点给出了基于以太网的数据链监视系统的软件设计和实
2、现方法。关键字:数据链以太网监视捕包解码战术数据链是一种按规定的消息格式和通讯协议利用各种先进的调制解调技术、纠错编码技术、组网通讯技术和信息交融技术以面向位的方式实时传输格式化数字信息的数据通讯系统。美军数据链系统的开展一直走在世界前列,对其进展综合研究,设计建立以太网监视系统,对于开展新型数据链具有特别重要的现实意义。2美军战术数据链美军数据链研究从20世纪50年代开场。半个多世纪以来,美国和西方各国已连续开展各类数据链几十种,目前仍在服役的还有十余种。主要数据链如下表所示。表1美军主要数据链通过对美军数据链的研究,不难发现其具有消息格式多样、应用平台广泛、支持业务种类多、链路容量大、传输
3、速率高等特点。3数据链以太网监视系统设计3.1系统功能需求当代战争所需要的数据链系统,是一个能联络分布在海陆空天电的各类平台和传感器、数据处理和指挥控制单元,以及各作战部队的数据网络,这个网络把各指挥系统和作战部队有机地组织起来,形成信息上风和作战上风。从这种意义上讲,建立一个通过计算机实时收集、监视、记录、分析链路传输的数据,并以数据格式显示,以保障数据链消息可靠、高效、无冲突传输的监视系统特别必要。因此设计以太网监视系统应当具有以下功能:1、数据收集:具备以太网上多路接口报文捕捉功能;2、解码、显示:解码并根据用户需要采用各种图、表显示数据和分析结果;3、数据处理:对收到的数据包,根据类型
4、、大小、内容等属性分类、统计、分析、存储、回放;4、数据过滤:在收集、显示、统计时,根据需要设置一定的过滤条件。3.2系统方案设计数据链终端设备主要由数据处理器、结合信息分配系统终端、天线等局部组成,根据需要可配置在各军兵种不同级别的指挥平台上,其组成如图1数据链终端局部所示:align=center图1数据链终端及以太网监视系统构造框图/align数据处理器是数据链终端设备的核心,相当于一个翻译器,所有流经数据链的数据包都必经它的处理,因此将数据处理器所连接的交换机端口镜像到网络监视系统所连接的端口,收集所有数据处理器进出的信息,就可以到达监视数据链链路的目的。根据上述思想设计监视系统如图1
5、所示。系统的根本工作流程描绘如下:1捕包子系统截获镜像端口上传输的数据包,存储到数据库中,并送解码分析子系统处理;2解码分析子系统实时读取截获的数据包,解析数据包的源地址、目的地址、端口信息、协议信息等信息元素和数据包中携带的指挥信息、态势信息等作战元素,并根据数据包类型、大小、内容等属性进展分类、统计、分析;3显示子系统实时显示解码分析子系统解码得到的各类信息元素和作战元素;4当用户通过显示子系统的交互界面回放历史数据时,显示子系统从数据库中取出所调数据包,送解码分析子系统解码后显示。4数据链以太网监视系统实现数据链以太网监视系统分为捕包、解码分析、显示三个子系统实现,本文在Windows2
6、000平台下基于VisualC+6.0设计开发。对于显示子系统,目前实现技术已较成熟,本文将重点讨论捕包和解码分析子系统。4.1网络捕包基于NDIS的核心态包过滤技术具有较高的构造性和可扩展性,其中间层驱动程序处于Miniport驱动程序数据链路层和Protocol驱动程序网络层之间,所有发送到网络和从网络接收的数据包都要由此通过,因此中间层驱动程序可以对所有网络数据包进展过滤和处理。故NDIS中间层驱动程序是实现以太网监视的理想选择。本文使用微软的驱动程序开发包DDK进展NDIS中间层驱动程序编程。详细流程为:1NDIS驱动程序在主入口函数DirverEntry中调用NdisMinitial
7、izeWrapper函数注册输出函数集入口,得到设备句柄;2输入1得到的句柄调用NdisIMRegisterLayeredMiniport,为NDIS中间层驱动程序注册一套Miniport回调函数,这样上层Protocol协议就以为中间层驱动程序是网卡,并通过NDIS库调用这些回调函数;3调用NdisRegisterProtocol,为NDIS中间层驱动程序注册一套Protocol回调函数,这样下层网卡就以为中间层驱动程序是一个协议,并通过NDIS库调用这些函数;4当操纵系统发现NIC时,NDIS调用中间层驱动程序注册的ProtocolAdapterBind函数,该函数内部需要调用NdisOp
8、enAdapt翻开适配器,保证了网卡和中间层的绑定关系;5调用PtReceivePacket接收网卡收到的数据包;6数据包与所设置过滤规那么进展比拟,不知足规那么时调用函数返回NDIS_STATUS_NOT_ACCEPTED,该宏在ndis.h中定义,这样就完毕了本接收函数的调用。针对战术数据链特殊的应用需求,保证监视系统稳定、高效运行特别重要。然而,传统的NDIS中间层驱动捕包算法在入口点对应的函数直接对数据包进展处理,当数据量很大时,会耗尽NIC驱动程序的接收缓冲区空间,造成输入输出阻塞,降低下层NIC从网络中接收数据包的才能,严重影响系统性能。为了进步系统的处理效率,在对网络适配器进展操
9、纵时,应确保系统在网络适配器的接口系统中拥有足够的缓冲区,中间层驱动程序不在入口点对应的函数里对数据包直接进展处理,而是调用PtReceivePacket接收后直接送入预留的内存缓冲区,等候上层程序处理,并尽快返回函数。采用这种处理方案,不仅防止了阻塞产生,同时使得数据包捕捉和上层程序处理并行工作,进步了网络捕包的效率。根据上述思想,中间层驱动程序初始化时首先建立接收数据包的内存缓冲区队列、发送数据包的内存缓冲区队列各一个,建立一个内核线程;当发送数据包队列中有数据需要处理时通知内核线程,将下层输入的数据包缓存在接收数据包的内存缓冲区;当上层程序空闲时,通知内核线程读取内存缓冲区中的数据包,释
10、放被占用的接收缓冲区空间。算法描绘流程如图2:align=center图2网络捕包算法流程图/align4.2解码分析通过网络捕包,得到了数据链链路上所有用户关心的数据包,面对这些数据包,必须解码分析,才能将有用信息传递给用户。然而数据链系统体制各异,协议格式多样,单一解码机制不适用,需要一个对各种协议格式通用的解码模型。另一方面,数据链监视系统特殊的应用需求不仅要求解码分析子系统将数据包的源地址、目的地址、端口信息、协议信息等信息元素解码显示,更主要的还要将数据包携带的指挥信息、态势信息等作战信息解码显示。首先对所捕捉数据包的信息元素解码。解码分析子系统从捕包子系统读取的数据包是以太网帧,要
11、对其解码分析,必须理解以太网帧的帧构造如图3所示。数据在网络上传输时被从应用程序传送到一个协议栈上,当数据在栈上一层一层地向下传送时,每一层的相应协议把上一层传送下来的数据封装为自己的格式,具体请参考(TCP/IP详解)。数据包解码就是通过这些格式来获取地址信息、端口信息、包类型信息等信息元素。align=center图3以太网帧构造/align通过上述解码得到应用数据段。采用面向比特型报文是美军战术数据链报文最突出的特点之一。数据链以太网中应用程序主要是各种数据链协议将作战信息和报头封装为应用数据。每个报文含有一条或者多条消息,每条消息又含有一个或者多个消息字,战术信息按消息格式封装在消息字
12、中。消息格式因采用的数据链不同而异。本文建立基于数据链消息标准描绘数据库的XML数据描绘文件,以函数调用接口的方式提供用户使用。消息字中的作战信息在逻辑意义上分为各个元素,解码时以元素为最小解码单元。开场解码时,解码模型提取消息系列标识和消息标识,即所解码数据链的消息格式和当前解码消息的标号,与XML数据描绘文件中的消息数据库相比对,进展消息解码。采用XML文件,便于消息标准的修订,当标准修订后,只需修改XML文件,不需修改解码源程序就可适应实际需求,大大简化了系统的实现和维护。详细算法流程如图4:align=center图4作战信息解码算法流程图/align本文作者创新点:通过对美军数据链技
13、术标准的分析研究,结合军事需求,设计提出了基于以太网的数据链监视系统,从详细实现的角度,应用功能强大、开展前景很好的NDIS中间层驱动程序实现捕包,并在性能上做了优化;采用基于数据链消息标准描绘数据库的XML数据描绘模型实现各种战术消息的解码。本文所提出系统对数据链的进一步开发有很好的参考价值和现实意义:1、可进步数据链整体规划设计的效率,为联调中系统测试和性能测试提供可靠有力的技术支撑;2、部队实现数传指挥后,通过监视系统的实时显示和数据回放功能,可分析研究各作战单元与指挥控制单元间的协同配合,有利于及时发现问题,进步日常训练效果,保障战时链路可靠;3、以可视化的图形窗口、灵敏的交互界面显示
14、用户关心的数据包信息及链路信息,便于网络治理者、操纵者的交互操纵。基于以太网的数据链监视系统开发是一项非常复杂的工作,十分还要考虑数据链协同互联问题和系统可靠性问题,今后将在协同互联和可靠性上做进一步研究。1黄烈炎,魏蛟龙.美军数据链建立及启示.舰船电子工程,Vol.25,No.2,2005:29-322刘红军,徐永胜.美军战术数据链报文格式及其特点.中国电子科学研究院学报,Vol.1,No.3,2006:291-2953StevensWR.TCP/IP详解.北京:机械工业出版社,20004MicrosoftDDKForWindows2000文档,200085MicrosoftCo.Windows2000驱动程序开发大全:第一卷设计指南M.冯博琴译.北京:机械工业出版社,20016侯功华,赵远东.基于NDIS中间层的包过滤的研究与设计.微计算机信息,2006,12-3:141-143