基于虚拟分布式技术的网络数据采集系统设计与分析

known 发布于 2025-08-25 阅读(315)

摘 要:网络数据采集是网络系统研制过程中重要的一环,能够为系统排故分析提供可靠的数据支撑,保障系统安全稳定运行。为提高数据采集系统对复杂网络的采集效率,文章设计一款基于虚拟分布式技术的网络数据采集系统,并围绕系统实现、可靠性与实时性分析等方面展开论述,通过对系统架构的改进,计算机硬件资源得以充分利用,提高了数据采集的效率,可为系统试验分析提供可靠支撑。

关键词:分布式计算;虚拟化技术;数据采集

中图分类号:TN92;TP274+.2 文献标识码:A 文章编号:2096-4706(2024)08-0006-05

DOI:10.19850/j.cnki.2096-4706.2024.08.002

0 引 言

随着通信网络技术和计算机应用技术的不断发展,网络监控技术和网络侦听技术均得到大幅提升,将主流网络监控技术和网络数据包采集技术应用到地面测发控通信系统的运维与保障上,能够提高网络监控的实时性、稳定性与可靠性,同时提高系统数据包的采集能力,从而为通信系统提供可靠的分析数据源,为试验故障诊断提供信息和技术支撑,给地面测发控通信系统的运行保驾护航。

目前主流的网络数据包采集技术受限于硬件驱动和计算机处理性能,软件抓包性能难以满足测发控网络系统的业务需求,当骨干网络系统处于业务数据传输峰值时,会导致抓包数据丢失,从而无法满足系统故障诊断与定位需求。针对该问题,本文提出一种基于虚拟分布式技术的网络数据采集系统框架,该框架融合虚拟机技术与分布式部署技术[1,2],在保留软件抓包驱动及算法优势不变的情况下,升级系统部署模式,提高系统整体抓包能力。

1 网络拓扑设计

基于虚拟分布式技术的网络数据采集系统适用于测发控通信专网[3-5]的流量监控与数据包采集。系统旁接在骨干交换机上,通过业务端口的映射(将需要采集的多个业务端口流量映射到一个监听口上),实现对整体网络多个骨干交换机的数据采集。系统主要由云服务器设备、云虚拟机系统与虚拟抓包服务程序组成。将多套虚拟机抓包服务部署在云服务器中的不同虚拟机系统中,实现分布式数据包采集功能。与传统数据采集框架相比,通信网络结构设计未变化,主要改变了抓包程序的部署模式。系统拓扑总体框架设计图如图1所示。

传统数据采集架构只能采集一个骨干交换机的数据,需要多台抓包服务器来完成整个网络骨干交换机的数据抓取,该设计方案硬件成本与运维成本较高,可扩展性差,已经不再适用于目前大数据流量下的测发控网络系统。

虚拟分布式数据采集架构可以虚拟多个抓包终端,部署的数量由云服务器的物理以太网接口决定,相较传统的数据采集架构,虚拟分布式数据采集架构的采集能力得到大幅的提升,且具备更好的扩展性。

2 系统架构设计

本系统积极吸取华为交换机流量镜像技术、分布式云技术、LibPcap软件抓包技术[6,7]、ElasticSearch数据库技术,以SpringBoot框架作为系统服务后端,Vue框架作为界面前端搭建基于虚拟分布式数据采集系统。系统结构框图如图2所示。

2.1 物理层

物理层主要负责生产业务流量,测发控网络由多台互连核心交换机与多台接入交换机组成,业务工作站与业务终端设备通信产生的流量数据,都会通过交换机流量镜像技术,生成一份流量拷贝到交换机数据采集口,供数据采集设备进行采集接收。

2.2 链路层

链路层主要负责流量数据拷贝,云服务器通常包含多个网卡接口,每个网卡接口能够配置一个软件抓包服务来采集从交换机数据采集口传输过来的数据流量。数据包到网卡后,通过网卡驱动触发硬件中断,将数据拷贝到内核缓冲区,再通过Socket套接字将数据从内核缓冲区发送至用户缓冲区,用户应用程序不断遍历用户缓冲区来获取流量数据[8]。

2.3 数据层

数据层主要负责储存采集到的流量数据,主要用到的数据库包括MySQL数据库和ElasticSearch数据库。MySQL数据库主要用来保存系统配置信息,ElasticSearch数据库主要用来保存数据原始流量信息。

2.4 应用层

应用层主要负责接收流量数据并保存至数据库,以及对数据进行可视化管理。主要包括数据解析软件和数据采集软件,数据解析软件基于Spring Boot框架和Vue框架,构建基于B/S架构的应用软件系统;数据采集软件基于Qt框架,以服务程序的形式实现流量数据的采集与储存。

2.5 用户层

用户层主要负责网络数据的可视化管理,包括数据的查询、下载以及删除功能。系统界面将以Web服务的方式呈现。

