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