王海濤 付鷹
(解放軍理工大學通信工程學院 南京 210007)
當前,IP網絡存在一些固有的缺陷,如服務質量難以保證,無法確保網絡安全,等等。網絡測量是深入認識網絡特性的重要手段,也是實施流量工程、進行網絡管理和優化設計的重要依據,進而為從事網絡理論和技術研究以及工程開發各類人員提供幫助和支持。
早在20世紀70年代Vint Cerf就在ARPAnet上開展了性能測量的項目,但直到90年代初IP網絡測量的研究才漸成體系。從20世紀90年代初開始,國外已經有許多研究機構開始進行了各種實際測量工作。
隨著因特網的應用和發展,用于網絡測量的協議也在不斷發展。
這些研究工作使IP網絡在測量的理論和方法、技術和工具等方面取得了長足的發展。
網絡測量方法應該滿足三個方面的要求:頑健性,即被測網絡的輕微變化不會使測量方法失效;可重復性,即同樣的網絡條件下,多次測量結果應該一致;準確性,即測量結果應該能夠反映網絡的真實情況。
網絡測量涉及對象復雜多樣、測量內容廣泛、測量數據龐雜,需要多種測量方法予以支持。具體來說,可以從測量方式、測量點位置、測量參與者、測量時間粒度等角度加以分類。
根據測量過程中是否向網絡內注入探測分組,可以將測量方式分為主動測量(Active Measurement)和被動測量(Passive Measurement)。主動測量根據測量需要向網絡中注入特定的探測分組,通過對探測分組穿越網絡而發生特性變化的分析,得到網絡狀態和性能參數。例如,網絡測試命令Ping通過發送ICMP探測分組可以獲得網絡網返時延、分組丟失率與連通性等參數。
主動測量不依賴于被測對象的測量能力,適合端到端的網絡性能測量。它的缺點在于注入的探測分組不僅會占用網絡資源,而且會對網絡本身的運行狀況造成影響,測量結果往往會有一定偏差。因此,主動測量方法必須設法將對網絡的影響減到最小。被動測量在網絡中的關鍵設備和節點上部署測量裝置捕獲數據分組并進行統計分析,進而獲得網絡狀態和性能參數。被動測量不必發送額外的測量分組,不會對網絡自身行為造成影響,測量結果較主動測量更為準確。但是,被動測量實現復雜,只能獲得網絡局部數據,其準確度依賴于測量裝置的性能和統計分析算法,并且還會帶來隱私和安全問題。實際中,主動測量和被動測量方法往往結合起來使用,前者適合于網絡性能測量,而后者是用于網絡流量測量。目前的主動測量工具主要基于TCP/IP中的相關協議,如ICMP、TCP和UDP。被動測量可以基于SNMP協議來實現,也可以用數據分組捕獲方式來實現。
按照實施網絡測量的位置,可將網絡測量方法分為網絡邊緣測量和網絡內部設備(如交換機和路由器等)測量。網絡邊緣測量只需邊緣主機的參與,而不需要網絡核心設備的配合,通常借助于網絡推測方法來獲得網絡內部的相關參數。網絡邊緣測量主要是對網絡端對端業務的性能進行測量,也可以基于網絡流量矩陣估計方法來估測網絡流量。端到端性能測量是IP網絡測量的重要內容,可以全面了解網絡性能,包括時延、分組丟失率和帶寬測量等。端到端業務質量測量是進行網絡業務質量監控和管理的重要手段。
網絡內部設備測量是一種被動測量方法,通常采用SNMP協議在相關網絡設備上通過抽樣統計的方法對網絡的性能和流量進行測量。例如,在接入路由器和邊界路由器等位置可以對網絡流量進行測量,也可以針對特定業務流選用的特定路徑實施基于路徑的測量。
根據測量參與者是否愿意主動配合,可將網絡測量分為協作式測量和非協作式測量。協作式測量是指需要被測網絡的配合而進行的網絡測量,如路由器協作的測量。這種測量既可得到端到端的性能測量結果,也可以對網絡性能進行分段分析。而非協作測量不需要被測網絡的參與,如檢測網絡拓撲的變化。
根據測量環境中測量站的數量和分布,可以把網絡測量分成單點測量和多點測量。在網絡測量研究的早期,網絡規模較小,主要采用的是單點測量,通過一個測量站進行網絡性能測試。對于大規模網絡測量的情況,需要在網絡中的很多地點部署測量站進行分布式多點測量,得到比較詳盡的、綜合的大規模網絡數據以及單點測量所得不到的交叉路由信息。現在的多數網絡測量體系都采用分布式多點測量, 如NIMI, NLANR和IEPM等。
根據測量指標的時間粒度和用途又可以將測量分為長期測量和短期測量。長期測量通過對網絡流量、性能進行長期測量,建立網絡行為模型,為網絡規劃設計提供科學依據。短期測量指實時測量網絡性能指標,為保證服務QoS或網絡安全提供依據。
目前的測量方法不同程度地存在一些缺陷并限制了現有測量工具的使用能力,主要表現在如下幾方面:網絡測量依賴于特定的網絡協議(如TCP/IP 協議、SNMP協議) ,無法實現與網絡結構和協議無關的測量;測量依賴于自治系統內部節點或路由器之間的協作,出于網絡安全和商業利益等原因,有些自治系統并不對外開放,難以實現內部節點或路由器的協作與信息交流;大部分的測量工具功能單一,只能具有針對性地測量某個或某幾個性能指標,有些方法與工具還需要進行特殊的假設;測量信息的傳輸為網絡造成了附加流量,可能會影響到網絡的運行,在網絡高負載的情況下,無法進行測量。
IP網絡測量技術是實施網絡測量的基礎,包括網絡測量體系結構、網絡性能測量技術、網絡流量測量技術、業務流量測量技術和網絡推測技術等內容。

圖1 主動測量工作原理示意圖
網絡性能測量是分析網絡運行狀態、服務質量的前提,是實施網絡性能管理、改善業務質量的基本手段。性能測量是指通過對網絡實際測量,獲取網絡吞吐量、用戶響應時間、線路利用率等方面的性能參量,并確定門限值以進行性能評估。主動測量通過向網絡中注入特定的探測分組,并收集和分析這些探測包在網絡傳輸后發生的特性變化,從而得到網絡性能參數和網絡行為參數,其工作原理如圖1所示。
IP網絡性能監測系統可以測量各種常見的網絡性能指標,包括網絡帶寬、時延、吞吐量、丟包率和連通性等,這些性能指標的測量主要基于主動測量方法,即監控中心調度多個探針主動發送數據包來實施測量過程。主動測量根據測量需要向網絡中注入特定的探測包,通過對探測包穿越網絡而發生特性變化的分析,得到網絡狀態和性能參數。例如,網絡測試命令Ping通過發送ICMP探測分組可以獲得網絡往返時延、分組丟失率與連通性等參數,Traceroute可以測量路由和路由跳數,可以采用Iperf來測量TCP和UDP分組的帶寬、時延和丟包率,單路測量可以基于單路延時和丟包協議(OWDP)。協議基本思想為從源站向時鐘同步的目的站發送帶有發送時戳的IP測試包,在目的站計算其接收時刻與發送時戳的時間差,得出鏈路的單向傳輸延時和分組丟失。主動測量不依賴于被測對象的測量能力,適合端到端的網絡性能測量。它的缺點在于注入的探測分組不僅會占用網絡資源,而且會對網絡本身的運行狀況造成影響,測量結果往往會有一定偏差。
當前正在使用的主動測量工具,大多數采取如下4種模式:利用Ping及其衍生工具測量到特定主機的時延和分組丟失,并對其規律進行統計分析;利用Traceroute及其衍生工具測量到特定主機的路由,并分析路由的動態變化規律及其對網絡性能的影響;利用分組對或分組火車等帶寬測量技術,估算端到端路徑的瓶頸帶寬和有效帶寬,并分析帶寬的變化規律及其對網絡性能的影響;利用分組探測或者獲取路由信息的方法,跟蹤和探測網絡拓撲結構,并利用可視化工具對其進行圖形化顯示。
被動測量可以分為基于數據分組捕獲的協議分析的測量和基于網絡管理協議的測量。前者在關鍵設備和節點上部署測量裝置捕獲數據分組并進行統計分析,一般通過端口鏡像、多路轉發(例如使用分光計)以及鏈路串接等方式收集網絡中傳輸的數據分組、信令數據分組或者管理信息,進而獲得網絡狀態和性能參數。被動測量不必發送額外的測量分組,不會對網絡自身行為造成影響,收集到的數據主要用于網絡流量測量和各種流量分析,包括流量中各種應用業務構成的分析,報文的長度分布分析、按報文到達的時間分析流量的規律以及分析網絡利用率和網絡擁塞狀況等。被動測量的工作原理如圖2所示。首先在測量點部署測試裝置捕獲數據分組,然后根據需要對數據分組進行分類,進而統計總的網絡流量和各網絡協議或應用的流量,最后進行流量數據的管理、分析、預測,并將統計和分析結果呈現給用戶。

圖2 被動測量的工作原理圖
基于流的流量測量主要是對網絡中的流進行測量和分析,以掌握網絡的流量特性,如各種協議的使用情況、業務的服務性能和用戶的行為特征等。網絡流量測量廣泛用于網絡規劃、性能分析、入侵監測以及QoS保證等領域。對于大規模的網絡而言,流量測量和分析非常困難,難以對網絡承載的各類業務進行及時準確的流量和流向分析,缺乏有效的流量測量和分析系統。傳統的基于網絡管理協議的測量系統的典型做法是利用SNMP協議對網絡重點鏈路和接入點進行流量監視和統計,或者利用RMON探測對部分端口進行流量采集和監視。
IETF標準化組織于1990年提出SNMP協議,定義了統一的MIB(Management Information Base)存儲流量指標,目前幾乎所有的網絡設備都支持SNMP協議。基于SNMP的測量過程為:網絡管理站發送MIB請求信息,采集接口組、IP組、路由表等各組預先定義的參數,并進行存儲分析。HP的OpenView、SUN NetManager等都屬于基于SNMP的被動測量系統。但是,基于SNMP/RMON機制的網絡流量測量和分析系統有明顯的局限性,這種流量分析的粒度較粗,并且往往不是應用相關的。例如,SNMP能夠統計流經各端口的數據分組數量,但是無法區分網絡流量中不同類型業務的分布狀況,也無法對進出的流量進行流向分析。RMON探針需要對監控網段上的每個數據幀進行采集和分析,會耗費大量的CPU資源,而且數據量非常大,分析起來很困難。這種流量測量方式適合總流量測量和接口業務量檢測,但不適于流量分析。
為了深入分析網絡流量特性,被動測量可以在兩個層次上進行,分組級和流級別測量。分組級的被動測量是精細粒度的,包括源、目的IP地址、端口號、分組大小、協議號和特定的應用層數據。存在大量可用的分組捕獲工具(俗稱嗅探器),大都依賴于libcap庫,如TCPdump、Ethereal、Wireshark、SNORT等。Wireshark包括流量簽名,可以用于基于分組載荷的應用識別。SNORT是一種實時流量分析和分組記錄工具,能夠執行內容搜索/匹配并可檢測多種網絡安全攻擊。用于捕獲分組的硬件類型分為三種:第一是電纜或光纖分離(或分流)器,可以捕獲流量而不影響實際的流量,因為沒有將設備添加到分組的路徑上;二是采用端口鏡像設備,鏡像端口的速度可能會限制監視端口的數量,但對分組延遲影響不大;三是在分組路徑上放置主動設備(如路由器),該設備可以將分組捕獲到磁盤上或將分組鏡像到另一臺機器上,這種方式會增加分組延遲,但不會更改分組內容。隨后,通常會將捕獲的分組或相關數據存儲在一個本地或遠程數據可以便于對數據進行管理和分析。考慮到捕獲的數據量很大,必須提高數據訪問和分析的效率,因此通常采用高效的數據庫管理系統。捕獲設備的性能會影響捕獲的完整性,并且會造成分組丟失。
相比于分組級測量,基于流的測量是一種宏觀測量。需要采用適當的聚集規則,收集的數據包括流的數量、流比特速率、流大小和流分布等。在IP網絡中,流指一對端點之間傳送的具有相同特征(包括源、目的地址、源、目的端口和協議等)的一系列數據分組。流類似于電信網的呼叫記錄,采集一個流的詳細數據信息,包括源、目的地址、端口號、協議、業務類型、起止時間、分組和字節數等。基于流的測量便于從更細的粒度對網絡流量進行分析,從而更全面地掌握流量特性,如協議使用情況和用戶的行為特征等。實際的網絡測量中,為了減少測量的數據,采用抽樣技術來減少測量開銷是很有必要的。RFC 2330中規定抽樣時間分布可以是固定時間間隔、隨機時間周期、泊松分布時間和幾何分布時間等。而NetFlow是Cisco公司專有的流量測量技術,也是典型的基于流的測量系統和工具,廣泛用于Cisco路由器和交換機中來捕獲、顯示和分析各種網絡數據流信息,如源地址、目標地址、端口號、協議類型等。NetFlow的缺點是在路由/交換設備上捕獲數據包時會增加網絡設備的開銷,從而影響網絡性能,因此主要用在邊緣路由器上,不適合用于核心網骨干路由器的測量。為了確定骨干網性能,可以在每一對骨干路由器之間使用基于探測的主動測量技術。這種基于節點對的流量測量的關鍵是推導流量矩陣,即不同節點對之間的流量大小。流量矩陣可以從基于流的測量結果、網絡設備的接口流量統計結果以及其他網絡信息中推導出來。其他被動測量工具還有協議分析儀,例如Agilent Internet Advisor,WG Domino等。基于數據分組的被動測量系統因為需要捕獲、保存和分析處理鏈路上經過的數據分組而需要較高的數據處理能力和較大的數據存儲能力。基于數據分組捕獲的方法還存在用戶安全性問題和隱私方面的顧慮。因此,采集系統一般只保存數據包頭或者對數據分組按照某種策略進行過濾。
由于因特網分布化、異構化和不協作等特性,IP網絡的性能參數難以直接測量出來,需要專門的計算方法進行性能指標的估計。網絡推測就是用于性能參數估計和推測的一種技術手段。網絡推測利用網絡的部分測量信息通過某種推導機制來獲得網絡未知性能的估計和預測值。如利用端到端的分組延遲和丟失信息可以獲得往內部鏈路的QoS性能。近年來,研究人員將醫學、地震預測和地質勘探領域成功應用的成熟理論和方法應用于網絡推測,衍生出了網絡斷層掃描或網絡層析(Network Tomography, NT)技術,根據網絡外部(網絡端點或邊界)的測量來分析和推斷網絡的內部性能和拓撲結構。NT是一種在沒有網絡節點協作條件下,通過主動發包探測或被動收集網絡內部有用信息的新技術,結合統計學方法能夠很好地推理出網絡所有鏈路上的QoS參數,如時延分布、丟包率、網絡拓撲結構和OD (Origin-Destination)流量等。NT網絡推測技術只需測量端到端的網絡行為,而不需內部網絡的任何協作,不但降低了常規網絡測量方法帶來的網絡負載,還可實現與被測網絡內部結構和協議無關的測量。網絡推測屬于系統識別和參數估計問題,可以根據復雜度和精確度選擇相應的估計方法,常用的方法有最小二乘估計、最大似然估計和期望最大化算法等。網絡推測的缺點是計算復雜度較高,計算精度不夠高。
對網絡進行研究的最終目的是為了建立高效、穩定、安全、互操作性強、可預測以及可控制的網絡,而網絡測量是獲得第一手網絡行為指標和參數的最有效的手段。本文介紹了網絡測量的基本概念和分類,并論述了幾種關鍵的網絡測量技術。網絡測量是了解網絡運行狀況、業務性能以及用戶使用網絡資源和業務情況的重要手段,也是實施網絡規劃和管理、業務質量評價與控制、業務使用計費和研究網絡行為的基礎。網絡測量具有廣泛的應用范圍,包括:網絡故障診斷、協議排錯、網絡流量特征分析、業務性能評估、計費管理、網絡入侵監測和網絡行為分析,等等。因此,研究網絡測量方法和技術對于網絡基礎理論的研究和開發應用都具有重要的意義。
[1] 談杰,李星. 網絡測量綜述.計算機應用研究,2006,23(2):5~8
[2] 唐紅,趙國鋒,張毅等. IP網絡測量. 北京:科學出版社,2009
[3] 朱暢華. IP網絡測量和業務性能研究. 電子科技大學博士論文,2004
[4] Brownlee N, Claffy K. Internet measurement. IEEE Internet Computing,2004, 8(5): 30~33
[5] 牛燕華,任新華. Internet網絡測量方法綜述. 計算機應用與軟件,2006,23(7):11~13
[6] 楊雅輝,李小東. IP網絡性能指標體系的研究. 通信學報,2002,23(11): 1~7
[7] CoatesM, Hero A. Internet tomography. IEEE Signal Processing Magazine,2002, 19 (3) : 47~65
[8] 王俊峰.高速互聯網性能測量若干關鍵技術研究.成都:電子科技大學,2004
[9] 謝高崗.IP網絡性能測量技術研究.湖南大學碩士學位論文,2002