《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 中心計算機網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)的研究與實踐
中心計算機網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)的研究與實踐
來源:微型機與應(yīng)用2013年第12期
朱 珺
(92941部隊96分隊,遼寧 葫蘆島125000)
摘要: 研究并解決網(wǎng)絡(luò)流量監(jiān)測中的各種關(guān)鍵技術(shù),提出符合中心計算機系統(tǒng)實際情況的網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)的架構(gòu);設(shè)計并實現(xiàn)了網(wǎng)絡(luò)流量監(jiān)測系統(tǒng),該系統(tǒng)基于Turbocap千兆捕獲卡和工作站。通過該系統(tǒng),用戶可以制定針對特定業(yè)務(wù)的流量監(jiān)測,并根據(jù)詳細的流量信息實現(xiàn)故障定位。目前該系統(tǒng)己經(jīng)運行在中心計算機系統(tǒng)網(wǎng)絡(luò)中。
Abstract:
Key words :

摘  要: 研究并解決網(wǎng)絡(luò)流量監(jiān)測中的各種關(guān)鍵技術(shù),提出符合中心計算機系統(tǒng)實際情況的網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)的架構(gòu);設(shè)計并實現(xiàn)了網(wǎng)絡(luò)流量監(jiān)測系統(tǒng),該系統(tǒng)基于Turbocap千兆捕獲卡和工作站。通過該系統(tǒng),用戶可以制定針對特定業(yè)務(wù)的流量監(jiān)測,并根據(jù)詳細的流量信息實現(xiàn)故障定位。目前該系統(tǒng)己經(jīng)運行在中心計算機系統(tǒng)網(wǎng)絡(luò)中。
關(guān)鍵詞: 網(wǎng)絡(luò)流量監(jiān)測;Libpcap;ntop;span;tap;TurboCap

1 系統(tǒng)概述
    中心計算機系統(tǒng)是武器試驗靶場測控系統(tǒng)中數(shù)據(jù)處理與轉(zhuǎn)發(fā)的樞紐,是典型的實時系統(tǒng),主要任務(wù)是綜合接收、實時處理各種測量設(shè)備信息。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,中心計算機系統(tǒng)由點對點的專用通信鏈路(HDLC、串口)向網(wǎng)絡(luò)通信過渡。整個測控系統(tǒng)的IP化是必然趨勢。將來,所有的測控設(shè)備都必需提供IP接口,以IP數(shù)據(jù)包交換為特征的網(wǎng)絡(luò)通信會逐步替代以點對點為主的傳統(tǒng)通信方式。隨著基地網(wǎng)絡(luò)應(yīng)用范圍的不斷擴大以及網(wǎng)絡(luò)的日益復(fù)雜化,網(wǎng)絡(luò)管理工作的難度也越來越大。因此根據(jù)基地網(wǎng)絡(luò)實際情況設(shè)計了一種網(wǎng)絡(luò)流量監(jiān)測系統(tǒng),用來測試中心計算機系統(tǒng)網(wǎng)絡(luò)的性能和可靠性。通過該系統(tǒng),可以對網(wǎng)絡(luò)的健康狀況與瓶頸進行測試,迅速地確定網(wǎng)絡(luò)問題。
1.1 研究目的
    本課題的研究目的是以中心計算機系統(tǒng)為應(yīng)用背景,研究并解決網(wǎng)絡(luò)流量監(jiān)測中的各種關(guān)鍵技術(shù),提出符合中心計算機系統(tǒng)實際情況的、技術(shù)可行的網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)的架構(gòu)和應(yīng)用方式,并構(gòu)建一套可滿足中心計算機系統(tǒng)應(yīng)用的網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)。
1.2 研究意義
    網(wǎng)絡(luò)流量監(jiān)測有助于維護網(wǎng)絡(luò)持續(xù)、高效和安全地運行,網(wǎng)絡(luò)流量監(jiān)測的意義在于取得對網(wǎng)絡(luò)運行管理、應(yīng)用運行管理和網(wǎng)絡(luò)問題分析有意義的數(shù)據(jù)。這些數(shù)據(jù)(包括利用率、b/s、pps、網(wǎng)絡(luò)延遲、重傳、連接數(shù)量等)只有與實際的網(wǎng)絡(luò)應(yīng)用運行情況結(jié)合起來才有意義。這是因為不同的網(wǎng)絡(luò)、不同的應(yīng)用都有完全不同的數(shù)據(jù)流量。只有對網(wǎng)絡(luò)和應(yīng)用進行深入地了解,才能使這些數(shù)據(jù)的價值得到真正的體現(xiàn)。網(wǎng)絡(luò)流量的監(jiān)測對于技術(shù)人員了解網(wǎng)絡(luò)、發(fā)現(xiàn)問題、確認問題原因有著重要的意義[1-3]。
