新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 高速網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)

高速網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)

作者: 時間:2012-03-29 來源:網(wǎng)絡(luò) 收藏

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

 TurboCap是一種雙端口千兆捕獲與注入工具,具備多種功能,包括同時全速捕獲與注入、多端口通信聚合以及可調(diào)控的pass-thru模式。該工具套件同時提供TurboCap API以及winPcap/libpcap API。TurboCap套件包括TurboCap千兆捕獲卡、TurboCap驅(qū)動和用戶級的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;存儲為SAS硬盤(10 000轉(zhuǎn))RAID卡。
1.2 軟件支撐平臺
 軟件支撐平臺主要包括Linux操作系統(tǒng)、TurboCap卡驅(qū)動和TurboCap Libpcap(Packet Capture Library)開發(fā)包模塊等。
Linux操作系統(tǒng)采用Fedora 10,主要因為捕獲卡的驅(qū)動為Fedora 10。
1.2.1 Libpcap開發(fā)模塊
 Libpcap由Berkeley 大學(xué)的JACOBSON V、LERES C 和MCCANNE S編寫, 是一個平臺獨立的網(wǎng)絡(luò)數(shù)據(jù)包捕獲開發(fā)包,應(yīng)用非常廣泛,幾乎只要涉及網(wǎng)絡(luò)數(shù)據(jù)包的捕獲功能,都可以使用Libpcap開發(fā)包。Libpcap可以在絕大多數(shù)類Unix/Linux平臺下工作。Libpcap軟件包可從http://www.tcpdump.org下載,目前最新版本為1.1.1。
 本文采用的Libpcap版本號為libpcap-1.0.0-tc_17.fc10.x86_64,是由CACE公司提供的與TurboCap卡驅(qū)動配套的開發(fā)包。
1.2.2 支撐軟件安裝
 以ROOT用戶安裝TurboCap驅(qū)動, 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ī),確認(rèn)選擇啟動的內(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方式運作,采用網(wǎng)頁接口,主要功能有網(wǎng)絡(luò)監(jiān)控、網(wǎng)絡(luò)流量統(tǒng)計、提供網(wǎng)絡(luò)最佳化與除錯的信息以及偵測可疑的網(wǎng)絡(luò)流通信息等。
1.3.1 ntop功能
 ntop可以監(jiān)測的數(shù)據(jù)包括:網(wǎng)絡(luò)流量、使用協(xié)議、系統(tǒng)負(fù)載和端口情況等。
 ntop能夠更加直觀地將網(wǎng)絡(luò)使用量的情況和每個節(jié)點計算機(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ù)包,以及它們的源頭,從而可以及時地作出響應(yīng),或者對網(wǎng)絡(luò)進(jìn)行相應(yīng)的調(diào)整,以保證網(wǎng)絡(luò)運行的效率和安全。通過ntop網(wǎng)管員還可以很方便地確定哪些通信量屬于某個特定的網(wǎng)絡(luò)協(xié)議、占主要通信量的是哪個主機(jī)、各次通信的目標(biāo)是哪個主機(jī)、數(shù)據(jù)包發(fā)送時間、各主機(jī)間數(shù)據(jù)包傳遞的間隔時間等。這些信息為網(wǎng)管員判斷網(wǎng)絡(luò)問題及優(yōu)化網(wǎng)絡(luò)性能,提供了十分寶貴的信息。
1.3.2 ntop基本架構(gòu)
 ntop基本架構(gòu)分成三個模塊:數(shù)據(jù)包捕獲(Packet Sniffer)模塊,數(shù)據(jù)包分析(Packet Analyser)模塊以及報告引擎(Report Engine)模塊,如圖1所示。由Packet Sniffer收集網(wǎng)絡(luò)上的Packet,然后送給Packet Analyser去處理,再由Report Engine將處理分析后的數(shù)據(jù)呈現(xiàn)出來。

本文引用地址:http://butianyuan.cn/article/155148.htm

1.3.3 ntop安裝與使用
 在FC10下,ntop的安裝配置更簡單,大多數(shù)庫默認(rèn)都已經(jīng)安裝,只需另外安裝GeoIP和rrdtool,下面簡單介紹一下ntop的安裝和配置。
解壓縮源碼:tar -zxvf ntop-4.0.3.tar.gz;
 運行:cd ntop-4.0.3;
 運行:./autogen.sh;
 運行: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)程運行:/usr/local/bin/ntop-d-L-u ntop-P/usr/local/var/ntop--skip-version-check--use-syslog=daemon;
 查看統(tǒng)計信息:打開瀏覽器,在地址欄輸入http://host_ip:3000(“IP”就是安裝ntop的那臺網(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ī)可以將一個或幾個端口的數(shù)據(jù)包復(fù)制到一個指定的端口,然后可以在該端口上接網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)。
 (2)分路器TAP(Test Access Port):可以把任意一個端口收到的數(shù)據(jù)注入到另一個端口??捎糜诩磿r分析網(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實現(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時需要注意:(1)保證鏡像端口的線速等于或高于被監(jiān)測端口的線速,防止數(shù)據(jù)過載,造成數(shù)據(jù)包丟失;(2)SPAN功能會增加交換機(jī)的負(fù)荷,占用交換機(jī)的CPU、內(nèi)存等系統(tǒng)資源,致使交換機(jī)性能下降,所以在獲取到足夠的數(shù)據(jù)后,需要去除SPAN功能;(3)由于不同交換機(jī)轉(zhuǎn)發(fā)機(jī)制不同,有的交換機(jī)的SPAN功能會自動丟棄錯誤的數(shù)據(jù)包,導(dǎo)致無法獲取到錯誤的數(shù)據(jù)包,而錯誤的數(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方式又分以下幾種:
?。?)交換分路器(TAP)模式。當(dāng)TurboCap卡處于pass-thru模式時,TurboCap把一個端口收到的數(shù)據(jù)注入到同卡上的另一個端口。兩個端口支持全速對發(fā),從而使TurboCap具有分路器的功能。
?。?)匯聚TAP模式。安裝方法類似于交換TAP。匯聚TAP可以將多條鏈路的全雙工數(shù)據(jù)合并到單一數(shù)據(jù)流中,這樣可以從單一數(shù)據(jù)流中看到來自多個SPAN端口的匯聚流量,將其復(fù)制后供分析使用。TurboCap支持同卡上的全速雙口通信聚合。用戶可以通過一個叫做Board Aggregationg Port(BAP)的虛擬端口來訪問聚合通信。TurboCap還支持對多TurboCap卡的端口進(jìn)行聚合,這樣用戶可以一次捕獲超過兩個端口的通信。
在借助TAP分析網(wǎng)絡(luò)數(shù)據(jù)的時候,需要注意以下三點:(1)TAP主要用于對骨干鏈路數(shù)據(jù)的獲?。ó?dāng)然也可以用于其他鏈路),使用時需要預(yù)先布放(串接)到鏈路中,避免監(jiān)測骨干鏈路時再串接TAP而引起中斷網(wǎng)絡(luò)的情況發(fā)生;(2)被監(jiān)測的鏈路流量不要超過TAP端口的線速,防止數(shù)據(jù)包因過載而丟失;(3)將不同的TAP組合起來使用可以實現(xiàn)更高要求的數(shù)據(jù)監(jiān)測,通過TAP模式和聚合功能,就可以實現(xiàn)聚合TAP的功能。
 本文基于高速采集卡和普通服務(wù)器了高速網(wǎng)絡(luò)流量監(jiān)測系統(tǒng),采用Linux操作系統(tǒng)和開源軟件,成本低,滿足了高速鏈路流量監(jiān)測的需求。該系統(tǒng)既支持SPAN方式,也支持TAP方式,這兩種技術(shù)在網(wǎng)絡(luò)監(jiān)測、分析時都普遍應(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.

交換機(jī)相關(guān)文章:交換機(jī)工作原理




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