基于OSI的便携式综合信息数据处理系统检测设备的设计*

2023-01-08 03:57向志强
舰船电子工程 2022年10期
关键词:报文数据包监控

杨 丽 杨 洋 向志强

(中国人民解放军91114部队 上海 200000)

1 引言

现代战争早已不是冷兵器时代的单打独斗,更多的是涉及到海、陆、空多方协同的作战,是体系与体系的对抗[1]。主导战场主被动权的不仅仅是兵力、火控武器的编配,更多的是敌我双方的制信息权的比拼[2~3]。制信息权已成为夺取战场综合控制权的核心[4]。需要不出错误地上传下达己方信息,同时有效截获、解析、干扰、抑制敌方信息的传送。

在多兵种、多平台、多系统的协同作战单元内部,各种信息数据量庞大,必然需要有一台综合的信息数据融合处理系统来解析、传送各种信息[1,5]。该系统的信息处理速度、正确性、吞吐量等则可能就对战场的胜负局面起到了决定性的作用。因此,保证此类综合信息处理系统的正常运转就变得十分关键,一旦出现问题,能否快速对其进行正确、快速的诊断也就必然将成为系统作战效能评估中的重要一环[6~7]。

在此背景下,研究一台针对此类综合系统的便携式的检测设备,对日常装备检测、战时临抢修,保持作战系统战斗力具有积极的意义[8~10]。

2 系统架构

便携式检测设备需要能够完成对局域网或广域网数据交换设备进行网络质量分析和强度测试;能监听检测被测设备,从被测设备接收UDP和TCP等报文;能注入自定义报文,可实时监控网络数据包状态、网络延时、丢包和带宽占用情况等。

2.1 硬件架构

综合信息数据处理系统检测设备(后文简称检测设备)由网络监控子卡、便携式加固一体机、调试配件、配套软件组成。

其整体系统硬件架构如图1所示。

图1 系统硬件架构

2.2 软件架构

便携式一体机采用人机交互友好的Windows系统,网络数据交换分析模块采用性能和扩展性更高的Linux系统。

综合信息数据处理系统处理的数据来源多、格式多、数据量大[7]。检测设备需要对业务网的网络报文通信进行检测与管理;要对接入网的数据交换端口进行强度测试、网络状态监控及网络故障包注入;要能支持UDP、TCP、ARP和ICMP等协议,要实时监控网络数据包状态、网络延时、丢包和带宽占用情况等。

基于标准 TCP/IP的7层OSI体系架构[11~14],对上述需求进行原理解构,功能拆分,通过对协议栈的适当修改及功能嵌入,对驱动进行优化改造,将检测设备的软件功能子模块耦合嵌入OSI体系结构[12],架构原理图如图2所示。实线文本框中为检测设备软件的功能子模块与OSI体系结构的耦合改造原理。

图2 软件原理解构

具体功能实现技术途径如下:

1)流量过滤:利用ACL技术来控制端口进出的数据包,配置ACL后可以限制网络流量,允许特定设备访问,指定转发特定端口数据包等;

2)包延时测量:利用网络时间协议NTP来实现数据包的时延测试;

3)包捕获、监视、流量生成、自定义包发送:zkpcap中间件提供捕获网络流量的应用程序编程接口(API),调用相关接口即可以实现;

4)流量分析、包解析:zksharkLib中间件提供数据包分析、协议解析的应用程序编程接口(API),调用相关接口即可以实现;

5)带宽管理、网络拥塞优化:可以利用Qos技术来扩展传输的带宽,降低传送的时延,降低数据的丢包率以及时延抖动等;

6)网卡驱动:实现网卡收发数据包的功能,并针对性优化提高网卡收发包的效率,保证网卡本身不丢包,同时构建MUX层实现零拷贝技术提升网路报文发送的性能和实现性,同时钩子函数向上层提供最原始的报文监控;

7)人机交互设计:QT是一个跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序。其具有优良的跨平台特性、面向对象、丰富的API、支持2D/3D图形渲染,支持OpenGL。本软件主体界面采用QT设计,能够提供优良的人机交互场景并保证可扩展性和可维护性;

8)网络管理:基于SNMP协议可以实现对网内的网络单元进行节点管理。

3 系统硬件设计

检测设备主要由定制计算机模块、网络数据交换分析模块、人机交互及系统监控单元等组成。其硬件设计原理框图如图3所示。

图3 系统硬件原理框图

3.1 定制计算机模块