2 方案設(shè)計
    網(wǎng)絡(luò)流量監(jiān)測從不同的方面可以分為如下幾部分:
    (1)基于硬件探針的測量和基于軟件的測量
    基于硬件探針的測量通常指使用專用硬件設(shè)備進行網(wǎng)絡(luò)流的測量,捕獲和實時分析能力強,但一般價格昂貴?;谲浖臏y量通常是在PC上安裝軟件來實現(xiàn)。與基于硬件的方法比較,費用比較低廉,但是性能一般。
    (2)主動測量和被動測量
    主動測量使用由測量設(shè)備產(chǎn)生的數(shù)據(jù)流來探測網(wǎng)絡(luò)而獲知網(wǎng)絡(luò)的信息。被動測量只是記錄網(wǎng)絡(luò)的數(shù)據(jù)流,不向網(wǎng)絡(luò)流中注入任何數(shù)據(jù)。大部分網(wǎng)絡(luò)流量測量都是被動測量[4-5]。
    (3)在線分析和離線分析
    在線分析指實時地收集和分析網(wǎng)絡(luò)數(shù)據(jù),同時顯示流量數(shù)據(jù)和分析結(jié)果。離線分析只是在線地收集網(wǎng)絡(luò)數(shù)據(jù)并存儲下來,并不對數(shù)據(jù)進行實時的分析。
    (4)協(xié)議級分類
    對于不同的協(xié)議,例如以太網(wǎng)(Ethernet)、幀中繼(Frame Relay)、異步傳輸模式(ATM),也就有了不同的通信量測試方法。
    根據(jù)中心計算機網(wǎng)絡(luò)的實際情況,采用基于硬件測量方式、被動在線測量以及針對以太網(wǎng)的協(xié)議。經(jīng)過充分調(diào)研和分析,基于高速數(shù)據(jù)采集卡(TurboCap)和工作站來構(gòu)建流量監(jiān)測系統(tǒng),采用Linux操作系統(tǒng)和開源軟件(LibpCap、ntop)來實現(xiàn)流量監(jiān)測功能。
2.1 硬件系統(tǒng)
2.1.1 TurboCap千兆抓包卡

    TurboCap卡是一種基于PCI-E總線的高速抓包卡,提供TurboCap API以及LibpCap API[6]。如圖1所示。

2.1.2 計算機配置
    為了保證抓包速度,需要計算機具有PCI-E 8x插槽,8 GB以上內(nèi)存。
2.2 軟件系統(tǒng)
    軟件系統(tǒng)主要包括Linux操作系統(tǒng)、TurboCap開發(fā)套件、LibpCap、ntop等。
2.2.1 LibpCap
    LibpCap是一個平臺獨立的網(wǎng)絡(luò)數(shù)據(jù)抓包開發(fā)包,其應(yīng)用非常廣泛,可以在絕大多數(shù)類Unix/Linux平臺下工作,提供了用戶級API編程接口,并充分考慮到應(yīng)用程序的可移植性。LibpCap隱藏了操作系統(tǒng)的細節(jié),為底層網(wǎng)絡(luò)監(jiān)控編程提供一個易于移植的應(yīng)用框架,可以捕獲網(wǎng)絡(luò)上的所有數(shù)據(jù)包。
2.2.2 TurboCap開發(fā)套件
    TurboCap開發(fā)套件包括TurboCap驅(qū)動、TurboCap內(nèi)核模塊、用戶級的API以及TurboCap開發(fā)庫、文檔、例子。
2.2.3 網(wǎng)絡(luò)流量監(jiān)測軟件ntop
    ntop可以從http://www.ntop.org下載,并以開源方式提供使用,是Linux下著名的網(wǎng)絡(luò)流量監(jiān)測軟件。ntop是一種網(wǎng)絡(luò)嗅探器,以sniffery方式運作,可以監(jiān)測的數(shù)據(jù)包括:網(wǎng)絡(luò)流量、使用協(xié)議、系統(tǒng)負載、端口情況等。ntop能夠顯示基于IP地址的帶寬占用情況,幫助技術(shù)人員迅速定位占有大量帶寬的主機和應(yīng)用,還能基于協(xié)議的類型進行統(tǒng)計并生成直觀的圖表,幫助技術(shù)人員了解業(yè)務(wù)流量的組成和比例,進而以此為依據(jù)來優(yōu)化網(wǎng)絡(luò)。
    在使用ntop的過程中,解決了一些問題,主要包括:
    (1)在沒有連接互聯(lián)網(wǎng)的情況下ntop無法編譯安裝;
    (2)在對ntop的源碼編譯時提示沒有定義pthread_
mutex_trywrlock;
    (3)ntop運行過程中會出現(xiàn)拒絕遠程的連接請求等。
    此外還對ntop進行了一些改進,包括對歷史數(shù)據(jù)的保存、數(shù)據(jù)導(dǎo)出等。為了用戶使用方便,對ntop的Web界面顯示進行了漢化,主要是修改http.c和report.c兩個文件。
2.3 關(guān)鍵技術(shù)研究
    中心計算機網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)的關(guān)鍵技術(shù)包括如下幾種。
2.3.1 千兆以太網(wǎng)線速抓包技術(shù)
    在搭建網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)時需要全速千兆以太網(wǎng)抓包,這絕對是一項挑戰(zhàn)性任務(wù)。采用通用的設(shè)備,如何做到捕包性能最好、不丟包,是需要突破的關(guān)鍵技術(shù)。而采用純軟件的技術(shù)是無法達到線速抓包的,因此必須由硬件來配合。為了提高抓包性能,采取了以下措施:
    (1)采用高端配置的工作站或者服務(wù)器,包括配備帶緩存的磁盤陣列、高速SAS硬盤,CPU和內(nèi)存也要考慮配得高一些;
    (2)采用高速抓包卡(TurboCap),用TurboCap自帶的測試程序HighSpeedTransmitter、HiPerfPktReceiver進行收發(fā)包,用思博倫的Smartbits測試,TurboCap可以達到線速。
2.3.2 數(shù)據(jù)包獲得技術(shù)
    在交換網(wǎng)絡(luò)中,有兩種獲得數(shù)據(jù)的方法:
    (1)端口鏡像SPAN(Switch Port Analysis)。簡單來說就是把交換機某個端口的流量copy一份到另外一個端口,然后可以在該接口上接網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)。
    (2)分路器TAP(Test Access Port)。需要串接在被監(jiān)測鏈路上。
    中心計算機網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)既支持SPAN方式,也支持TAP方式。這兩種技術(shù)在網(wǎng)絡(luò)監(jiān)測、分析時普遍應(yīng)用,每一種技術(shù)都有其優(yōu)點和缺點:
    (1)SPAN比較靈活,無其他設(shè)施需求,無需改變網(wǎng)絡(luò)拓樸結(jié)構(gòu);而TAP則需要接入到鏈路中去,如果需要監(jiān)測其他的鏈路,則需要重新連接線纜,會對網(wǎng)絡(luò)造成中斷,適合長期的穩(wěn)定監(jiān)測。
    (2)SPAN需要對交換機進行配置,占據(jù)一個交換機端口;而TAP沒有這個問題,它對于網(wǎng)絡(luò)設(shè)備來說是透明的,不干涉數(shù)據(jù)流和原始數(shù)據(jù);
    (3)SPAN方式獲得的流量其實已經(jīng)被過濾掉一些底層的信息了,所以有些故障信息無法看到,而TAP真實反映了網(wǎng)絡(luò)的流量,沒有任何修改;
    (4)SPAN只適用于交換機,如果需要監(jiān)測的鏈路兩端都是路由器,就無能為力了;而TAP這方面就沒有任何問題。
2.3.3 網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)接入方式
    由于受到網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)技術(shù)、網(wǎng)絡(luò)設(shè)備、傳輸線路和用戶應(yīng)用等多種條件的限制,如何將網(wǎng)絡(luò)流量實時監(jiān)測系統(tǒng)在不影響網(wǎng)絡(luò)應(yīng)用的前提下,快速、準(zhǔn)確、安全地連接到被測網(wǎng)絡(luò)中,成為一個具有挑戰(zhàn)性的問題。網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)的部署方式有多種:
    (1)并接,即SPAN方式。將交換機一個端口的數(shù)據(jù)包復(fù)制到一個指定的端口,然后可以在該接口上接網(wǎng)絡(luò)流量監(jiān)測系統(tǒng),即TurboCap卡的一個接口。
    (2)聚合模式。對兩個千兆網(wǎng)口進行聚合,按照時間戳記對來源于不同位置的數(shù)據(jù)進行采集、分析,該模式可用于測量不同位置網(wǎng)絡(luò)包的延遲。
    (3)串接,即TAP模式。當(dāng) TurboCap卡處于pass-thru模式時,TurboCap把一個端口收到的數(shù)據(jù)注入到另一個端口,兩個端口支持全速對發(fā),從而使TurboCap具有分路器的功能。只是TurboCap在pass-thru模式下與普通TAP的連接性不同:裝有TAP的計算機必須開機正常運行,如果關(guān)機,處于TAP位置的通信將中斷。
    (4)匯聚TAP模式,類似串接TAP。匯聚TAP可以將一條或多條鏈路的全雙工數(shù)據(jù)合并到單一數(shù)據(jù)流中供分析,這樣能夠在單一數(shù)據(jù)流中看到來自多個端口的匯聚流量。
2.3.4 用戶特定業(yè)務(wù)流量監(jiān)測
    中心計算機有很多非標(biāo)準(zhǔn)的網(wǎng)絡(luò)應(yīng)用。對于用戶來說,在進行網(wǎng)絡(luò)流量監(jiān)測時,如果能靈活定義需要監(jiān)測和分析的業(yè)務(wù),可快捷地找到網(wǎng)絡(luò)故障與問題,從而提高解決問題的效率。在Linux操作系統(tǒng)下,文件“/etc/services”保存的是Internet服務(wù)和與之對應(yīng)的端口號。該文件的每一行描述了一種服務(wù),格式為:
    service-name   port/protocol   [aliases ...]
其中service-name 是服務(wù)的名字;port 是十進制的數(shù)字,用來代表該服務(wù);protocol 是使用的協(xié)議類型,典型的值包括tcp和udp;aliases是可選的代表該服務(wù)的別名。
    通過services文件,用戶可以設(shè)置自己的應(yīng)用,例如:
    中心機接收端口    8201/udp
    這樣,就很容易區(qū)分用戶不同的服務(wù)。
2.4 應(yīng)用舉例
    中心計算機網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)可以監(jiān)測的數(shù)據(jù)包括:網(wǎng)絡(luò)流量、使用協(xié)議、系統(tǒng)負載、端口情況、數(shù)據(jù)包發(fā)送時間等,能夠顯示基于IP地址的帶寬占用情況,還能基于協(xié)議的類型進行統(tǒng)計并生成直觀的圖表,將每個節(jié)點計算機的網(wǎng)絡(luò)使用詳細情況顯示出來;還可以很方便地確定出哪些通信量屬于某個特定的網(wǎng)絡(luò)協(xié)議、占主要通信量的主機、各次通信的目標(biāo)是哪個主機、數(shù)據(jù)包發(fā)送時間、各主機間數(shù)據(jù)包傳遞的間隔時間等。下面介紹兩個簡單的使用例子。
    (1)舉例一
    選擇“全部網(wǎng)絡(luò)協(xié)議”→“流量”菜單選項,在Hosts下拉列表框中選擇Local Only,在Data下拉列表框中選擇Received Only,在Data欄上單擊,對數(shù)據(jù)和百分比進行排序。可以很容易地發(fā)現(xiàn)當(dāng)前網(wǎng)絡(luò)中接收帶寬的最大占用者。
    如果想知道當(dāng)前網(wǎng)絡(luò)中發(fā)送帶寬的最大占用者,在Data下拉列表框中選擇Sent Only即可。
    (2)舉例二
    選擇“網(wǎng)絡(luò)層協(xié)議統(tǒng)計”→“本地”→“本地矩陣” 菜單選項,就可以看到本地主機發(fā)送的數(shù)據(jù)矩陣,找出發(fā)送數(shù)據(jù)最多的主機。
    中心計算機網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)基于TurboCap千兆捕獲卡和普通工作站設(shè)計,簡單實用,性價比高;采用Linux開源操作系統(tǒng)和開源軟件(LibpCap、ntop),安全性高。中心計算機網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)自動從網(wǎng)絡(luò)中識別有用的信息,直觀地呈現(xiàn)給技術(shù)人員;將截獲的數(shù)據(jù)包轉(zhuǎn)換成易于識別的格式,使技術(shù)人員一目了然;該系統(tǒng)基本滿足中心計算機系統(tǒng)大多數(shù)網(wǎng)絡(luò)流量監(jiān)測的需求,大大提高了網(wǎng)絡(luò)的利用率。
    中心計算機網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)還存在一定的不足,主要表現(xiàn)在:雖然TurboCap高速捕獲卡支持線速抓包,但是ntop通過LibpCap接口對TurboCap高速捕獲卡操作時,由于LibpCap的性能問題,無法達到線速抓包;ntop的遠程訪問還存在安全方面的問題。因此還需要對中心計算機網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)進行改進。
參考文獻
[1] 趙冉.網(wǎng)絡(luò)流量測量系統(tǒng)Ntop的分析與研究[D].西安:西北大學(xué),2008.
[2] 任富新.高速網(wǎng)絡(luò)流量測量系統(tǒng)的設(shè)計與實現(xiàn)[J].微型機與應(yīng)用,2012,31(1):58-60.
[3] 沈華林.協(xié)議/流量分析系統(tǒng)Hntop的實現(xiàn)[J].計算機工程與應(yīng)用,2005,41(16):137-139.
[4] TAMON M A.Ntop network monitoring guide[EB/OL].[2008-05-25].http://techowto.wordpress.com.
[5] 夏光峰.網(wǎng)絡(luò)分析技術(shù)及其在網(wǎng)絡(luò)管理中的應(yīng)用研究[J].電腦知識與技術(shù),2009,5(3):587-590.
[6] Riverbed.CACE turbocap_flyer[EB/OL].[2010-01-18].http://www.cacetech.com.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。