來源:微型機與應(yīng)用,作者:周福偉;武文忠;秦豐林;段海新
互聯(lián)網(wǎng)從誕生之日起就受到了人們的青睞。人們希望利用互聯(lián)網(wǎng)技術(shù)來改變其生活方式,事實上,互聯(lián)網(wǎng)技術(shù)經(jīng)過幾十年的長足發(fā)展,已經(jīng)影響并改變了傳統(tǒng)的生活、工作和學(xué)習(xí)等方式。互聯(lián)網(wǎng)技術(shù)的發(fā)明可以說是人類發(fā)明史最偉大的杰作,隨著網(wǎng)絡(luò)規(guī)模的日益擴大、互聯(lián)網(wǎng)用戶數(shù)量激增和新的網(wǎng)絡(luò)應(yīng)用不斷出現(xiàn),用戶對互聯(lián)網(wǎng)資源的需求也急速增加,這就使得網(wǎng)絡(luò)經(jīng)常出現(xiàn)服務(wù)質(zhì)量(QoS)低、網(wǎng)絡(luò)阻塞嚴(yán)重等現(xiàn)象。尤其對于校園網(wǎng)用戶來說,隨著校園網(wǎng)絡(luò)日益規(guī)模化和復(fù)雜化,其用戶數(shù)量通常過萬,當(dāng)校園網(wǎng)用戶訪問公網(wǎng)(中國聯(lián)通網(wǎng)絡(luò)、中國移動網(wǎng)絡(luò)、中國電信網(wǎng)絡(luò)等)時一般會出現(xiàn)網(wǎng)絡(luò)阻塞嚴(yán)重甚至?xí)霈F(xiàn)訪問不可達等現(xiàn)象。在這些情況下,如何提高校園網(wǎng)用戶服務(wù)質(zhì)量是網(wǎng)絡(luò)管理人員面臨的重要問題。要有效地解決這些問題,首先就需要對網(wǎng)絡(luò)進行測量,然后根據(jù)測量結(jié)果分析、改進網(wǎng)絡(luò)中存在的問題。
本文所述測量系統(tǒng)主要是基于校園網(wǎng)絡(luò),實現(xiàn)一個具有分布式、可擴展性的網(wǎng)絡(luò)測量平臺。利用各種測量方法和測量工具,測量校園網(wǎng)訪問公網(wǎng)和其他校園網(wǎng)絡(luò)各種相關(guān)的網(wǎng)絡(luò)性能參數(shù)。從而獲得網(wǎng)絡(luò)的狀態(tài)信息,掌握和分析校園網(wǎng)絡(luò)中各種性能參數(shù),研究校園網(wǎng)多出口環(huán)境下的網(wǎng)絡(luò)優(yōu)化問題,為校園網(wǎng)絡(luò)的優(yōu)化提供有價值的參考。
1 網(wǎng)絡(luò)測量技術(shù)
對于網(wǎng)絡(luò)測量技術(shù)的研究始于20世紀(jì)70年代,隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)中出現(xiàn)的各種難以預(yù)測的問題日益增多,網(wǎng)絡(luò)測量技術(shù)也越來越受到研究人員的關(guān)注。對于網(wǎng)絡(luò)測量,目前沒有一個統(tǒng)一的定義,人們只是形象地將網(wǎng)絡(luò)測量描述為利用一些有效的方法和成熟的技術(shù),通過使用軟硬件工具來測試了解網(wǎng)絡(luò)的運行狀態(tài)、獲得網(wǎng)絡(luò)性能參數(shù)和網(wǎng)絡(luò)行為指標(biāo)等一系列活動的總稱。網(wǎng)絡(luò)測量技術(shù)主要包括以下幾個方面:測量方法、測量對象、測量工具和測量結(jié)果的可視化等。
1.1 測量方法
由于測量方法分類較多,本文僅介紹幾種最基本、最常用的分類方法。根據(jù)測量環(huán)境中測量節(jié)點數(shù)目的多少,可以分為基于單點的網(wǎng)絡(luò)測量和基于多點的網(wǎng)絡(luò)測量;根據(jù)被測者是否知情,可以分為協(xié)作式網(wǎng)絡(luò)測量和非協(xié)作式網(wǎng)絡(luò)測量;根據(jù)被測節(jié)點的位置,可以分為端到端的網(wǎng)絡(luò)測量和分布式的網(wǎng)絡(luò)測量;根據(jù)測量的行為方式,可以分為主動式網(wǎng)絡(luò)測量和被動式網(wǎng)絡(luò)測量。
主動式網(wǎng)絡(luò)測量方法是測量源節(jié)點向目標(biāo)鏈路或者目標(biāo)節(jié)點發(fā)送探測數(shù)據(jù)包,然后根據(jù)返回的網(wǎng)絡(luò)性能參數(shù)來研究和分析網(wǎng)絡(luò)的行為。主動測量方法非常易于在網(wǎng)絡(luò)測量中實現(xiàn),而且能以更加直接的方式來分析網(wǎng)絡(luò),可以全面掌握整個測量網(wǎng)絡(luò)的行為特征。但是,主動測量方法也存在一定的缺陷,該方法在測量的過程中需要向網(wǎng)絡(luò)中注入特定的探測流量,導(dǎo)致了網(wǎng)絡(luò)中流量的增加。雖然探測流量很小,但是如果控制不當(dāng),也會在增加網(wǎng)絡(luò)負荷的同時對網(wǎng)絡(luò)性能結(jié)果產(chǎn)生一定的影響。
被動式網(wǎng)絡(luò)測量方法是通過在網(wǎng)絡(luò)中特定的節(jié)點上安裝探針和數(shù)據(jù)采集器等來收集流經(jīng)該節(jié)點的網(wǎng)絡(luò)流量,然后進行分析,提取業(yè)務(wù)特征進而獲得網(wǎng)絡(luò)性能數(shù)據(jù)。被動測量方法主要是通過在一個特殊點觀察網(wǎng)絡(luò)的行為,不會增加和修改網(wǎng)絡(luò)的數(shù)據(jù),對于網(wǎng)絡(luò)負荷基本上沒有影響,能夠較為準(zhǔn)確地反應(yīng)網(wǎng)絡(luò)中的性能。但是,從被動測量方法中捕獲得到的包難以甚至不可能包括想要的某些信息,被動測量方法的適用范圍較小,并且難以實現(xiàn)對網(wǎng)絡(luò)整體的理解和網(wǎng)絡(luò)端到端行為的理解,因此,被動測量方法主要用在帶寬測量和流量測量等方面。另一方面,由于被動測量方法可以直接獲得該節(jié)點上的數(shù)據(jù),可能會造成信息泄露等安全方面的問題。
1.2 測量對象
根據(jù)網(wǎng)絡(luò)測量的對象,可以分為網(wǎng)絡(luò)拓撲發(fā)現(xiàn)、網(wǎng)絡(luò)流量監(jiān)控、網(wǎng)絡(luò)性能測量和路由探測等方面。其中,對網(wǎng)絡(luò)性能的測量最能夠反映網(wǎng)絡(luò)服務(wù)質(zhì)量的高低。網(wǎng)絡(luò)性能參數(shù)主要包括:基于網(wǎng)絡(luò)層的性能指標(biāo)(單向延時、往返延時、丟包率、帶寬、可連通性等),基于傳輸層性能指標(biāo)和基于應(yīng)用層性能指標(biāo)。路由探測主要是測量源節(jié)點和目的節(jié)點鏈路之間所包含的各路由信息狀態(tài)。通過分析測量路徑,能夠發(fā)現(xiàn)網(wǎng)絡(luò)中是否存在故障。例如,可以發(fā)現(xiàn)鏈路中是否出現(xiàn)中斷不可達問題、路由器的配置問題、環(huán)路問題以及路徑的冗余等問題。本系統(tǒng)主要從網(wǎng)絡(luò)性能和路由探測兩方面進行研究設(shè)計。
1.3 測量工具
測量工具是測量網(wǎng)絡(luò)行為特征的重要組成部分。目前,測量工具主要有:基于網(wǎng)絡(luò)性能的測量工具ping、fping、pathchar、traceroute等,基于流量的測量工具iperf、netperf、netflow、nettramet等,基于拓撲發(fā)現(xiàn)的工具skitter、GASP等,基于路由選擇的工具traceroute、ASExplorer、RouteRracker等。網(wǎng)絡(luò)測量工具的選取對于網(wǎng)絡(luò)測量結(jié)果有著重要的影響。本系統(tǒng)主要使用基于網(wǎng)絡(luò)性能(ping、traceroute)和路由選擇(traceroute)兩大方面的測量工具。
2 體系結(jié)構(gòu)的研究與設(shè)計
本系統(tǒng)主要通過在不同區(qū)域的高校部署客戶端測量節(jié)點,實現(xiàn)一個分布式可協(xié)作的測量系統(tǒng)。其體系結(jié)構(gòu)設(shè)計如圖1所示。
該系統(tǒng)主要使用主動測量方法,測量節(jié)點通過主動測量工具探測網(wǎng)絡(luò)上的目標(biāo)節(jié)點,主要涉及到的測量參數(shù)包括帶寬、延時、丟包率、可連通性和節(jié)點間的路徑等,通過對這些參數(shù)的返回值進行分析處理,并把測量結(jié)果以圖形化的方式顯示在客戶端Web服務(wù)器上。
系統(tǒng)主要分為服務(wù)器和客戶端兩大部分,采用的是B/S結(jié)構(gòu)。服務(wù)器節(jié)點主要負責(zé)客戶端節(jié)點的注冊、管理和監(jiān)測節(jié)點狀態(tài),向客戶端節(jié)點分配測量任務(wù),保存客戶端節(jié)點返回的測量結(jié)果,顯示已經(jīng)部署好的客戶端節(jié)點拓撲分布圖并能夠通過服務(wù)器端直接訪問客戶端節(jié)點。客戶端節(jié)點主要完成測量任務(wù),但是,它又不是完全意義上的客戶端,當(dāng)有其他客戶端節(jié)點請求該節(jié)點進行協(xié)助測量時,此時該客戶端節(jié)點又可以轉(zhuǎn)變成為被請求客戶端節(jié)點的服務(wù)器??蛻舳说闹饕δ馨ǎ簩Ψ?wù)器分配的任務(wù)進行測量并且保存和傳送測量結(jié)果,本地用戶的添加、刪除、修改等管理操作,協(xié)助其他客戶端節(jié)點完成測量任務(wù),圖形化顯示出測量結(jié)果等。
3 系統(tǒng)主要功能實現(xiàn)方法
根據(jù)網(wǎng)絡(luò)測量系統(tǒng)的體系結(jié)構(gòu),網(wǎng)絡(luò)測量系統(tǒng)從功能上又可以劃分為通信控制模塊、數(shù)據(jù)收集模塊、數(shù)據(jù)分析和處理模塊、數(shù)據(jù)存儲模塊和結(jié)果的可視化顯示模塊等。
3.1 通信控制模塊
通信控制模塊主要完成服務(wù)器向客戶端分配任務(wù)、客戶端向服務(wù)器發(fā)送心跳數(shù)據(jù)、客戶端節(jié)點測量結(jié)果的傳輸?shù)?。為了保證數(shù)據(jù)在網(wǎng)絡(luò)傳輸過程中的安全性,自定義并設(shè)計了通信協(xié)議,利用socket通信來完成基于TCP協(xié)議的可靠傳輸。圖2所示是客戶端和服務(wù)器端的通信流程。
3.2 數(shù)據(jù)收集模塊
在數(shù)據(jù)收集模塊中主要使用ping、fping、traceroute等主動測量工具向測量目標(biāo)節(jié)點發(fā)送ICMP數(shù)據(jù)包,利用測量返回值得到性能參數(shù)。由于主動測量方法會增加網(wǎng)絡(luò)的負荷,因此選擇數(shù)據(jù)包較小的ping工具,而且在測量的過程中使用定長的時間間隔(客戶端還可以根據(jù)需要修改間隔時間,默認的情況下是5 min)進行采樣,這樣就可以緩解網(wǎng)絡(luò)中由于負荷過重可能導(dǎo)致的網(wǎng)絡(luò)阻塞。
3.3 數(shù)據(jù)分析和處理模塊
由于網(wǎng)絡(luò)中各種因素的影響可能使每次測量的結(jié)果偏差較大,為了減少誤差,使測量結(jié)果能夠更好地反映實際情況,對測量結(jié)果求均差和方差等一系列分析處理,并把處理后的結(jié)果保存到數(shù)據(jù)文件中。
3.4 數(shù)據(jù)存儲模塊
服務(wù)器端使用mysql數(shù)據(jù)庫來保存節(jié)點、用戶、測量任務(wù)等相關(guān)數(shù)據(jù)。同時,服務(wù)器對測量結(jié)果的保存采取文件的方式,每個測量節(jié)點的測量對象對應(yīng)有2個文件,其中一個文件保存歷史紀(jì)錄,另一個文件保存最近的一次測量紀(jì)錄。客戶端數(shù)據(jù)庫采用RRD結(jié)構(gòu)形式,優(yōu)點在于數(shù)據(jù)的保存與繪圖。每個測量對象對應(yīng)一個RRD文件,保存對應(yīng)測量結(jié)果。RRD文件的結(jié)構(gòu)如下圖所示,每一行都是上面一行若干數(shù)據(jù)的平均值,在記錄超出后自動刪除舊數(shù)據(jù),保持記錄數(shù)不變,這樣只需保存少量的數(shù)據(jù),減少日記文件的平均。其結(jié)構(gòu)如圖3所示。
3.5 結(jié)果的可視化顯示模塊
使用rrdtool畫圖工具將保存到文件里面的數(shù)據(jù)繪制成二維圖形,以Web的形式在客戶端顯示出來。為了更好更全面地反映網(wǎng)絡(luò)性能,以利于管理者分析和發(fā)現(xiàn)網(wǎng)絡(luò)中的問題,在結(jié)果顯示模塊中將會同時顯示每小時、每天、每周和每月的測量結(jié)果。
4 測量實驗
本系統(tǒng)在清華大學(xué)部署了一個服務(wù)器節(jié)點和一個客戶端節(jié)點,以下數(shù)據(jù)均來源于清華大學(xué)網(wǎng)絡(luò)中心部署的1臺客戶端節(jié)點的測量結(jié)果。
圖4顯示的是一周內(nèi)測量節(jié)點到中國銀行站點的往返延時和訪問中國銀行主頁需要的下載時間結(jié)果。從中可以發(fā)現(xiàn)測量結(jié)果具有很強的相似性和規(guī)律性。圖5顯示的是一天之內(nèi)測量中國銀行的往返延時和訪問中國銀行主頁需要的下載時間結(jié)果??梢钥闯鲈诎滋?點以后下載時間和往返延時明顯增加,分析可能到了訪問高峰期。
圖6顯示的是清華大學(xué)網(wǎng)絡(luò)中心到交通銀行網(wǎng)站節(jié)點的路徑,不同深度的灰色代表節(jié)點往返延時(RTT)處在不同的時間范圍,從最小的深灰色(小于15 ms)到最高的白色(大于120 ms)??梢栽趫D6中直觀地看到前面三跳其往返延時較小說明可能在同一個校園網(wǎng)中,緊接著往返延時變大,說明可能跳出校網(wǎng)網(wǎng)絡(luò)。根據(jù)大量路徑測量結(jié)果可以發(fā)現(xiàn)校園網(wǎng)是否存在冗余路徑和一些配置問題,進而進行優(yōu)化改進。
本系統(tǒng)經(jīng)測試運行良好,其測量結(jié)果能夠較為客觀地反映網(wǎng)絡(luò)性能,為網(wǎng)絡(luò)管理者提供一個有效的輔助工具。但是本系統(tǒng)沒有考慮到基于IPv6網(wǎng)絡(luò)相關(guān)性能測量,因此下一階段需要繼續(xù)完善以能夠更好地實現(xiàn)基于IPv4和IPv6同時測量。
責(zé)任編輯:gt
-
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11073瀏覽量
102615 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
38文章
5812瀏覽量
113428 -
測量系統(tǒng)
+關(guān)注
關(guān)注
2文章
531瀏覽量
41332
發(fā)布評論請先 登錄
相關(guān)推薦
評論