3 基于虚拟分布式技术的数据采集系统实现

3.1 硬件实现

传统数据采集系统采用集中式架构,将抓包程序部署在一台性能强大的独立服务器操作系统当中,不能有效地利用硬件资源,且数据采集能力受到系统CPU分配机制的影响,无法满足通信网络中大流量数据的实时、稳定地采集要求。随着云技术与分布式计算[9]的逐渐成熟,测发控系统[10]也引入了云计算设备来提高系统计算能力[11],这为本文数据采集系统实现提供了硬件支持。针对传统数据采集系统存在的问题,本文提出一种虚拟分布式部署方式,能有效利用硬件设备的计算资源,提高系统整体的数据采集能力。

3.1.1 交换机端口镜像

某交换机存在端口数N个,若将所有端口数据拷贝至某端口进行集中式采集,会因数据包流量过大导致数据采集系统丢弃数据。本文提出一种分布式采集方案,假设某云服务器物理网卡数量为M个,将交换机N个端口划分成M个子区域,每个子区域提供一个数据映射端口进行数据采集。端口划分可以按数量划分,也可以按流量划分。分布式采集的优势在于,有效降低了抓包程序的运行负荷,提高了整体系统的数据采集稳定性。

3.1.2 云平台环境搭建

如图3(a)所示,端口划分之后,传统抓包程序部署模式已经不能满足业务需求,需要根据交换机端口子区域划分个数进行抓包程序部署。连接交换机子区域采集端口与云服务器物理网口,在云服务器中搭建M台虚拟机系统,对物理网卡与虚拟网卡进行数据映射,将抓包程序分别部署在每一台虚拟机。不同的虚拟机抓包程序分别处理不同的物理网卡数据,达到分布式处理效果,如图3(b)所示。传统抓包程序部署模式与分布式部署模式对比如图3所示。

交换机端口划分完成数据包不同区域的分发,通过物理网口连接,将数据包传递到云服务器,云服务器的物理网卡与每个虚拟机的虚拟网卡进行绑定,每个抓包程序能在虚拟机内抓取云物理机的物理网卡数据,实现完整的基于虚拟分布式技术的网络数据采集系统,如图4所示。

3.2 软件实现

在虚拟分布式部署方式的基础上,搭建网络数据采集系统,用来储存网络数据采集流量以及对数据进行可视化管理。

3.2.1 基于Qt的数据采集软件

数据采集软件主要负责接收数据链路层传递过来的网络流量数据包,并实时记录采集数据包数量回传给前端界面进行显示。数据采集软件主要包括WebSocket传输模块、LibPcap数据采集模块、主线程模块。数据采集软件模块框图如图5所示。

WebSocket传输模块主要负责向前端界面传递数据包采集数量以及采集口信息,比如网卡名等信息;

LibPcap数据采集模块主要负责数据接收与保存,当网络流量数据包从网卡驱动发送至应用层后,模块触发响应函数,将流量数据保存为.pcap文件;

主线程模块主要负责加载数据采集软件的配置项参数,初始化WebSocket线程以及LibPcap线程;

3.2.2 基于SpringBoot的数据解析软件

数据解析软件主要负责对硬盘上存储的.pcap文件进行业务解析,解析内容包括源IP地址、目的IP地址、源端口、目的端口、传输协议等。解析后的信息将保存到ElasticSearch(ES)数据库中,方便前端界面进行快速检索。数据解析软件主要包括JPcap模块、ES数据库模块、数据包下载模块。数据解析模块框图如图6所示。

1)JPcap模块主要负责解析由数据采集软件产生的.pcap文件,将其解析为用户可理解的数据信息,并将解析结果保存在ES数据库中。

2)ES数据库模块主要负责解析软件中涉及ES数据库的相关操作,比如增删查改等数据操作。

3)数据包下载模块主要负责将.pcap文件打包传递给前端用户,方便用户进行故障诊断与排查。

3.2.3 基于Vue的软件界面

用户界面基于Vue框架,采用WebStorm编译器开发,主要包括数据包查询、查询条件输入框、数据包下载、历史数据包管理功能。用户界面示意图如图7所示。

4 可靠性与实时性分析

4.1 可靠性分析

数据采集系统承载了整个网络系统的记录功能,一旦失效所造成的损失十分巨大,有效地对系统可靠性进行评估是极为重要的。选取交换机为信息传输起始点,抓包程序为信息传输终结点,对整体信息传输系统进行建模。首先分析传统数据采集系统的可靠性,如图8所示,系统为串联系统,根据图8列出系统可靠性方程:

式中R0、Rs、Rp、Rc分别为传统数据采集系统、交换机、数据传输、抓包程序的可靠性参数。

基于虚拟分布式技术的数据采集系统为串并系统,如图9所示。根据图9列出系统可靠性方程:

式中Rn为基于虚拟分布式技术的数据采集系统可靠性,M为云服务器物理网口数量,式中设为4。

由以上可靠性建模与分析可知,与传统数据采集系统相比较,基于虚拟分布式技术的数据采集系统可靠性更高。

4.2 实时性分析

基于虚拟分布式技术的数据采集系统采用分布式处理架构,数据传输过程不同于传统的数据采集系统,因此有必要分析信息传输的实时性。以交换机端口输出数据量作为信源,抓包设备捕获数据包作为信宿,传统的数据采集系统与基于虚拟分布式技术的数据采集系统实时性如图10所示。

由图10可知,传统的数据采集系统信息传输时间T0和基于虚拟分布式技术的数据采集系统传输时间Tn分别为:

式中M为云服务器物理网口数量。比较两者公式易得T0>Tn,因此基于虚拟分布式技术的数据采集系统信息传输时间比传统数据采集系统更快。

5 结 论

基于虚拟分布式技术的网络数据采集系统相对于传统数据采集系统,有效利用了硬件资源,提高了数据处理效率,增加了系统可靠性。系统部分设计思路已应用于长征火箭统型地面测发控通信系统设计当中,系统工作正常稳定,为系统排故、试验、保障提供有力支撑,对于其他类型通信网络同样具有借鉴意义。

参考文献:

[1] 马宗瑞,岳玮,姚京红,等.一种面向运载火箭测发控的虚拟化系统优化设计 [J].导弹与航天运载技术:中英文,2023(3):111-117.

[2] 魏永国,张海波,欧阳李青,等.运载火箭测发控系统服务器集群虚拟化的设计与实现 [J].上海航天:中英文,2023,40(S1):115-121.

[3] 王之平,黄晨,王铭瑶,等.CZ-2F运载火箭远程辅助测试系统的设计与应用 [J].导弹与航天运载技术,2022(1):121-125+137.

[4] 王晓林,王铭瑶,白冰,等.一种基于自主发射控制的运载火箭地面测发控系统设计 [J].导弹与航天运载技术,2022(2):84-90.

[5] 张晨光,吕明,刘巧珍.基于云计算一体化测试发控系统设计与分析 [J].导弹与航天运载技术,2018(3):114-118.

[6] 廖俊云,范明钰,王光卫.一种改进的基于WinPcap的快速抓包方法 [J].计算机应用研究,2005(9):235-236+239.

[7] 吕雪峰,彭文波,宋泽宇.网络分析揭秘:原理、实践与WinPcap深入解析 [M].北京:机械工业出版社,2012.

[8] 白冰,王丹.基于简单网络管理协议的运载火箭网络监控系统研究 [J].导弹与航天运载技术,2013(3):69-72.

[9] GEORGE C,JEAN D,TIM K,等.分布式系统概念与设计:第5版 [M]. 金蓓弘,马应龙,译.北京:机械工业出版社,2013.

[10] 余力凡,张磊.运载火箭测发控网络设计 [J].航天控制,2008(4):68-74.

[11] 金海,廖小飞.面向计算系统的虚拟化技术 [J].中国基础科学,2008,10(6):12-18.

作者简介:马宗瑞(1991—),男,汉族,北京人,工程师,硕士,主要研究方向:火箭地面测发控系统设计;卢頔(1984—),男,汉族,北京人,高级工程师,博士,主要研究方向:火箭地面测发控系统设计;钟伟(1980—),男,汉族,广西桂林人,高级工程师,硕士,主要研究方向:通信网络智能化管控设计;曾庆豪(1995—),男,汉族,广西桂林人,助理工程师,硕士,主要研究方向:通信网络智能化管控设计;曹艺(1991—),男,汉族,广西桂林人,助理工程师,硕士,主要研究方向:数据挖掘与分析。

收稿日期:2023-08-03

Design and Analysis of Network Data Acquisition System Based on

Virtual Distributed Technology

MA Zongrui1, LU Di1, ZHONG Wei2, ZENG Qinghao2, CAO Yi2

(1.Beijing Institute of Aerospace Systems Engineering, Beijing 100076, China;

2.The 34th Research Institute of China Electronics Technology Group Corporation, Guilin 541004, China)

Abstract: Network data acquisition is an important part in the development process of network systems, which can provide reliable data support for system troubleshooting analysis and ensure the safe and stable operation of the system. In order to improve the acquisition efficiency of data acquisition systems for complex networks, this paper designs a network data acquisition system based on virtual distributed technology, and discusses the system implementation, reliability, and real-time analysis. By improving the system architecture, computer hardware resources can be fully utilized, improving the efficiency of data acquisition and providing reliable support for system experimental analysis.

Keywords: distributed computing; virtualization technology; data acquisition

标签:  数据 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor