《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 高速網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
高速網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
來源:微型機(jī)與應(yīng)用2012年第1期
任富新
(華北計(jì)算技術(shù)研究所,北京 100083)
摘要: 設(shè)計(jì)并實(shí)現(xiàn)了一種高速網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)。該系統(tǒng)基于高速數(shù)據(jù)采集卡和普通服務(wù)器,在硬件采集、存儲(chǔ)數(shù)據(jù)的基礎(chǔ)上,實(shí)現(xiàn)數(shù)據(jù)捕獲、分析、統(tǒng)計(jì)、報(bào)表等功能。通過該系統(tǒng),用戶可以制定針對(duì)特定業(yè)務(wù)的流量監(jiān)測,并且可以對(duì)網(wǎng)絡(luò)的健康狀況和瓶頸等進(jìn)行測試,幫助用戶迅速地確定網(wǎng)絡(luò)問題。目前該系統(tǒng)己經(jīng)運(yùn)行在實(shí)際網(wǎng)絡(luò)環(huán)境中。
Abstract:
Key words :

摘  要: 設(shè)計(jì)并實(shí)現(xiàn)了一種高速網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)。該系統(tǒng)基于高速數(shù)據(jù)采集卡和普通服務(wù)器,在硬件采集、存儲(chǔ)數(shù)據(jù)的基礎(chǔ)上,實(shí)現(xiàn)數(shù)據(jù)捕獲、分析、統(tǒng)計(jì)、報(bào)表等功能。通過該系統(tǒng),用戶可以制定針對(duì)特定業(yè)務(wù)的流量監(jiān)測,并且可以對(duì)網(wǎng)絡(luò)的健康狀況和瓶頸等進(jìn)行測試,幫助用戶迅速地確定網(wǎng)絡(luò)問題。目前該系統(tǒng)己經(jīng)運(yùn)行在實(shí)際網(wǎng)絡(luò)環(huán)境中。
關(guān)鍵詞: 流量監(jiān)測;端口鏡像分路器;ntop; TurboCap

 隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)應(yīng)用范圍不斷擴(kuò)大,網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)應(yīng)用越來越復(fù)雜,這使得網(wǎng)絡(luò)出現(xiàn)各種問題的可能性增大,同時(shí)管理網(wǎng)絡(luò)的難度也增大。網(wǎng)絡(luò)流量監(jiān)測提供了一種探索實(shí)際環(huán)境中網(wǎng)絡(luò)特性的手段。從實(shí)現(xiàn)方法的角度,目前所存在的流量測量方法可分為兩大類:基于硬件的測量方法和基于通用PC平臺(tái)測量方法?;谟布臏y量方法由于在高速鏈路的環(huán)境下具有了巨大的性能優(yōu)勢,一般為大型開發(fā)商和運(yùn)營商所用,但是因?yàn)槠鋬r(jià)格比較昂貴,大多數(shù)的中小企業(yè)還是選用基于通用PC的流量監(jiān)測方法。然而,隨著網(wǎng)絡(luò)速率的不斷提高,基于通用PC平臺(tái)的流量監(jiān)測因?yàn)槭艿讲僮飨到y(tǒng)和硬件性能的限制,不能滿足高速鏈路流量監(jiān)測的需求。
 本文設(shè)計(jì)并實(shí)現(xiàn)了一種高速網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)。該系統(tǒng)基于高速數(shù)據(jù)采集卡和普通服務(wù)器,在硬件采集、存儲(chǔ)數(shù)據(jù)的基礎(chǔ)上,實(shí)現(xiàn)數(shù)據(jù)捕獲、分析、統(tǒng)計(jì)、報(bào)表等功能。通過該系統(tǒng),用戶可以制定針對(duì)特定業(yè)務(wù)的流量監(jiān)測,并且可以對(duì)網(wǎng)絡(luò)的健康狀況和瓶頸等進(jìn)行測試,幫助用戶迅速地確定網(wǎng)絡(luò)問題。
1 設(shè)計(jì)方案
 網(wǎng)絡(luò)流量監(jiān)測驗(yàn)證系統(tǒng)由硬件支撐平臺(tái)、軟件支撐平臺(tái)和網(wǎng)絡(luò)流量監(jiān)測應(yīng)用軟件(ntop)三部分構(gòu)成。
1.1 硬件支撐平臺(tái)
1.1.1 TurboCap高速捕獲卡

 TurboCap是一種雙端口千兆捕獲與注入工具,具備多種功能,包括同時(shí)全速捕獲與注入、多端口通信聚合以及可調(diào)控的pass-thru模式。該工具套件同時(shí)提供TurboCap API以及winPcap/libpcap API。TurboCap套件包括TurboCap千兆捕獲卡、TurboCap驅(qū)動(dòng)和用戶級(jí)的API三部分。
1.1.2 服務(wù)器
 TurboCap卡是一種基于PCI-E的接口卡(4x或8x),為了最大程度發(fā)揮其性能,網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)采用HP380G6服務(wù)器,該服務(wù)器主要配置如下:PCI-E為X8 PCI-E卡插槽;CPU采用2.4 GHz雙核Intel Xeon W3503;內(nèi)存為8 GB;存儲(chǔ)為SAS硬盤(10 000轉(zhuǎn))RAID卡。
1.2 軟件支撐平臺(tái)
 軟件支撐平臺(tái)主要包括Linux操作系統(tǒng)、TurboCap卡驅(qū)動(dòng)和TurboCap Libpcap(Packet Capture Library)開發(fā)包模塊等。
Linux操作系統(tǒng)采用Fedora 10,主要因?yàn)椴东@卡的驅(qū)動(dòng)為Fedora 10。
1.2.1 Libpcap開發(fā)模塊
 Libpcap由Berkeley 大學(xué)的JACOBSON V、LERES C 和MCCANNE S編寫, 是一個(gè)平臺(tái)獨(dú)立的網(wǎng)絡(luò)數(shù)據(jù)包捕獲開發(fā)包,應(yīng)用非常廣泛,幾乎只要涉及網(wǎng)絡(luò)數(shù)據(jù)包的捕獲功能,都可以使用Libpcap開發(fā)包。Libpcap可以在絕大多數(shù)類Unix/Linux平臺(tái)下工作。Libpcap軟件包可從http://www.tcpdump.org下載,目前最新版本為1.1.1。
 本文采用的Libpcap版本號(hào)為libpcap-1.0.0-tc_17.fc10.x86_64,是由CACE公司提供的與TurboCap卡驅(qū)動(dòng)配套的開發(fā)包。
1.2.2 支撐軟件安裝
 以ROOT用戶安裝TurboCap驅(qū)動(dòng), TurboCap內(nèi)核模塊,TurboCap開發(fā)庫、文檔、例子以及支持TurboCap修改版的libpcap 1.0.0,操作如下:
 [root@x86_64]# rpm -ivh kernel-firmware-2.6.27.12-170.2.5.preemptive.kernel.kt.fc10.x86_64.rpm
 [root@x86_64]# rpm -ivh kernel-2.6.27.12-170.2.5.preemptive.kernel.kt.fc10.x86_64.rpm
 [root@x86_64]# rpm -ivh turbocap-1.6.2117-1.fc10.x86_64.rpm libpcap-1.0.0-tc_16.fc10.x86_64.rpm
 [root@x86_64]# rpm -ivh turbocap-module-2.6.27.12-170.2.5.preemptive.kernel.kt.fc10-1.6.2117-1.fc10.x86_64.rpm
 之后重啟計(jì)算機(jī),確認(rèn)選擇啟動(dòng)的內(nèi)核是:Fedora (2.6.27.12-170.2.5.preemptive.kernel.kt.fc10.i686)或者Fedora(2.6.27.12-170.2.5.preemptive.kernel.kt.fc10.x86_64)
1.3 網(wǎng)絡(luò)流量監(jiān)測應(yīng)用軟件
 ntop是一套網(wǎng)絡(luò)流量監(jiān)控軟件,由意大利Pisa大學(xué)教授DERI L于1997年開始開發(fā),并以開源方式提供使用,可以從http://www.ntop.org下載,目前最新版本為4.0.3。ntop以sniffery方式運(yùn)作,采用網(wǎng)頁接口,主要功能有網(wǎng)絡(luò)監(jiān)控、網(wǎng)絡(luò)流量統(tǒng)計(jì)、提供網(wǎng)絡(luò)最佳化與除錯(cuò)的信息以及偵測可疑的網(wǎng)絡(luò)流通信息等。
1.3.1 ntop功能
 ntop可以監(jiān)測的數(shù)據(jù)包括:網(wǎng)絡(luò)流量、使用協(xié)議、系統(tǒng)負(fù)載和端口情況等。
 ntop能夠更加直觀地將網(wǎng)絡(luò)使用量的情況和每個(gè)節(jié)點(diǎn)計(jì)算機(jī)的網(wǎng)絡(luò)帶寬使用詳細(xì)情況顯示出來??梢酝ㄟ^分析網(wǎng)絡(luò)流量來確定網(wǎng)絡(luò)上存在的各種問題,如瓶頸效應(yīng)或性能下降;也可以用來判斷是否有黑客正在攻擊網(wǎng)絡(luò)系統(tǒng)。如果懷疑網(wǎng)絡(luò)正在遭受攻擊,通過ntop截獲的數(shù)據(jù)包可以確定正在攻擊系統(tǒng)的是什么類型的數(shù)據(jù)包,以及它們的源頭,從而可以及時(shí)地作出響應(yīng),或者對(duì)網(wǎng)絡(luò)進(jìn)行相應(yīng)的調(diào)整,以保證網(wǎng)絡(luò)運(yùn)行的效率和安全。通過ntop網(wǎng)管員還可以很方便地確定哪些通信量屬于某個(gè)特定的網(wǎng)絡(luò)協(xié)議、占主要通信量的是哪個(gè)主機(jī)、各次通信的目標(biāo)是哪個(gè)主機(jī)、數(shù)據(jù)包發(fā)送時(shí)間、各主機(jī)間數(shù)據(jù)包傳遞的間隔時(shí)間等。這些信息為網(wǎng)管員判斷網(wǎng)絡(luò)問題及優(yōu)化網(wǎng)絡(luò)性能,提供了十分寶貴的信息。
1.3.2 ntop基本架構(gòu)
 ntop基本架構(gòu)分成三個(gè)模塊:數(shù)據(jù)包捕獲(Packet Sniffer)模塊,數(shù)據(jù)包分析(Packet Analyser)模塊以及報(bào)告引擎(Report Engine)模塊,如圖1所示。由Packet Sniffer收集網(wǎng)絡(luò)上的Packet,然后送給Packet Analyser去處理,再由Report Engine將處理分析后的數(shù)據(jù)呈現(xiàn)出來。

1.3.3 ntop安裝與使用
 在FC10下,ntop的安裝配置更簡單,大多數(shù)庫默認(rèn)都已經(jīng)安裝,只需另外安裝GeoIP和rrdtool,下面簡單介紹一下ntop的安裝和配置。
解壓縮源碼:tar -zxvf ntop-4.0.3.tar.gz;
 運(yùn)行:cd ntop-4.0.3;
 運(yùn)行:./autogen.sh;
 運(yùn)行:make && make install;
 添加用戶:useradd -M-s/sbin/nologin-r ntop;
 設(shè)置用戶權(quán)限:chown ntop:root /usr/local/var/ntop/;
 設(shè)置用戶權(quán)限:chown ntop:ntop /usr/local/share/ntop/;
 設(shè)置密碼:ntop-A;
 ntop作為守護(hù)進(jìn)程運(yùn)行:/usr/local/bin/ntop-d-L-u ntop-P/usr/local/var/ntop--skip-version-check--use-syslog=daemon;
 查看統(tǒng)計(jì)信息:打開瀏覽器,在地址欄輸入http://host_ip:3000(“IP”就是安裝ntop的那臺(tái)網(wǎng)管工作站的IP地址),即可打開ntop界面。
2 網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)的接入方式
2.1 網(wǎng)絡(luò)數(shù)據(jù)獲得技術(shù)

 在交換網(wǎng)絡(luò)中,有兩種有效的獲得數(shù)據(jù)的方法:
?。?)鏡像端口SPAN(Switch Port Analysis):某些交換機(jī)可以將一個(gè)或幾個(gè)端口的數(shù)據(jù)包復(fù)制到一個(gè)指定的端口,然后可以在該端口上接網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)。
?。?)分路器TAP(Test Access Port):可以把任意一個(gè)端口收到的數(shù)據(jù)注入到另一個(gè)端口??捎糜诩磿r(shí)分析網(wǎng)絡(luò)流量,且不占用任何網(wǎng)絡(luò)資源。分路器TAP串接在被監(jiān)控鏈路上,可永久固定在被監(jiān)控鏈路上,避免插拔鏈路,不用配置交換機(jī)和額外占用交換機(jī)端口。
2.2 網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)的部署方式——SPAN方式
 網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)的部署方式為SPAN方式。下面主要說明如何在Catalyst 2950上配置SPAN功能,以下是SPAN實(shí)現(xiàn)的范例:
 C2950#conf t
 C2950(config)#
 C2950(config)#monitor session 1 source interface fastEthernet 0/2
 !-- Interface fa 0/2 is configured as source port
 C2950(config)#monitor session 1 destination interface fastEthernet 0/3
 !-- Interface fa0/3 is configured as destination port
 C2950(config)#
 在使用SPAN時(shí)需要注意:(1)保證鏡像端口的線速等于或高于被監(jiān)測端口的線速,防止數(shù)據(jù)過載,造成數(shù)據(jù)包丟失;(2)SPAN功能會(huì)增加交換機(jī)的負(fù)荷,占用交換機(jī)的CPU、內(nèi)存等系統(tǒng)資源,致使交換機(jī)性能下降,所以在獲取到足夠的數(shù)據(jù)后,需要去除SPAN功能;(3)由于不同交換機(jī)轉(zhuǎn)發(fā)機(jī)制不同,有的交換機(jī)的SPAN功能會(huì)自動(dòng)丟棄錯(cuò)誤的數(shù)據(jù)包,導(dǎo)致無法獲取到錯(cuò)誤的數(shù)據(jù)包,而錯(cuò)誤的數(shù)據(jù)包能為解決網(wǎng)絡(luò)問題提供重要依據(jù)。
2.3 網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)的部署方式——TAP方式

 


 網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)的部署方式采用TAP方式,TAP方式又分以下幾種:
 (1)交換分路器(TAP)模式。當(dāng)TurboCap卡處于pass-thru模式時(shí),TurboCap把一個(gè)端口收到的數(shù)據(jù)注入到同卡上的另一個(gè)端口。兩個(gè)端口支持全速對(duì)發(fā),從而使TurboCap具有分路器的功能。
?。?)匯聚TAP模式。安裝方法類似于交換TAP。匯聚TAP可以將多條鏈路的全雙工數(shù)據(jù)合并到單一數(shù)據(jù)流中,這樣可以從單一數(shù)據(jù)流中看到來自多個(gè)SPAN端口的匯聚流量,將其復(fù)制后供分析使用。TurboCap支持同卡上的全速雙口通信聚合。用戶可以通過一個(gè)叫做Board Aggregationg Port(BAP)的虛擬端口來訪問聚合通信。TurboCap還支持對(duì)多TurboCap卡的端口進(jìn)行聚合,這樣用戶可以一次捕獲超過兩個(gè)端口的通信。
在借助TAP分析網(wǎng)絡(luò)數(shù)據(jù)的時(shí)候,需要注意以下三點(diǎn):(1)TAP主要用于對(duì)骨干鏈路數(shù)據(jù)的獲?。ó?dāng)然也可以用于其他鏈路),使用時(shí)需要預(yù)先布放(串接)到鏈路中,避免監(jiān)測骨干鏈路時(shí)再串接TAP而引起中斷網(wǎng)絡(luò)的情況發(fā)生;(2)被監(jiān)測的鏈路流量不要超過TAP端口的線速,防止數(shù)據(jù)包因過載而丟失;(3)將不同的TAP組合起來使用可以實(shí)現(xiàn)更高要求的數(shù)據(jù)監(jiān)測,通過TAP模式和聚合功能,就可以實(shí)現(xiàn)聚合TAP的功能。
 本文基于高速采集卡和普通服務(wù)器設(shè)計(jì)了高速網(wǎng)絡(luò)流量監(jiān)測系統(tǒng),采用Linux操作系統(tǒng)和開源軟件,成本低,滿足了高速鏈路流量監(jiān)測的需求。該系統(tǒng)既支持SPAN方式,也支持TAP方式,這兩種技術(shù)在網(wǎng)絡(luò)監(jiān)測、分析時(shí)都普遍應(yīng)用。用戶可以根據(jù)自己的使用情況,選擇合適的部署方式來部署網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)。
參考文獻(xiàn)
[1] 鄭惠之,羅進(jìn)文.一種有效的流量控制策略—ntop[J]. 信息科技,2002(3):38-39.
[2] 趙冉.網(wǎng)絡(luò)流量測量系統(tǒng)Ntop的分析與研究[D].西安:西北大學(xué),2008.
[3] TAMON M A. Ntop network monitoring guide[EB/OL].[2008].http://techowto.wordpress.com.

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