于天成,馮 旭
(91550部隊92分隊,大連 116023)
IP網(wǎng)應用技術的飛速發(fā)展的確帶給了我們很多方便快捷,使我們擁有了更多的業(yè)務處理和選擇的能力。但是同時也帶來了一些問題。我們不得不經(jīng)常面對網(wǎng)絡擁堵,數(shù)據(jù)業(yè)務的傳輸指標無法達到我們的要求等諸多問題。這些都對網(wǎng)絡的設計、管理和應用提出了嚴峻的挑戰(zhàn)。由于我們對網(wǎng)絡協(xié)議的分布、網(wǎng)絡流量特征、用戶與網(wǎng)絡行為缺乏準確的理解與精確的描述,并不能精確定位,無法順利解決問題。因此,網(wǎng)絡測量技術也應運而生。網(wǎng)絡測量的基本目的是通過對提取的網(wǎng)絡的性能指標參數(shù)進行分析,從中發(fā)現(xiàn)影響網(wǎng)絡性能的瓶頸及潛在危險,為優(yōu)化網(wǎng)絡配置、評價網(wǎng)絡服務質(zhì)量、提高網(wǎng)絡運行效率和解決網(wǎng)絡故障提供決策依據(jù),為網(wǎng)絡安全性運行提供可靠的技術平臺。網(wǎng)絡性能的測量與分析已成為當今網(wǎng)絡研究技術人員普遍關注的焦點之一,越來越得到重視。
網(wǎng)絡測量技術總體上可分為主動測量、被動測量和基于SNMP的網(wǎng)絡測量三種。主動測量是通過向網(wǎng)絡發(fā)送一些探測包,觀察其在網(wǎng)絡中實際傳輸?shù)穆窂郊把舆t和排隊情況,從而推出網(wǎng)絡當前的工作狀況。被動測量技術是對通過測量點的流量進行記錄和分析,并對網(wǎng)絡的正常運行幾乎沒有影響??梢缘玫接嘘P網(wǎng)絡端到端性能指標,如延遲、吞吐量、延遲抖動和丟包率等,而且還可以得到被測鏈路上的網(wǎng)絡流量特征,如流量的數(shù)字特征、流量的分布、協(xié)議分布、鏈路利用率和用戶使用網(wǎng)絡的信息等?;赟NMP的測量是通過讀取相關網(wǎng)絡設備的管理信息庫(MIB)來得到反映網(wǎng)絡狀況的性能指標,讀取到的MIB中的信息傳遞到測量點時將占用網(wǎng)絡的帶寬。
網(wǎng)絡性能測量內(nèi)容通常包括以下幾方面:一是網(wǎng)絡流量測量:獲得網(wǎng)絡的流量特性,例如協(xié)議的使用情況、用戶的行為特征等,網(wǎng)絡流量測量涉及4個基本要素:端點、方向、時間粒度和協(xié)議層次;二是網(wǎng)絡負載壓力測量:網(wǎng)絡實際傳輸速率受諸多因素影響,包括網(wǎng)絡設備性能、鏈路質(zhì)量、終端設備數(shù)量、網(wǎng)絡應用系統(tǒng)等。通過網(wǎng)絡壓力測量,可以在一定程度上定量評估網(wǎng)絡實際傳輸速率和網(wǎng)絡交換設備的轉(zhuǎn)發(fā)能力;三是網(wǎng)絡協(xié)議分析:隨著網(wǎng)絡服務內(nèi)容的擴充和服務要求的提高,網(wǎng)絡協(xié)議體現(xiàn)出空間分布性、并發(fā)性、異步性、不穩(wěn)定性和多樣性。通過網(wǎng)絡協(xié)議分析,可以發(fā)現(xiàn)網(wǎng)絡潛在安全隱患、快速準確地定位故障原因,找出引起故障的網(wǎng)絡節(jié)點,以最快的速度恢復網(wǎng)絡的正常運行;通過分析網(wǎng)絡通信情況以及網(wǎng)絡連接狀況,可以對網(wǎng)絡性能和資源的合理分配,為規(guī)劃及調(diào)整網(wǎng)絡提供可靠依據(jù);四是應用系統(tǒng)測量:通過仿真單個用戶的通信性能,分析客戶端數(shù)據(jù)流入流出的情況,對網(wǎng)絡總體帶寬需求做出評估,為合理配置網(wǎng)絡帶寬、均衡網(wǎng)絡負載提供部分決策依據(jù)。
網(wǎng)絡測量方法應該滿足三方面的要求:一是穩(wěn)健性,被測網(wǎng)絡的輕微變化不會使測量方法失效;二是可重復性,在同樣的網(wǎng)絡條件下,多次測量結(jié)果應該一致;三是準確性,測量結(jié)果應能反映網(wǎng)絡的真實情況。
針對網(wǎng)絡測量的特點和我們實際的需求,提出了一個典型的分布式網(wǎng)絡測量系統(tǒng)的架構(gòu),如圖1,為該系統(tǒng)的理想結(jié)構(gòu)體系。系統(tǒng)主要功能可以分為4個模塊:
(1)網(wǎng)絡測量需求。為支持跨平臺可安裝要求,控制中心程序系統(tǒng)可采用Java語言開發(fā)。通過用戶操作接口可定制網(wǎng)絡測量任務和系統(tǒng)管理。如圖1所示,通過測量探針上的相應網(wǎng)絡端口,控制中心向測量探針下發(fā)測量任務,并可控制測量任務的開始和停止。如果有多個控制中心,可以在測量探針上設置相應數(shù)量的網(wǎng)絡端口??刂浦行呐c測量探針之間的通信采用TCP協(xié)議,保證測量任務的可靠傳輸。測量任務可動態(tài)配置。通過用戶操作接口上主動和被動測量任務模板,定制不同的網(wǎng)絡測量任務,用戶可以選擇不同的測量指標,動態(tài)地構(gòu)造測量任務,控制中心在每次測量時對測量探針也可進行動態(tài)選配??刂浦行目赏瑫r啟動多個測量。在測量設施不互相沖突的情況下,控制端可以同時啟動探針執(zhí)行多個網(wǎng)絡測量任務。系統(tǒng)也可同時為多個用戶服務。這些任務將在測量探針上的任務隊列中進行排隊,來避免測量任務之間操作沖突。
(2)網(wǎng)絡測量與數(shù)據(jù)采集。測量探針的功能是接收、管理和運行測量任務。測量探針受控于控制中心。測量任務隊列記錄和調(diào)度控制中心下發(fā)的測量任務,在測量任務需要啟動測量時,提供給測量程序模塊相應的測量任務參數(shù)??刂浦行目梢韵掳l(fā)不同的測量任務,這些測量任務按照在隊列中的排隊順序依次被執(zhí)行。通過添加、刪除隊列中的任務來實現(xiàn)測量任務隊列管理。測量結(jié)果數(shù)據(jù)采集:如圖1所示,測量探針通過不同的網(wǎng)絡接口可以同時發(fā)起多個測量。測量數(shù)據(jù)通過相應網(wǎng)絡接口在測量探針的本地數(shù)據(jù)庫中進行存儲。對性能指標(如單向時延、可用帶寬、丟包率等)的測量主要采用主動測量方法。主動測量易于控制,這里要根據(jù)測量要求定制探測分組序列(協(xié)議類型、分組序號、發(fā)送間隔、分組大小等)。對網(wǎng)絡流量的測量主要靠被動測量,通過PF_RING技術來捕獲數(shù)據(jù)包。被動測量可以根據(jù)測試需求定制數(shù)據(jù)采集的粒度和需要監(jiān)控的信息,以減輕網(wǎng)絡的開銷。
(3)數(shù)據(jù)管理。對于主動測量得到的原始數(shù)據(jù)返回數(shù)據(jù)存儲服務器之前需要進行壓縮以減輕網(wǎng)絡傳輸負荷,為保證數(shù)據(jù)傳輸安全,在測量探針和數(shù)據(jù)存儲服務器之間的通信采用了SCTP協(xié)議,減少大量數(shù)據(jù)對網(wǎng)絡帶寬的占用,保證傳輸?shù)男省τ诒粍訙y量得到的業(yè)務量數(shù)據(jù)在傳向數(shù)據(jù)庫前已基于IPFIX模板進行了預處理,去掉了一些冗余信息。數(shù)據(jù)存儲服務器根據(jù)數(shù)據(jù)的類型采取相應的數(shù)據(jù)存貯、維護和檢索策略。
(4)數(shù)據(jù)分析與可視化。在數(shù)據(jù)存儲服務器上實現(xiàn)了測量數(shù)據(jù)的分析、統(tǒng)計功能,并用Web Service技術進行發(fā)布。測量人員通過本地的瀏覽器即可打開數(shù)據(jù)顯示界面,從所監(jiān)測的網(wǎng)段導出網(wǎng)絡流量信息,并查看每一次被動測量的統(tǒng)計數(shù)據(jù),還可以查看某個IP地址或通過某個特定網(wǎng)絡接口發(fā)送和接收的包、字節(jié)的數(shù)量等。

