孟學軍,何高峰,邵 烽,蔡 瑋
(1.宇航動力學國家重點實驗室,陜西 西安 710043;2.西安衛星測控中心,陜西 西安 710043)
網絡流量監視測量是網絡管理的基礎。業界廣泛使用基于硬件探針的監測、流量鏡像、SNMP和Netflow等技術針對公開協議數據進行網絡流量監測[1],多是被動測量。專用IP網絡為星型結構[2-4],采用“核心/匯聚/接入”模式組網[5-6],結構復雜,業務數據采用專有協議,網絡承載業務流超萬余條,網絡流量達Gbit,數據流缺乏有效的監測分析手段,故障快速定位和復現困難。公開的網絡測試工具[7]與專用網的流量監視點、數據流顆粒度、業務測試內容和應用需求等關注點差異大,直接應用難以滿足專用網的性能監測需求。在此情況下,本文綜合國內外研究成果,采用海量數據包監測、存儲和分析技術設計專用網流量監視和測量系統,解決各類數據流實時監視、原樣存儲、回放和實際業務模擬測量難等問題。
網絡流量監測是網絡高效運維不可或缺的手段,目前網絡流量監視技術[8-9]主要有4種:
① 基于硬件探針的監測技術。硬件探針串接在鏈路上,一個探針監測一個子網,全網流量監測需要部署多個探針,通過后臺服務器和數據庫收集所有探針的數據,進行全網流量分析,提供物理層到應用層信息。缺點是監測大流量鏈路會引起監測數據丟失,造成監測結果不準確。
② 基于流量鏡像的協議分析技術。將網絡設備的某個端口流量鏡像到協議分析軟件或設備,通過協議分析解碼對網絡流量進行監測,特別適合網絡故障分析。缺點是流量鏡像只能針對固定鏈路,如果在核心交換機上監測,大數據流量需要分析軟件和設備具有很強的計算能力。
③ 基于SNMP的流量監測技術。測試軟件或測試儀提取網絡設備管理對象信息庫中與流量信息有關的變量,分析監測網絡流量。缺點是信息不夠豐富準確,主要分析網絡的第二、三層信息。
④ 基于Netflow的流量監測技術。Netflow流量信息采集基于網絡設備提供的Netflow機制實現。路由設備統計網絡流量,將結果發送到第三方流量監測軟件或設備,再監測分析網絡流量,全網采集效率高,網絡規模越大成本越低。缺點是沒有分析網絡物理層和數據鏈路層信息。
針對專用網絡承載數據使用專有協議、流量集中在核心網絡設備的特點,通過對上述網絡流量監測技術分析評估,采用基于流量鏡像的協議分析技術來設計專用網絡流量監測系統。
專用網流量監視和測量軟件結構[10-11]如圖1所示。