该单元主要为定制的加固便携式一体机,主处理器采用高性能处理器,内存为DDR4容量大于等于8GB、存储采用2T的固态盘、M.2接口、2路千兆电口和RS232串口组成。

该单元采用的高性能处理器,可以充分保证检测设备自身的网路带宽和性能;遵循了测试设备性能大于被测设备从而保证测试的可靠性;同时能够充分保证检测设备所有的测试操作都能提供流畅的人机交互。

3.2 网络数据交换分析模块

该模块主要由网络数据交换单元、数据分析与生成单元、数据存储单元组成,其功能框图如图4所示。

图4 网络数据交换分析模块功能框图

网络数据交换单元主要提供可配置的端口镜像功能和数据交换功能;数据分析与生成单元主要提供网络报文过滤、生成等后台功能;数据存储单元提供历史日志维护导入导出,现场报文记录等功能。

模块中数据交换单元可以配置多种镜像端口组合方式,由数据处理单元通过MDIO配置。交换模块中通过万兆聚合口将数据镜像给计算单元能够充分保证其带宽。存储单元可以保存历史分析数据,提供现场报文记录,容量可升级,为复杂的网络现场排故提供了后台分析功能。

3.3 系统人机交互

该单元采用Windows风格的人机交互界面,主显示模块为一块1080P高清显示屏,提供良好的操作性。提供分辨率不低于1920*1080的屏幕显示效果,同时具备屏幕防眩目的设计。

4 软件设计

软件采用模块化设计,多线程编程,前后台分离,可最大程度地保障软件运行的流畅度。

4.1 软件功能框架及流程

检测设备需要兼顾人机交互、协议分析、网络监控、网络测试,其功能框图如图5所示。

图5 检测设备软件功能架构

软件以主流的PCAP技术为导向,借鉴wireshark界面设计思路,采用QT图像技术,融合钩子函数嵌入、零拷贝技术及驱动层的改造来实现具体的各功能模块。软件各子功能模块采用组件模块化设计思想,模块之间松耦合,便于扩展及定制化功能,保证软件的稳定性和可维护性。采用QT开发软件,使得软件具备良好的人机交互效果。

软件流程图如图6所示。

图6 检测设备软件流程图

4.2 人机交互模块

4.2.1 显示界面设计

采用Window开发技术及合理的软件规划设计来保证检测设备具有良好的人机交互体验,操作界面简洁易于操作;各项状态参数、测量数据、监控信息的显示整洁直观。

图7给出了其中协议分析的一个示例。

图7 协议分析的人机交互界面示例

4.2.2 数据导入/导出

在常用的Winform开发框架中引入一个通用的数据导入模块,功能示意如图8所示。既有公用的导入界面,同时还提供一些属性和接口给外部调用对象进行操作,由后台线程进行数据保存并显示导入进度。数据导出只需要把数据按照导入模板约定的字段名称导出即可。

图8 数据导入/导出模块功能示意

4.3 协议分析模块

通过硬件设计的网络镜像端口,捕获由不同装备到达综合信息数据处理系统的数据包,通过人机交互界面对通信接口协议及有关技术参数进行解析和存储。记录数据包各处于OSI模型的第几层,也即所找到的协议使用了哪些下层协议,又被哪些上层协议所使用。在此基础上,基于SNMP进行网络管理,并将装备状态信息可视化地显示在人机交互界面中。

图9 数据解析功能示意

4.4 网络监控单元

该单元采用Windows平台下的NDIS中间层技术实现网络监控。应用NDIS支持的3种类型的驱动程序——传输层驱动程序、中间层驱动程序、微型端口驱动程序,将传输层和链路层之间发送和接受的数据进行统计并存储,从而实现实时监控网络数据包状态、网络延时、丢包和宽带占用情况,支持UDP、TCP、ARP和ICMP标准网络协议。其原理实现如图10所示。

图10 网络监控实现示意

5 结语

综合信息数据处理系统装备在现代作战中具有重要地位,其能保持良好的工作状态将有效提高整个战场作战系统的综合作战效能。本检测设备的研制成功,在平时可以通过网络质量分析、强度测试、实时监控网络数据包状态等方式对系统的功能性能进行检测;在出现故障时可实现快速、准确定位故障点,缩短修理周期,提高维修效率。

猜你喜欢
报文数据包监控
基于J1939 协议多包报文的时序研究及应用
二维隐蔽时间信道构建的研究*
The Great Barrier Reef shows coral comeback
低轨星座短报文通信中的扩频信号二维快捕优化与实现
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
C#串口高效可靠的接收方案设计