高速IP網(wǎng)絡(luò)流量測(cè)量系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
高速IP網(wǎng)絡(luò)流量測(cè)量系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
高速IP網(wǎng)絡(luò)流量測(cè)量系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
高速IP網(wǎng)絡(luò)流量測(cè)量系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
高速IP網(wǎng)絡(luò)流量測(cè)量系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGEPAGE2高速IP網(wǎng)絡(luò)流量測(cè)量系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:網(wǎng)絡(luò)流量測(cè)量是網(wǎng)絡(luò)流量分析建模的基礎(chǔ),也是網(wǎng)絡(luò)性能監(jiān)測(cè)的主要方法。不斷提高的網(wǎng)絡(luò)帶寬,使網(wǎng)絡(luò)流量測(cè)量面臨很大的困難。本文在分析傳統(tǒng)網(wǎng)絡(luò)流量測(cè)量系統(tǒng)存在的問題的基礎(chǔ)上,采用零拷貝分組捕獲和裸設(shè)備存儲(chǔ)(零拷貝存儲(chǔ))等關(guān)鍵技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)被動(dòng)式網(wǎng)絡(luò)流量測(cè)量系統(tǒng),使系統(tǒng)性能得到大幅提高,并具有較好的時(shí)間精確度。關(guān)鍵詞:網(wǎng)絡(luò)流量測(cè)量;分組捕獲;零拷貝;裸設(shè)備;TSC(TimestampCounter)時(shí)間戳DesignandImplementationofaHigh-speedNetworkTrafficMeasurementSystemWangFeng-Yu***,YunXiao-Chun****,ShenWei-Dong*****(ResearchCenterofInformationIntelligentandInformationSecurity,InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100080)**(GraduateUniversityofChineseAcademyofScience,Beijing100039)***(ResearchCenterofComputerNetworkandInformationSecurityTechnology,HarbinInstituteofTechnology,Harbin,150001)****(InstituteofElectronicandinformationEngineering,Xi’anJiaotongUniversity,Xi’AbstractThroughanalyzingtheproblemsoftraditionalnetworktrafficmeasurementsystem,apassivenetworktrafficmeasurementsystemisdesignedbasedonzero-copypacketcapture,rawdevicestorageandsoon.Theperformanceandtheprecisionofnetworktrafficmeasurementareimprovedgreatly.Thissystemissuitableforthetrafficmeasurementof1Gb/snetwork.Keywordnetworktrafficmeasurement;packetcapture;zerocopy;rawdevice;TSC(TimestampCounter)引言Internet的服務(wù)類型不斷增多,業(yè)務(wù)量成倍增長(zhǎng),對(duì)網(wǎng)絡(luò)服務(wù)質(zhì)量的要求也越來越高,好的服務(wù)質(zhì)量依賴于網(wǎng)絡(luò)的規(guī)劃設(shè)計(jì),以及運(yùn)行時(shí)的控制和調(diào)整,而這些都要以真實(shí)網(wǎng)絡(luò)流量的測(cè)量和分析為基礎(chǔ)。網(wǎng)絡(luò)流量測(cè)量在網(wǎng)絡(luò)規(guī)劃、故障診斷、應(yīng)用與協(xié)議性能等方面都有重要意義。當(dāng)前大部分被動(dòng)網(wǎng)絡(luò)流量測(cè)量軟件解決方案是基于UNIX/LINUX提供的Libpcap庫,Libpcap是一個(gè)與實(shí)現(xiàn)無關(guān)的訪問操作系統(tǒng)所提供的分組捕獲機(jī)制的分組捕獲函數(shù)庫,廣泛應(yīng)用的網(wǎng)絡(luò)監(jiān)聽程序TCPDUMP就是在它基礎(chǔ)上開發(fā)的。操作系統(tǒng)所提供的分組捕獲機(jī)制主要有三種:BPF(BSD分組過濾器)[1],DLPI(數(shù)據(jù)鏈路提供程序接口),及Linux下的SOCK_PACKET類型套接口,它們的實(shí)現(xiàn)機(jī)制基本類似。但這一類型的已有測(cè)量工具在性能方面有一定的局限性,一方面由于分組傳輸過程中一些關(guān)鍵通信路徑(如系統(tǒng)調(diào)用,內(nèi)存數(shù)據(jù)拷貝等)的存在,導(dǎo)致Libpcap平臺(tái)本身效率不高;另一方面,帶寬的提高,對(duì)流量數(shù)據(jù)的時(shí)間精確度及存儲(chǔ)速率和空間也提出了更高的要求。清華大學(xué)針對(duì)Libpcap的性能問題作了一些改進(jìn)[2],但由于測(cè)量目的不同,其中還是存在一些影響性能的因素?;谶@種狀況,很多研究機(jī)構(gòu)致力于基于硬件設(shè)備的流量測(cè)量系統(tǒng),把數(shù)據(jù)采集和時(shí)間戳等部分功能集中在專用捕包卡上[3][4]。基于硬件的解決方案具有很好的性能和時(shí)間精確度,但是這類方案與軟件解決方案相比成本高、難以發(fā)布、靈活性不好。如何在有限的硬件支持下,解決傳統(tǒng)網(wǎng)絡(luò)流量測(cè)量中存在的關(guān)鍵問題,提高流量測(cè)量系統(tǒng)的性能,是我們的主要目標(biāo)。本文第二部分分析了高速網(wǎng)絡(luò)流量測(cè)量中存在的問題,并給出了相應(yīng)的解決方案,包括基于零拷貝的分組捕獲平臺(tái)、裸設(shè)備存儲(chǔ)方案以及基于TSC計(jì)數(shù)器的硬件時(shí)鐘等;第三部分在千兆網(wǎng)絡(luò)環(huán)境對(duì)該系統(tǒng)進(jìn)行了測(cè)試評(píng)估;最后對(duì)網(wǎng)絡(luò)流量測(cè)量系統(tǒng)作了總結(jié)。2.高速IP流量測(cè)量系統(tǒng)設(shè)計(jì)被動(dòng)網(wǎng)絡(luò)流量測(cè)量包括三個(gè)基本處理/傳輸環(huán)節(jié),首先數(shù)據(jù)從網(wǎng)卡傳送到應(yīng)用程序空間;然后進(jìn)行字段提取及在線統(tǒng)計(jì);最后傳送到到存儲(chǔ)設(shè)備。其中第一和第三個(gè)環(huán)節(jié)是整個(gè)系統(tǒng)的關(guān)鍵所在,處理不好,就會(huì)成為整個(gè)系統(tǒng)的瓶頸。通過分析可知,在高速網(wǎng)絡(luò)流量測(cè)量中面臨的的幾個(gè)關(guān)鍵問題是:分組捕獲的效率;高精度時(shí)間的獲取;突發(fā)流量緩沖;高速數(shù)據(jù)存儲(chǔ)。我們?cè)诜治龊徒鉀Q這些問題的基礎(chǔ)上,設(shè)計(jì)了基于雙零拷貝的高速網(wǎng)絡(luò)流量測(cè)量系統(tǒng)DZC-TMS(DoubleZero-CopyTrafficMeasurementSystem),系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)是基于Linux操作系統(tǒng)的,系統(tǒng)模型如圖1所示,下面小節(jié)分別對(duì)各個(gè)部分加以說明。 圖1.基于雙零拷貝的高速網(wǎng)絡(luò)流量測(cè)量系統(tǒng)模型2.1基于零拷貝的分組捕獲平臺(tái) 在傳統(tǒng)的流量測(cè)量工具中,數(shù)據(jù)從網(wǎng)卡到應(yīng)用程序空間的過程多數(shù)是基于類似Libpcap的分組捕獲模型實(shí)現(xiàn)的。這種分組捕獲模型如圖2(a)所示(內(nèi)核部分我們以BPF為例[1])。在這種模型中數(shù)據(jù)傳輸是通過操作系統(tǒng)內(nèi)核來完成的,網(wǎng)絡(luò)分組到達(dá)后,首先以DMA方式傳送到內(nèi)核緩沖區(qū),并發(fā)出硬中斷,網(wǎng)卡驅(qū)動(dòng)在硬中斷處理程序中把到達(dá)的分組提交給BPF分組過濾器,經(jīng)分組過濾器經(jīng)過濾后才到達(dá)用戶空間,其中存在很多影響系統(tǒng)性能的因素:數(shù)據(jù)分組通過單分組驅(qū)動(dòng)機(jī)制從內(nèi)核空間向用戶空間傳送,效率不高;用戶進(jìn)程頻繁的系統(tǒng)調(diào)用,消耗大量的資源;處理過程中經(jīng)過了從網(wǎng)卡到內(nèi)核緩沖區(qū),再從BPF拷貝到用戶空間緩沖區(qū)的過程,內(nèi)存拷貝操作要消耗大量的CPU周期和內(nèi)存資源。為了提高高速網(wǎng)絡(luò)環(huán)境下分組捕獲的性能,有必要減少分組傳輸過程的中間環(huán)節(jié)、減少或消除數(shù)據(jù)拷貝次數(shù)。由此我們?cè)O(shè)計(jì)從一個(gè)塊的起始地址開始,最簡(jiǎn)單的方法就是通過Linux下的函數(shù)調(diào)用valloc()來分配從塊的起始地址開始的緩沖區(qū),同時(shí)要求存儲(chǔ)區(qū)的大小是塊的大小的倍數(shù)。由于使用裸設(shè)備避免了經(jīng)過Linux文件系統(tǒng)層,數(shù)據(jù)直接在磁盤和應(yīng)用程序之間進(jìn)行傳輸,所以在磁盤讀寫非常頻繁,以至于磁盤讀寫成為系統(tǒng)瓶頸的情況下,采用裸設(shè)備可以大大提高磁盤訪問速度。由于裸設(shè)備使用的是原始分區(qū),沒有采用文件系統(tǒng)的管理方式,Linux維護(hù)文件系統(tǒng)的開銷也都沒有了,這也能夠有效減少CPU和內(nèi)存的消耗。為了對(duì)裸設(shè)備的性能加以驗(yàn)證,我們使用CPU主頻1.7G,內(nèi)存為128MB的微機(jī),在同一塊硬盤上對(duì)裸設(shè)備和Linux文件系統(tǒng)管理下的文件作同樣的寫操作,連續(xù)寫入1GB數(shù)據(jù),結(jié)果對(duì)比如表-1所示,裸設(shè)備無論在速率還是資源占用上,都有優(yōu)勢(shì),當(dāng)然裸設(shè)備同時(shí)也帶來了管理和操作上的困難,但在特定系統(tǒng)中,這是次要的。LLinux文件系統(tǒng)裸設(shè)備寫入速率(MB/sec)占用CPU百分比(%)11.57526.32 3.375表1.裸設(shè)備與Linux文件系統(tǒng)寫入性能對(duì)比3.系統(tǒng)性能測(cè)試系統(tǒng)測(cè)試環(huán)境的配置為:雙CPU-PⅣ2.0G;4G內(nèi)存;RedHatLinux7.2-2.4.18-smp5操作系統(tǒng)+RTLinux內(nèi)核模塊;IntelPro1000千兆以太網(wǎng)卡;Ultra160-SCSI硬盤。為了對(duì)測(cè)試結(jié)果加以量化,我們用RouterTester作為發(fā)包機(jī),控制分組長(zhǎng)度和發(fā)包速度,在不同分組長(zhǎng)度條件下,提高發(fā)包速度,記錄發(fā)生丟包之前達(dá)到的最高發(fā)包速度。同時(shí)作為比較,我們用傳統(tǒng)的Libpcap和Linux文件系統(tǒng)替換了零拷貝分組捕獲和裸設(shè)備存儲(chǔ),做了同樣的測(cè)試,測(cè)試結(jié)果如圖3所示,DZC-TMS系統(tǒng)的最高測(cè)量速度隨著分組長(zhǎng)度的增加,快速提高,當(dāng)分組長(zhǎng)度為512字節(jié)時(shí)最高測(cè)量速率就可以達(dá)到約950Mb/s,此后基本不再有提高;而基于Libpcap和文件系統(tǒng)的流量測(cè)量系統(tǒng)的最高測(cè)量速度隨著分組長(zhǎng)度的增加提高不大,沒有超過250Mb/s。DZC-TMS流量測(cè)量系統(tǒng)在總體性能上遠(yuǎn)遠(yuǎn)高于傳統(tǒng)的流量測(cè)量方法。 圖3.兩種流量測(cè)量系統(tǒng)的性能對(duì)比在現(xiàn)有測(cè)試條件下,系統(tǒng)的瓶頸位于分組捕獲部分,也就是說在達(dá)到最高測(cè)量速度時(shí),在分組捕獲部分首先出現(xiàn)丟包現(xiàn)象。我們?cè)趯?shí)際網(wǎng)絡(luò)中采用旁路監(jiān)聽方式采集了電信及教育網(wǎng)千兆網(wǎng)絡(luò)出口的流量,系統(tǒng)運(yùn)行穩(wěn)定,沒有出現(xiàn)丟包的現(xiàn)象,完全能夠滿足千兆網(wǎng)絡(luò)的流量測(cè)量需求。前面部分我們介紹了基于TSC時(shí)間戳可以達(dá)到納秒級(jí)精確度,這里我們通過實(shí)驗(yàn)分析其執(zhí)行性能以及網(wǎng)絡(luò)分組到達(dá)的時(shí)間精確度。我們測(cè)試了TSC時(shí)間獲取和通過系統(tǒng)調(diào)用gettimeofday()獲取時(shí)間的效率,在現(xiàn)有測(cè)試條件下,執(zhí)行一次gettimeofday()所用的時(shí)間大約是520ns,而執(zhí)行TSC時(shí)間獲取所用的時(shí)間大約是32ns,二者的性能差別是明顯的。由于使用了SMP(SymmetricMulti-Processor)系統(tǒng)和實(shí)時(shí)操作系統(tǒng)模塊RTLinux,任務(wù)分派到不同的CPU,而且設(shè)置分組輪詢進(jìn)程為高優(yōu)先級(jí),所以進(jìn)程調(diào)度對(duì)時(shí)間精確度影響可以控制在微秒級(jí)。由于網(wǎng)絡(luò)流量研究一般是在一定的時(shí)間尺度范圍內(nèi)的[10],所以微秒級(jí)的時(shí)間精確度基本能夠滿足千兆網(wǎng)測(cè)量需求。4.結(jié)束語本文在分析傳統(tǒng)網(wǎng)絡(luò)流量測(cè)量方法所存在的問題的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了基于雙零拷貝的網(wǎng)絡(luò)流量測(cè)量系統(tǒng)DZC-TMS,使流量測(cè)量系統(tǒng)的性能得到極大提高,能夠滿足千兆網(wǎng)絡(luò)的流量測(cè)量需求。當(dāng)然,本系統(tǒng)還存在一些局限性。由于軟件方案的限制,本系統(tǒng)在分組到達(dá)時(shí)間戳上的精確度還不夠高,這個(gè)問題只能在硬件層次解決。要測(cè)量更高帶寬的流量,除了采用性能更高的計(jì)算機(jī)系統(tǒng)以外,分組捕獲和存儲(chǔ)系統(tǒng)之一必然成為整個(gè)測(cè)量系統(tǒng)中的瓶頸,如果存儲(chǔ)系統(tǒng)成為瓶頸,則可以采用RAID0技術(shù)提高存儲(chǔ)速度,甚至可以設(shè)計(jì)一個(gè)并行存儲(chǔ)系統(tǒng),通過局域網(wǎng)把存儲(chǔ)任務(wù)分配到多臺(tái)計(jì)算機(jī);如果分組捕獲成為瓶頸,則需要把網(wǎng)絡(luò)流量分流到不同的測(cè)量系統(tǒng)。當(dāng)然這些都需要比較高的成本。在高速網(wǎng)絡(luò)流量測(cè)量中采用適當(dāng)采樣和壓縮技術(shù)而又不丟失流量特征,將會(huì)極大緩解帶寬提高帶來的壓力,是下一步重點(diǎn)研究的方向。網(wǎng)絡(luò)帶寬不斷提高,網(wǎng)絡(luò)流量測(cè)量的難度會(huì)越來越大,而網(wǎng)絡(luò)性能的提高會(huì)越來越和網(wǎng)絡(luò)流量的研究緊密結(jié)合,網(wǎng)絡(luò)流量測(cè)量技術(shù)需要持續(xù)的研究和提高。參考文獻(xiàn):[1]S.McCanneandV.Jacobson.TheBSDpacketfilter:Anewarchitecture.foruser-levelpacketcapture,”In:ProcofUSENIXWinterConf,Jan1993.259–269,.[2]李志春,張輝,有悅等.高速主干網(wǎng)測(cè)量系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).計(jì)算機(jī)工程,2003.29(1):53-55[3]J.Cleary,S.Donnelly,I.Graham,A.McGregor,M.Pearson.DesignPrinciplesforAccuratePassivemeasurement,In:PassiveandActiveMeasurementWorkshop,Hamilton(NewZealand),April2000.[4]Micheel,J.,S.Donnelly,andI.Graham.PrecisionTimestampingforNetworkPackets.In:ProceedingsoftheACMSIGCOMMInternetMeasurementWorkshop,SanFrancisco,California,Nov.2001[5]王佰靈,方濱興,云曉春.零拷貝報(bào)文捕獲平臺(tái)的研究與實(shí)現(xiàn),計(jì)算機(jī)學(xué)報(bào),2005.28(1):46-52[6]楊武,方濱興,云曉春等.基于Linux系統(tǒng)的報(bào)文捕獲技術(shù)研究.計(jì)算機(jī)工程與應(yīng)用,2003(26):28-30[7]田志宏,方斌興,云曉春.RTLinux下基于半輪詢驅(qū)動(dòng)的用戶級(jí)報(bào)文傳輸機(jī)制.軟件學(xué)報(bào),2004.15(6):834-841[8]W.E.LelandandD.V.Wilson.Hightime-resolutionmeasurementandanalysisoflantraffic:Implicationsforlaninterconnections.In:IEEEInfocom’91.13

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論