圖1 專用網流量監視和測量軟件結構Fig.1 Specified IP network traffic monitoring and measurement software structure diagram
分為網絡流量監視和網絡實時測量2部分,包括數據的采集、實時分析、信息存儲、事后回放、軟件配置管理、監測結果上報、軟件運行日志記錄、信息事后統計、測試結果顯示和存儲,以及日志查詢等功能。
系統使用QT開源軟件建模[12-13],實時記錄網絡數據能力不低于100 Mbps,持續記錄5 min數據量500 MB左右;采用多線程和快速數據匹配算法[14],實現每秒數十萬包的分析能力,根據硬盤容量刪除最早記錄文件,確保最新數據文件及時存儲。
系統通過旁路靜默方式獲取、過濾、分析和處理數據包,實現網絡性能和流量監測、數據包協議分析,為網絡運行管理提供數據支撐和輔助決策;通過采集五元組信息,實時分析數據,顯示網絡運行整體態勢;根據業務數據結構,模擬實際數據包,測量網絡環境,給出定性分析。
① 網絡流量監視模塊的功能。主要包括信息采集、信息檢測識別及信息實時分析等8個單元。信息監測識別單元主要對采集數據進行監測識別,將需要分析的數據送往實時分析單元;信息實時分析單元對數據進行分類統計,計算實時網絡收發總流量、業務流量及帶寬占用率;信息存儲單元對采集的原始數據和分析結果進行實時存儲,為事后分析提供數據;軟件配置管理單元用于配置維護軟件,配置信息包括信源信宿代碼表、源IP地址、各方向鏈路帶寬、抓包文件存儲路徑、網卡及當前所屬站點等;監測結果上報單元和安全監視信息顯示單元采用B/S模式,實現監測結果的實時上報,測量信息、電路信息和當前任務信息顯示。
② 網絡測量模塊的功能。主要包括信息事后統計、運行場景配置及網絡測量等7個單元。信息事后統計單元在指定時間段內對測量結果進行分類統計;網絡測量單元按照用戶設置的方向、測試模式及數據格式自動進行通信鏈路測試,實現自動聯調,并根據信息交互方向篩選分析數據和應用協議的特征字段,根據信息IP地址篩選事后數據分析報文,支持ICMP測試和模擬業務測試;運行場景配置單元主要依據任務類型進行測量項目配置,測試數據的包長、包頻、包發送時間、測試模式選擇和任務聯調測試方向設置;軟件設置管理單元主要對信源信宿、網絡源目標地址及測量結果存儲路徑等參數進行管理。
系統分為網絡流量監視模塊和網絡測量模塊兩部分。流量監視模塊設計如圖2所示,根據功能需求分為7個部件,每個部件為一個獨立的實體。

圖2 流量監視模塊結構設計Fig.2 Traffic monitoring module structure design diagram
測量模塊結構設計如3所示,部件之間采用動態鏈接庫方式封裝,便于功能擴展和移植。

圖3 測量模塊結構設計Fig.3 Measuring module structure design diagram
3.2.1 外部接口設計
專用網測量模塊在2個節點之間,根據實際業務需求,對網絡性能進行單播、組播測試;并對事后數據進行分析統計,主要實現與被測試網絡的接口和數據存儲服務器的接口,并接受用戶控制。外部接口如圖4所示。

圖4 測量軟件外部接口Fig.4 Measurement software external interface diagram
3.2.2 內部接口設計
各部件之間內部接口設計如圖5所示,內部接口定義如表1所示。

圖5 內部接口設計Fig.5 Internal interface design diagram
表1 內部接口定義表
Tab.1 Internal interface definition table

接口接口名稱接口類型功能1MANAGE_CAP控制字符數據捕獲啟止2CAP_SAVE數據幀IP數據包3NETRCV_MANAGE數據字符串網絡收信息4MANAGE_NETSEND字符串數據網絡發信息5ANALY_MANAGE字符串數據分析數據,封裝6MANAGE_DBMANAGE命令字符串查詢命令信息7CAP_ANALY數據幀IP數據包8ANALY_DB結果字符串測量分析入庫信息9DB_DAMANAGE字符列表查詢結果信息10DB_WEBSERVICE數據信息查詢結果信息
部件功能設計包括:
① 系統管理部件。負責與用戶的交互以及其他幾個部件模塊之間的協調管理,由功能管理設計和界面設計[15]組成。功能管理通過菜單提供相關功能模塊的入口以及相關參數的設置入口;界面設計包括菜單、關鍵參數圖形化顯示、日志顯示和系統狀態顯示;圖形化顯示采用柱狀圖、餅狀圖和圖線坐標等對數據分析結果的流量、速率等進行顯示;日志顯示對系統重大事件和操作進行顯示;系統狀態在界面的底部狀圖欄顯示,描述系統正在進行的操作和狀態變化。
② 網絡通信部件。包括網絡數據發送單元和網絡接收單元。網絡數據發送單元將其他部件需向系統外發送的數據按照規定協議封裝后,采用UDP協議通過相應的地址端口發出;網絡數據接收單元將從指定地址接收到的數據轉換為內部格式,并將數據提供給系統管理部件。
③ 中心模式部件。包括中心模式下的測試窗口、參數設置和模式測試處理3個單元。中心模式測試窗口單元完成中心模式部件的界面操作、參數賦值與測試結果顯示;中心模式測試參數設置單元完成測試參數保存以及網絡通信和測試接口的初始化;中心模式測試處理單元完成測試數據生成、發送與接收、統計處理和測試狀態輸出。
④ 部站模式部件。包括部站模式測試窗口和部站模式測試處理2個單元。測試窗口單元完成部站模式部件的界面操作、參數賦值與測試結果顯示;測試處理單元完成任務聯調方式下自動化測試命令響應、測試數據發送與接收、統計處理和測試狀態數據輸出。
⑤ 業務測試部件。包括ICMP單播測試和組播數據測試。ICMP單播測試分為單播測試窗口和單播測試處理2個單元,完成端對端單播傳輸測試;組播數據測試分為組播數據測試窗口、組播測試參數設置和組播測試處理3個單元,完成端到端組播傳輸測試。
⑥ 數據捕獲部件。收到來自系統管理用戶界面發出的開始捕獲命令后,通過網卡對經過被測網絡的所有數據,采用WinPcap工具捕獲并放入緩存。
⑦ 數據存儲部件。數據以文件形式按時間先后依次記錄在硬盤。記錄數據時,檢查硬盤容量,如果容量不足則清理最早日期文件。當文件容量超過512 MB(自定義)創建新文件繼續存儲。
⑧ 數據分析部件。設計3種場景,一是按數據包類別統計后,將結果發送給系統管理部件,傳輸方向配置和業務IP地址規則庫從配置文件獲取,軟件啟動時一次性裝載到內存中;二是將所有數據包的IP地址與IP地址庫進行比對,發現未知IP地址則將結果上報系統管理模塊;三是將緩存中的數據包逐條與安全規則庫比對,不符合安全規則庫的數據包上報系統管理模塊。
關鍵技術包括:
① 海量數據包監測存儲技術。系統以旁路模式,采用多線程同時存儲、存儲容量動態監視、數據有效期動態排序等技術[16-17],將萬兆流量級數據包以文件的形式進行原樣存儲,動態監視存儲容量,按先后順序,及時刪除過期數據,保存最近的數據。
② 大數據量的IP包實時分析技術[18]。系統檢測模塊對所有IP數據包進行信源信宿分析和協議分析,實時計算各方向數據流量。針對各終端傳輸數據類型基本固定,系統采用最近最大相似度算法[19]和多線程技術,利用近期數據包類型動態傳輸比率來確定匹配IP包類型的順序,依據上個IP數據包的類型,匹配判斷本數據包是否為該類型,并按照比率從大小到排序,為下一周期分析判斷IP包類型提供支持,提高包實時分析效率。主要工作流程如圖6所示。

圖6 最近最大相似度算法流程Fig.6 Nearest and maximum similarity algorithm flow diagram
③ 智能分析告警技術。系統對各方向的流量進行下限、上限流量告警,告警參數采取智能學習、動態調整技術,保證告警信息準確。某方向在某一時間段增開一條鏈路,兩路數據流量超過預設的流量上限,系統自動告警,提示是否為正常數據流量,如果用戶設置為正常數據流量,系統自動測試記錄,記錄其最高數據速率為該方向數據流量的上限,并自動更新告警門限。
網絡流量監視和測量系統已在專用網中部署運行,針對業務不斷增多和數據傳輸要求越來越高的情況,解決了網絡流量缺乏有效監視手段和故障定位不及時的問題,網絡流量監視模塊實現了全網數據流量實時監視和及時預警,測量模塊實現了單播和組播數據模擬真實數據場景測試、業務自動化測試、事后數據統計分析和日志查詢,為網絡高效運維提供了便捷的可視化手段,為通信聯調提供了智能化測試手段。