摘要:對互聯(lián)網(wǎng)網(wǎng)絡(luò)性能進(jìn)行有效的測量是網(wǎng)絡(luò)運(yùn)營商、服務(wù)提供商和網(wǎng)絡(luò)用戶共同關(guān)注的問題。目前關(guān)于網(wǎng)絡(luò)性能測量的研究很深入,產(chǎn)生了大量的測量工具。但這些工具適用的網(wǎng)絡(luò)環(huán)境各有不同,功能也各有優(yōu)缺,而且絕大多數(shù)都是基于端到端的,使測量工作受到很大的限制。本文將簡要分析網(wǎng)絡(luò)性能測量及測量工具發(fā)展現(xiàn)狀,介紹一種基于單點(diǎn)控制的測量網(wǎng)絡(luò)性能的工具—pathneck,通過測試實(shí)驗(yàn)對其進(jìn)行分析研究。
關(guān)鍵詞:網(wǎng)絡(luò)性能;測量;Pathneck;研究
中圖分類號:TP393.06 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 22-0000-03
對互聯(lián)網(wǎng)網(wǎng)絡(luò)性能進(jìn)行有效的測量是網(wǎng)絡(luò)運(yùn)營商、服務(wù)提供商和網(wǎng)絡(luò)用戶共同關(guān)注的問題。目前關(guān)于網(wǎng)絡(luò)性能測量的研究很深入,產(chǎn)生了大量的測量工具。但這些工具適用的網(wǎng)絡(luò)環(huán)境各有不同,功能也各有優(yōu)缺,而且絕大多數(shù)都是基于端到端的,使測量工作受到很大的限制。本文將簡要分析網(wǎng)絡(luò)性能測量及測量工具發(fā)展現(xiàn)狀,介紹一種基于單點(diǎn)控制的測量網(wǎng)絡(luò)性能的工具—pathneck,通過測試實(shí)驗(yàn)對其進(jìn)行分析研究。
對互聯(lián)網(wǎng)網(wǎng)絡(luò)性能測量的研究是網(wǎng)絡(luò)運(yùn)營商、網(wǎng)絡(luò)服務(wù)商和網(wǎng)絡(luò)用戶共同關(guān)注的問題?;ヂ?lián)網(wǎng)運(yùn)營商通過了解網(wǎng)絡(luò)性能合理分配網(wǎng)絡(luò)資源、提高網(wǎng)絡(luò)利用率;互聯(lián)網(wǎng)服務(wù)提供商需要通過配置網(wǎng)絡(luò)性能測試系統(tǒng)來監(jiān)測網(wǎng)絡(luò)特征,從而配置應(yīng)用系統(tǒng),提高服務(wù)質(zhì)量;網(wǎng)絡(luò)用戶需要在了解應(yīng)用系統(tǒng)網(wǎng)絡(luò)性能的基礎(chǔ)上,確定網(wǎng)絡(luò)服務(wù)質(zhì)量狀況,以此作為選擇滿足自身需求的應(yīng)用系統(tǒng)的依據(jù)。目前關(guān)于網(wǎng)絡(luò)性能測量的研究很深入,產(chǎn)生了大量的測量工具,如iperf、 pathrate 、pathload、tcptrace等。但現(xiàn)有的工具適用的網(wǎng)絡(luò)環(huán)境各有不同,功能也各有優(yōu)缺,更重要的是絕大多數(shù)都是基于端到端的,即要求服務(wù)器和客戶端協(xié)作,使測量工作受到很大的限制。本文將簡要分析網(wǎng)絡(luò)性能測量工作及測量工具發(fā)展現(xiàn)狀,介紹一種基于單點(diǎn)控制的測量網(wǎng)絡(luò)性能的工具—Pathneck,通過測試實(shí)驗(yàn)對其進(jìn)行分析研究。
1 網(wǎng)絡(luò)性能測量概述
目前關(guān)于網(wǎng)絡(luò)性能測量的研究很深入,國內(nèi)外有大很多進(jìn)行相關(guān)的研究的組織和團(tuán)體,如國外進(jìn)行網(wǎng)絡(luò)測量的組織有CAIDA,IEPM,Intemet2(Abilene),AWI, NIMI,NPACI NWS,PPNCG等;國內(nèi)的清華大學(xué)、中科院、哈爾濱大學(xué)等在網(wǎng)絡(luò)性能研究方面也取得了很大的成果。我們將從網(wǎng)絡(luò)性能參數(shù)和網(wǎng)絡(luò)性能測量的方式兩個方面對網(wǎng)絡(luò)性能測量發(fā)展現(xiàn)狀進(jìn)行概述。
1.1 網(wǎng)絡(luò)性能參數(shù)
按照1998年IETF(互聯(lián)網(wǎng)工程任務(wù)組)定義的IP網(wǎng)絡(luò)性能參數(shù)以及1993年ITU—T(國際電信聯(lián)盟遠(yuǎn)群通信標(biāo)準(zhǔn)化組)定義的標(biāo)準(zhǔn)參數(shù),主要的網(wǎng)絡(luò)性能參數(shù)主要有:IP連接性、IP包傳送時延、IP包丟失率、帶寬、流量參數(shù)和IP包誤差率等。不同的應(yīng)用中還會根據(jù)實(shí)際需要設(shè)定一些重要的性能參數(shù)。不同的應(yīng)心中還有其他一些重要的性能參數(shù),必要時還可以自定義需要的參數(shù),并非局限于標(biāo)準(zhǔn)的定義。
1.2 網(wǎng)絡(luò)測量方式的分類
按照不同的角度,網(wǎng)絡(luò)測量有多種分類。如根據(jù)測量者的參與行為分為主動測量和被動測量,根據(jù)測量點(diǎn)的多少分為單點(diǎn)測量和多點(diǎn)測量,根據(jù)采用的協(xié)議分為基于TCP/IP協(xié)議的測量,基于SNMP協(xié)議的測量,根據(jù)測量的內(nèi)容,分為拓?fù)錅y量與性能測量等。
目前比較成熟的也是比較常用的測量方式分類是主動測量和被動測量。主動測量與被動測量各有其優(yōu)缺點(diǎn),而且對于不同的性能參數(shù)來說,這兩種測量測試也都有其各自的用途。
主動測量:在選定的測量點(diǎn)上利用測量工具有目的地主動產(chǎn)生測量流量,根據(jù)注入網(wǎng)絡(luò)的測量數(shù)據(jù)流傳送情況來分析網(wǎng)絡(luò)的性能。其優(yōu)點(diǎn)是可主動發(fā)送測量數(shù)據(jù),對測量過程的可控性比較高;缺點(diǎn)是注入的測量流量會改變網(wǎng)絡(luò)本身的運(yùn)行情況,使得測量的結(jié)果會有一定的偏差,如果注入的測量流量過多還會增加網(wǎng)絡(luò)負(fù)擔(dān)。
被動測量:將記錄網(wǎng)絡(luò)活動的探針接入到數(shù)據(jù)流量經(jīng)過的網(wǎng)絡(luò)中的某個點(diǎn)上,通過使用包過濾器捕獲通過該點(diǎn)的數(shù)據(jù)包,匯總和記錄那條連接上業(yè)務(wù)流量的信息。被動測量的優(yōu)點(diǎn)是只監(jiān)視被接入到網(wǎng)絡(luò)連接上的數(shù)據(jù)包序列信息,不需要向網(wǎng)絡(luò)中注入流量數(shù)據(jù),因此不會增加網(wǎng)絡(luò)運(yùn)行負(fù)擔(dān),并且捕獲的數(shù)據(jù)為網(wǎng)絡(luò)中的原始數(shù)據(jù)信息。被動測量也存在明顯的缺點(diǎn):一是如果監(jiān)視系統(tǒng)的吞吐量不足,將會因遺漏包或監(jiān)視器中沒有足夠的緩沖去處理的突發(fā)包而使測量失效;二是被動測量需要服務(wù)器端與客戶端互相協(xié)作才能完成,這使得測量工作受到很大的限制。
無論哪種測量方式都有各自的優(yōu)點(diǎn)和缺點(diǎn),因此我們在進(jìn)行網(wǎng)絡(luò)性能測量前,要根據(jù)測量目的的需要和網(wǎng)絡(luò)實(shí)際狀況選擇合理的測量方式,提高測量的效果。
2 網(wǎng)絡(luò)測量工具介紹
測量Intemet性能的工具有很多,包括測量網(wǎng)絡(luò)帶寬、吞吐率、RTT、丟包率和可達(dá)性等的測量工具。這些測量工具中多是一些基于ICMP端到端的測量,比如Fping和Gnuplotinf,還有一些是基于網(wǎng)絡(luò)每一跳的分析,如Pathchar等。根據(jù)Internet不同性能的測量,測量工具大致可以分為3類。
(1)網(wǎng)絡(luò)延遲、可達(dá)性和丟包率的測量工具,如Gnuploting、Fping 、Echtopind等。
(2)網(wǎng)絡(luò)吞吐率的測量工具,如Pathrat e、TTCP、Netpert等。
(3)網(wǎng)絡(luò)帶寬的測量工具,如Pathchar,Pchar等。
從主動測量方法與被動測量方法的角度,測試工具大致可以分為以下兩類:主動測量方法: 具有代表性的有Iperf、Pathrate、Nettest等;被動測量方法:比較典型的是Netlogger、Tcptrace和Ntop等。產(chǎn)生數(shù)據(jù)流的主動測量方法通過在網(wǎng)絡(luò)中產(chǎn)生用于測量的數(shù)據(jù)包流量,來測量網(wǎng)絡(luò)帶寬、響應(yīng)時間(RTT)、丟包率等數(shù)據(jù),這類工具對于判斷網(wǎng)絡(luò)瓶頸和估計帶寬利用率是非常有用的;不產(chǎn)生數(shù)據(jù)流的被動測量方法,通過捕獲數(shù)據(jù)包,分析包頭信息,通過統(tǒng)計網(wǎng)絡(luò)流量信息和網(wǎng)絡(luò)流量監(jiān)視信息,這對于網(wǎng)絡(luò)管理員對實(shí)際運(yùn)行的網(wǎng)絡(luò)系統(tǒng)進(jìn)行測試來說是非常有用的。
3 Pathneck
Pathneck是一種通過向網(wǎng)絡(luò)中發(fā)送探測數(shù)據(jù)包列來獲取網(wǎng)絡(luò)中的延遲信息,判斷出網(wǎng)絡(luò)中可能發(fā)生或已經(jīng)發(fā)生瓶頸點(diǎn)和瓶頸鏈路的位置的測量工具。它能夠測得響應(yīng)時間,估計鏈路可用帶寬,最終實(shí)現(xiàn)網(wǎng)絡(luò)瓶頸點(diǎn)的定位。該工具運(yùn)行在linux系統(tǒng)環(huán)境下。
Pathneck基于一種稱為遞歸包列(RPT)探測技術(shù)(如圖1)。探測數(shù)據(jù)包列由兩種類型的數(shù)據(jù)包組成:測量數(shù)據(jù)包和負(fù)載數(shù)據(jù)包。測量數(shù)據(jù)包為標(biāo)準(zhǔn) traceroute 數(shù)據(jù)包,他們是 60 字節(jié)的 UDP 數(shù)據(jù)包。該圖顯示了每一端的30個測量數(shù)據(jù)包列,可以用來測量一段網(wǎng)絡(luò)路徑中不多于30 個躍點(diǎn)。更長的路徑可以使用更多測量數(shù)據(jù)包。加載數(shù)據(jù)包列由60個500字節(jié)的數(shù)據(jù)包組成,它們的作用是確保探測數(shù)據(jù)包列的長度不會因測量數(shù)據(jù)包的減少而受到大的影響。
如果探測端連續(xù)發(fā)送RPT 數(shù)據(jù)包,當(dāng)他們到達(dá)的第一個路由器時, 由于第一和最后一個測量數(shù)據(jù)包TTL 值是 1,它們會因?yàn)檫^期而被丟棄并且路由器會發(fā)送兩個 ICMP 數(shù)據(jù)包返回到發(fā)送端,其他測量數(shù)據(jù)包TTL 值也相應(yīng)的遞減。發(fā)送端會根據(jù)每個經(jīng)過的路由返回兩個 ICMP值計算出數(shù)據(jù)包列在該鏈路的長度,最后依據(jù)分組序列的長度的變化反映網(wǎng)絡(luò)路徑上鏈路容量和背景流強(qiáng)度的變化原理,分析出探測序列在路徑上傳輸時長度的變化,進(jìn)而確定瓶頸鏈路的位置。
4 實(shí)驗(yàn)結(jié)果分析
我們對pathneckf進(jìn)行了多次的實(shí)驗(yàn)測試,以下為在linux系統(tǒng)下從測試機(jī)到202.128.6.126的測試結(jié)果:
第1列為數(shù)據(jù)包所經(jīng)過每一跳路由的編號,第2列為到達(dá)該跳的RTT值,第3列為該跳的ip地址,第4列為發(fā)送數(shù)據(jù)包的間隔值,第5列為測得的ICMP 分組間距的原始值(微秒),第6列為瓶頸點(diǎn)位置(只顯示前三位),第7列為可用帶寬估算值(Mbps),第8列顯示該跳是否處于自擁塞狀態(tài)的臨界,是則顯示ub,不是則顯示lb,最后一行顯示的是從測試機(jī)到達(dá)目的節(jié)點(diǎn)的RTT值。
測試結(jié)果分析:
①從測試機(jī)到達(dá)目的地202.128.6.126共經(jīng)過了13個路由,最終返回,響應(yīng)時間(RTT)為144.266微秒。如圖3 :
②排除缺少數(shù)據(jù)的6列,最終瓶頸點(diǎn)定位在02、09、05三個位置,對應(yīng)IP地址可找到具體的位置。
③01、03、06、08、10和12的4、5、7列為0,可能由于某種原因,路由只返回的兩個 ICMP 數(shù)據(jù)包中的一個,導(dǎo)致測試端只接收到了其他幾個數(shù)據(jù)信息。我們通過多次測試發(fā)現(xiàn),除第一跳始終得不到數(shù)據(jù)外,其他幾跳缺少數(shù)據(jù)的4、5、7列也會測得數(shù)據(jù),圖4是我們從多次測量結(jié)果中選出的一組數(shù)據(jù),巧合的是剛好補(bǔ)充了圖2結(jié)果中缺少的數(shù)據(jù)。
④01行始終得不到任何數(shù)據(jù),原因可能是由于pathneck依賴于路由返回的兩個 ICMP 數(shù)據(jù)包,但該節(jié)點(diǎn)處于防火墻之內(nèi),導(dǎo)致ICMP數(shù)據(jù)包無法返回。
⑤圖4顯示結(jié)果中的rtt值為負(fù)數(shù),顯然這個結(jié)果不符合實(shí)際,我們發(fā)現(xiàn)這種情況出現(xiàn)的概率為百分之五。
另外,我們通過在Windows系統(tǒng)下虛擬機(jī)中安裝linux系統(tǒng),最終只反回了RTT值,具體原因我們正在研究中。在相同的測試機(jī)上測試相同的目的網(wǎng)址,有時也會出現(xiàn)和虛擬機(jī)中類似的情況。
實(shí)驗(yàn)結(jié)論: pathneck是一種實(shí)現(xiàn)單點(diǎn)控制的有效的網(wǎng)絡(luò)性能測量工具,可以測得從源點(diǎn)到目的端間每一跳路由間的rtt值和可用寬,并最終確定瓶頸鏈路位置。其遞歸包列的思想對我們進(jìn)行網(wǎng)絡(luò)測量有很大的啟發(fā)。但由于受網(wǎng)絡(luò)環(huán)境影響較大,尤其是其依賴路由返回ICMP值,對其測試性能帶來了很大的局限性。更為重要的是,其測量結(jié)果有時也會出現(xiàn)不符合邏輯的情況,說明其設(shè)計上還存在一定的問題,需要對其進(jìn)行改進(jìn)的優(yōu)化。
5 總結(jié)
對互聯(lián)網(wǎng)網(wǎng)絡(luò)性能測量的研究是網(wǎng)絡(luò)運(yùn)營商研究人員和用戶共同關(guān)注的問題,也有許多網(wǎng)絡(luò)性能測量工具。本文簡要分析了網(wǎng)絡(luò)性能測量及工具了現(xiàn)狀,詳細(xì)介紹了測量工具pathneck原理,并通過實(shí)驗(yàn)結(jié)果分析證明其有效性以及存在的缺陷。通過本文綜述,為對網(wǎng)絡(luò)性能測量感興趣的讀者提供參考。
參考文獻(xiàn):
[1]張白,宋安軍.基于Iperf的網(wǎng)絡(luò)性能測量研究[J].電腦知識與技術(shù),2009,5(36).
[2]Hu Ningning Locating Internet Bottlenecks:Algorithms, Measurements,and Implications,2003
[3]夏彪.端到端網(wǎng)絡(luò)瓶頸測量研究[D].武漢科技大學(xué)碩士學(xué)位論,2009,04
[4]粱冰,鹿凱寧,金志剛.Internet的測量與性能分析計算機(jī)工程,2003,05.
[5]華明.基于多服務(wù)商的數(shù)據(jù)中心網(wǎng)絡(luò)性能監(jiān)測系統(tǒng)的研究與設(shè)計[D].東南大學(xué)碩士學(xué)位論文,2009,05.
[6]夏彪,吳衛(wèi)東,黃澤鑫.基于Pathneck網(wǎng)絡(luò)測量的采樣算法研究[J].現(xiàn)代計算機(jī)(專業(yè)版),2008(10).
[7]賀大喜.在Internet中確定瓶頸鏈路的算法研究[D].重慶郵電大學(xué)碩士學(xué)位論文,2007,05.
[8]楊峻松.基于SNMP的網(wǎng)絡(luò)性能管理的研究與實(shí)現(xiàn)[D].東北大學(xué)碩士學(xué)位論,2005,12.
[9]李揚(yáng)繼,范寶鋒,楊洋.網(wǎng)絡(luò)性能測量技術(shù)分析[J].兵工自動化,2006,25(10).
[10]劉嘉.ATM網(wǎng)絡(luò)的神經(jīng)網(wǎng)絡(luò)流量控制[D].華南理工大學(xué)碩士學(xué)位論文,1999,02.
[作者簡介]劉為民(1981-),男,籍貫:吉林 靖宇,學(xué)歷:工程碩士(在讀),所在城市:湖南長沙,工作單位:國防科學(xué)技術(shù)大學(xué)計算機(jī)學(xué)院。