










摘 要:網絡數據采集是網絡系統研制過程中重要的一環,能夠為系統排故分析提供可靠的數據支撐,保障系統安全穩定運行。為提高數據采集系統對復雜網絡的采集效率,文章設計一款基于虛擬分布式技術的網絡數據采集系統,并圍繞系統實現、可靠性與實時性分析等方面展開論述,通過對系統架構的改進,計算機硬件資源得以充分利用,提高了數據采集的效率,可為系統試驗分析提供可靠支撐。
關鍵詞:分布式計算;虛擬化技術;數據采集
中圖分類號: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