圖1 網(wǎng)絡測量系統(tǒng)結(jié)構(gòu)體系圖
(1)多任務調(diào)度方法。解決測量過程的多任務情況更多采用的是多線程技術,各個線程之間則是采用了互斥鎖和條件變量互補的方法進行通信協(xié)調(diào)。使用時,條件變量被用來阻塞一個任務執(zhí)行線程,當條件不滿足時,任務線程往往解開相應的互斥鎖,并等待條件發(fā)生變化。一旦其它的某個任務執(zhí)行線程改變了條件變量,它將通知相應的條件變量喚醒一個或多個正被此條件變量阻塞的線程,這些線程將重新鎖定互斥鎖并重新測試條件是否滿足。
(2)基于流的被動測量技術。基于流的技術已逐漸被用于網(wǎng)絡傳輸流量的分析與計費設施中,另外在設置QoS策略、部署網(wǎng)絡應用和進行容量規(guī)劃等方面都有更新的應用。根據(jù)RFC3917-IPFIX標準,以思科教程為基礎,利用源IP地址、目的IP地址、源端口、目的端口、3層協(xié)議類型、服務類型字節(jié)、輸入邏輯接口等特征來定義流,這里還包括時間戳、時間同步、流終止、數(shù)據(jù)包分段等諸多信息規(guī)則。
(3)表示層應用程序開發(fā)。系統(tǒng)數(shù)據(jù)分析與可視化部分采用了B/S結(jié)構(gòu)。但是瀏覽器作為客戶端,對終端用戶的體驗和拓展帶來了一定的局限性。隨著RIA(Rich Internet Application)技術的不斷發(fā)展,突破了體統(tǒng)HTML應用程序的設計限制和互動約束。對本系統(tǒng)來說,RIA的最大優(yōu)點體現(xiàn)在,只傳輸頁面上變化的部分數(shù)據(jù),有效減少訪問數(shù)據(jù)存儲服務器帶來的網(wǎng)絡流量開銷,而且由于頁面是 flash格式,流量的動態(tài)顯示效果十分突出。
(1)時間同步。由于IP網(wǎng)絡傳輸數(shù)據(jù)的實時性是關鍵點,因此在設計加入測量系統(tǒng)后更要考慮網(wǎng)絡的時間同步問題。雖然IEEE1588標準精確時間協(xié)議已經(jīng)成型,并作為一種關鍵技術列入IP網(wǎng)絡實時數(shù)據(jù)傳輸?shù)难芯恐攸c,但是實際使用過程中IP網(wǎng)絡及測量系統(tǒng)的時間同步問題都需要進一步的明確。
(2)安全性。IP網(wǎng)絡測量系統(tǒng)建立依賴的基礎技術之一就是被動測量,被動測量技術可以將測量鏈路傳輸?shù)臄?shù)據(jù)進行拆解和解碼,因此就會存在信息泄密的問題,雖然從理論上講,被動測量只是對數(shù)據(jù)包中與用戶內(nèi)容無關的部分進行記錄和分析,但是仍然會存在IP地址和端口號內(nèi)容泄露,易被攻擊。
(3)技術融合。網(wǎng)絡測量系統(tǒng)會隨著網(wǎng)絡規(guī)模和傳輸流量的增加而處理的信息內(nèi)容也會增加,這就進一步增加了網(wǎng)絡運行的壓力,如何將網(wǎng)絡測量技術壓縮后運用于網(wǎng)絡中也是一種復雜的技術,降低網(wǎng)絡的復雜性,增強網(wǎng)絡的兼容性都將是一個各種技術融合的復雜過程。
IP網(wǎng)絡傳輸實時數(shù)據(jù)是我們所關注的焦點,也是發(fā)展的趨勢,但是網(wǎng)絡的復雜性和融合性決定了在這方面還是存在或多或少的問題,如何盡我們的能力去了解網(wǎng)絡,用數(shù)據(jù)說明網(wǎng)絡的情況,解決傳輸中出現(xiàn)的問題,是我們建立網(wǎng)絡測量系統(tǒng)所要解決的主要問題。網(wǎng)絡性能測量系統(tǒng)是一個復雜的系統(tǒng),網(wǎng)絡性能測量中有許多關鍵技術值得研究。隨著網(wǎng)絡性能相關理論、測量方法和分析模型研究的逐漸深入,各種測量工具的不斷出現(xiàn)及大型測量項目的不斷開展,人們對網(wǎng)絡的認識會越來越深刻,從而不斷地推動網(wǎng)絡性能測量技術向前發(fā)展。
[1] 謝希仁.計算機網(wǎng)絡.北京:電子工業(yè)出版社,2003.
[2] 李永利,唐家鶴,王昊.IP承載網(wǎng)絡性能測試技術.電信網(wǎng)技術,2007.
[3] 馬維旻,王俊峰,葉晨.一種分布式的被動測量系統(tǒng)設計.計算機應用研究,2004.