分布式網(wǎng)絡性能監(jiān)測系統(tǒng)設計與實現(xiàn)

華中科技大學  梁靜 石冰心 邢幫元




  對于實際運行中的網(wǎng)絡應用系統(tǒng),系統(tǒng)管理員需要對其運行效率進行監(jiān)控和性能分析,通過有效的管理開展最佳服務。對于欲建的網(wǎng)絡應用系統(tǒng),網(wǎng)絡設計者需要驗證其設計方案的可行性,以建立最優(yōu)的網(wǎng)絡環(huán)境。網(wǎng)絡規(guī)模越大,網(wǎng)絡性能監(jiān)測和性能分析工作越顯重要。


  對網(wǎng)絡性能進行全面監(jiān)測,是有效管理網(wǎng)絡的基礎。這種方式之所以目前還沒有被廣泛采用,主要是因為傳統(tǒng)網(wǎng)絡監(jiān)控工具存在著以下幾個缺點:網(wǎng)絡監(jiān)測工具本身會增加網(wǎng)絡的流量,對網(wǎng)絡本身造成很大的影響;網(wǎng)絡監(jiān)控工具造價太高,過于昂貴;網(wǎng)絡監(jiān)控工具都比較復雜,需要專業(yè)人士才能操作。因此,需要開發(fā)一種更方便有效的網(wǎng)絡監(jiān)測工具,使其具有更強的實用性。



一、開發(fā)思路及設計原則


  我們在制定系統(tǒng)框架設計方案時,力求克服現(xiàn)有網(wǎng)絡監(jiān)測系統(tǒng)所存在的問題,例如服務器端采用開放式操作系統(tǒng)Linux(同時提供到Unix的移植)以降低成本,將管理界面設計得簡單明了,降低對操作者的專業(yè)要求等等。


  同時,考慮到系統(tǒng)的開放性、可相互操作性和靈活性,應創(chuàng)建一個獨立平臺的通用網(wǎng)管系統(tǒng),我們可以使用Web服務器和瀏覽器來提供靜態(tài)、動態(tài)和交互的管理信息。基于Web的性能監(jiān)測系統(tǒng)有很多優(yōu)點,例如:管理者的操作不受地理位置的限制,可以在任何裝有Web瀏覽器的平臺下訪問;對系統(tǒng)的維護只需在Server上進行,無需在客戶端修改,降低了維護費用;可以獲得各種可在任何操作系統(tǒng)平臺上使用的簡單而有效的管理界面,特別適合于低成本、易于理解和遠程訪問的網(wǎng)絡運行環(huán)境。


  我們可以采用分布式測量方法,在每個被測節(jié)點處安裝一個測量程序,由該程序完成相應的測量工作,并將最后的測量結果返回服務器。這樣不僅避免了將所有的監(jiān)測工作全部放在服務器上,造成服務器負載過重的弊病,減輕了服務器的負擔,而且使系統(tǒng)具有很強的可擴展性。當網(wǎng)絡拓撲結構擴展的時候,已有的系統(tǒng)不需要做任何變動,只需要在新增的節(jié)點上放上測量程序,在配置信息中加入新增節(jié)點的相關測量信息,就可以實現(xiàn)對整個擴展后的系統(tǒng)的監(jiān)測。


  服務器端采用Linux下的標準C系統(tǒng),客戶端軟件利用VC++進行程序設計。VC++提供了大量的框架模型及類庫,使軟件的開發(fā)與設計變得更為方便。利用C++語言也是為了保證軟件各部分的接口與軟件運行的速率。



二、具體系統(tǒng)設計與實現(xiàn)


  1.開發(fā)目標


  國內(nèi)外已有的性能監(jiān)測軟件,主要是對網(wǎng)絡硬件設備以及網(wǎng)絡提供的各種服務性能進行監(jiān)測。本系統(tǒng)的側重點是從網(wǎng)絡層(IP層)給出網(wǎng)絡的性能指標,從而為網(wǎng)絡性能的分析和管理提供一定的依據(jù)和必要的數(shù)據(jù)。其中主要的性能參數(shù)包括以下幾方面。


  (1)可用性(Availability):鏈路的可用性是指有物理連接的鏈路的性能狀況。這個信息可以通過類似于Ping程序來實現(xiàn),即向目標節(jié)點發(fā)送ICMP報文,如果總是或者過于頻繁地出現(xiàn)在等待時間內(nèi)沒有ICMP報文的回應信息,則判斷該鏈路出現(xiàn)故障,是不可用的,管理員應該采取相應的措施。


 。2)點到點的延時(End to End Delay) :網(wǎng)絡延時是指報文在指定兩點間的往返時間(即我們所說的rtt時間)。這個信息也可以使用類似于Ping程序來實現(xiàn),即向目標節(jié)點發(fā)送ICMP報文,并根據(jù)收到的ICMP報文的回應報文與發(fā)送ICMP報文的時間差,求出兩點間的延時信息。


 。3)丟包率(Packet Loss Ratio):丟包率是指在網(wǎng)絡中由于擁塞或其它原因被路由器拋棄的報文在節(jié)點發(fā)出的報文總數(shù)中所占的比例。同樣可以通過向目標節(jié)點發(fā)送ICMP報文,然后通過接收到的回應報文和其發(fā)出報文的總數(shù)的比值得到這個參數(shù)。


 。4)路徑信息(Routing Information):主要記錄兩個節(jié)點間的路由情況,即源節(jié)點在到達目標節(jié)點的過程中,實際經(jīng)過了哪些節(jié)點。


  2.系統(tǒng)總體框架


  本系統(tǒng)采用分布式測量和集中管理的辦法,整個系統(tǒng)采用Client/Server的方式,分為三大模塊:測量模塊、分析模塊和用戶接口模塊,系統(tǒng)總體框架如圖1所示。其中,測量模塊負責網(wǎng)絡鏈路狀態(tài)的測量,它對用戶到主干網(wǎng)節(jié)點、主干網(wǎng)節(jié)點之間、主干網(wǎng)節(jié)點到用戶的鏈路性能(網(wǎng)絡延時和丟包率)進行測量,并將測量所得結果發(fā)送給服務器存入測量數(shù)據(jù)庫,以備分析模塊時使用。分析模塊定時從測量數(shù)據(jù)庫中取出測量數(shù)據(jù)結果進行處理,通過對各項指標的測量結果的綜合分析,將分析結果寫入分析數(shù)據(jù)庫中,同時結合網(wǎng)絡運行的特點以及用戶與ISP之間的服務水平協(xié)議(SLA)的要求,對網(wǎng)絡性能做出初步判斷,并將性能不滿足指標的鏈路以報警信息的形式報告給管理員。用戶接口模塊負責將網(wǎng)絡管理員所配置的信息寫入配置數(shù)據(jù)庫中,同時查詢分析數(shù)據(jù)庫,將分析的結果以Web頁面的形式返回給管理員查看。


  這三種模塊主要通過數(shù)據(jù)庫進行聯(lián)接。該系統(tǒng)中存在三種數(shù)據(jù)庫:(1)測量數(shù)據(jù)庫,用于存放測量模塊獲得的測量信息;(2) 分析數(shù)據(jù)庫,用于存放分析模塊的統(tǒng)計信息;(3)配置數(shù)據(jù)庫,用于存放測量模塊需要的各種測量配置信息,如測量節(jié)點、測量間隔時間、是否需要詳細路徑信息等等。


  系統(tǒng)的總流程如下:


  網(wǎng)絡管理員通過Web頁面對系統(tǒng)參數(shù)進行配置,用戶接口模塊讀取配置信息后,將結果存放于配置數(shù)據(jù)庫中;


  測量模塊向服務器發(fā)出請求,服務器讀取配置數(shù)據(jù)庫的信息后,將所得配置信息返回給測量模塊,使其設置測量方式;


  測量模塊按照測量參數(shù)進行測量,并將測量結果數(shù)據(jù)返回給服務器,由其存放于測量數(shù)據(jù)庫中;


  分析模塊定時讀取測量數(shù)據(jù)庫中的數(shù)據(jù)信息,對其進行統(tǒng)計、分析,將結果存放在分析數(shù)據(jù)庫中,并將測量數(shù)據(jù)庫中分析過的數(shù)據(jù)刪除;


  當網(wǎng)絡管理員想了解網(wǎng)絡狀況的時候,用戶接口模塊會讀取分析數(shù)據(jù)庫中的數(shù)據(jù),并通過Web界面,以圖形、報表、圖表等多種形式返回給管理員,并對性能較差的鏈路給出報警信息。


  3.測量部分的設計與實現(xiàn)


  測量模塊負責網(wǎng)絡鏈路狀態(tài)的測量,包括三種測量方式:(1)用戶到主干節(jié)點的測量;(2)主干網(wǎng)節(jié)點間的測量;(3)主干網(wǎng)節(jié)點到用戶的測量。(2)、(3)都是從監(jiān)控工作站發(fā)起的有規(guī)律的、可由網(wǎng)絡管理員控制的主動測量。(1)是由用戶發(fā)起的到任意站點的測量(我們稱之為被動測量),是不可預測的。通過用戶接口界面,管理員可以配置測量模塊的各種配置信息,然后將這些配置信息存到配置數(shù)據(jù)庫中,最后由服務器讀取配置信息,將其傳送給測量模塊,使其根據(jù)配置信息指定的測量方式進行測量。


  主動測量主要是骨干網(wǎng)分布節(jié)點之間的有規(guī)律的定時測量和骨干網(wǎng)測量節(jié)點到用戶的隨機抽樣的定時測量。主動測量分為兩類。


 。1)骨干網(wǎng)測量節(jié)點到骨干網(wǎng)任意被測節(jié)點之間的測量:這部分測量的目的是為給出測量節(jié)點和被測節(jié)點之間的網(wǎng)絡性能矩陣,并為總控分析模塊提供對主干網(wǎng)的分析數(shù)據(jù)。測量參數(shù)由管理員事先配置。


 。2)骨干網(wǎng)節(jié)點到用戶的測量:這部分測量的目的是為了給出測量點到接入用戶之間的網(wǎng)絡性能,進一步使得網(wǎng)絡管理人員判斷接入服務器和其他相關設備是否工作正常。我們將從接入服務器所持有的IP范圍中做隨機抽取一定數(shù)量的IP地址,然后進行測試。測量方法和細節(jié)與前面類似。


  主動測量的流程如下:


 。1)測量模塊向服務器發(fā)起請求,通過服務器的認證后,服務器將從配置數(shù)據(jù)庫中得到的數(shù)據(jù)傳給測量模塊;


 。2)測量模塊根據(jù)得到的配置參數(shù)進行測量;


  (3)測量完畢后,測量模塊將所得測量信息傳回服務器,并使自己進入睡眠狀態(tài),直至下一次測量開始(配置參數(shù)中有一個測量時間間隔的參數(shù)控制測量間隔);


 。4)服務器得到測量參數(shù)后將其傳回測量數(shù)據(jù)庫,一次測量完成。


  被動測量是由用戶隨機發(fā)起的對檢測點的集中測量。其測量不僅可以幫助用戶了解訪問某些站點速度不理想的原因,還可以幫助ISP在處理用戶投訴時具體定位故障位置?紤]到管理員和普通用戶的不同要求,客戶端測量模塊又可分為兩個部分:從管理員關心的角度出發(fā),程序開始運行后將自動定時測量固定節(jié)點的性能(如省網(wǎng)出口路由器、國家網(wǎng)出口路由器等),這將幫助管理員定位網(wǎng)絡故障位置;從用戶關心的角度出發(fā),用戶可以對任意他所關心的節(jié)點發(fā)起測量,了解當前網(wǎng)絡狀況。


  自動定時測量的流程與主動測量一樣,這里不再重復了。用戶發(fā)起的測量流程如下:


  用戶選擇測量節(jié)點IP以及其它測量參數(shù);


  測量模塊根據(jù)參數(shù)進行測量;


  測量結果以圖形的形式返回給用戶。


  4.分析模塊的設計與實現(xiàn)


  分析模塊主要對測量模塊獲得的數(shù)據(jù)進行分析,分析參數(shù)主要包括可用性、延時和丟包率。根據(jù)用戶的要求,分析包括:(1)點到點(或端到端)的延時或丟包率隨時間的變化規(guī)律;(2)主干節(jié)點與相鄰鏈路的延時或丟包率的空間分布規(guī)律;(3)用戶到主干節(jié)點的延時或丟包率隨時間的變化規(guī)律;(4)主干節(jié)點到用戶的延時或丟包率隨時間的變化規(guī)律;(5)用戶到省網(wǎng)出口路由器或國家網(wǎng)出口路由器的延時或丟包率隨時間的變化規(guī)律;(6)主干節(jié)點到主干節(jié)點的路徑變化規(guī)律;(7)用戶到主干節(jié)點的路徑變化規(guī)律。


  分析模塊是一個單獨運行的進程,它是按照設定時間間隔定時分析。其操作步驟為:


  分析模塊讀取測量數(shù)據(jù)庫的測量信息;


  分析模塊進行統(tǒng)計、分析;


  分析模塊將分析后的數(shù)據(jù)存放在分析數(shù)據(jù)庫中。


  分析模塊如果在分析過程中發(fā)現(xiàn)網(wǎng)絡出現(xiàn)錯誤或出現(xiàn)需要告警的信息,就將這些信息寫入錯誤、告警數(shù)據(jù)庫。


  5.用戶接口模塊的設計與實現(xiàn)


  用戶接口模塊主要用于用戶配置測量模塊需要的測量參數(shù),以及查詢分析模塊分析后的數(shù)據(jù)。它包括兩大部分:用戶配置接口和用戶查詢接口。


  用戶配置接口是用戶配置部分的程序接口,它讀取用戶的配置信息,并將這些信息存入到配置數(shù)據(jù)庫,包括六種參數(shù)設置。


 。1)主干節(jié)點間測量參數(shù)設置:設置的參數(shù)包括測量方法的選擇(Ping或Traceroute測量),每次測量發(fā)送數(shù)據(jù)報的數(shù)目、大小、TTL值等。設置的結果是給分布測量中的主干到主干測量部分使用;


 。2)主干節(jié)點間連接關系設置:設置主干節(jié)點間的連接關系信息,從這個設置的結果可以反映主干網(wǎng)的拓撲結構信息。設置的結果是給性能分析中的主干節(jié)點空間分析使用;


 。3)主干節(jié)點與接入服務器設置:設置主干邊緣節(jié)點、接入服務器以及用戶節(jié)點的連接關系信息,主要設置包括邊緣節(jié)點連接接入服務器IP地址以及每個接入服務器對應的IP地址范圍。設置的結果是用來在寫數(shù)據(jù)庫時確定用戶所屬的接入服務器;


  (4)主干節(jié)點IP、域名和別名設置:設置主干節(jié)點的IP地址、域名、別名,目的是便于用戶記住已設置的主干。設置的結果是給用戶接口中的查詢部分使用。


 。5)用戶測量參數(shù)設置:設置用戶測量主干節(jié)點和出口路由器的一些參數(shù),具體參數(shù)和(1)中差不多,設置的結果是給分布測量中的用戶測量部分和主干到用戶測量部分使用。


 。6)省網(wǎng)、國家網(wǎng)出口路由器設置:設置網(wǎng)絡的省網(wǎng)、國家網(wǎng)的出口路由器。設置的結果是給分布測量中的用戶測量部分使用。


  6.用戶查詢接口的功能


  用戶查詢接口是用戶查詢分析數(shù)據(jù)的程序接口,它讀取測量模塊分析后的數(shù)據(jù),并將這些數(shù)據(jù)以各種形式顯示出來。數(shù)據(jù)庫維護模塊用于整理分析數(shù)據(jù)庫和報警、錯誤數(shù)據(jù)庫中的過時數(shù)據(jù)。它主要包括8個子功能。


 。1)主干節(jié)點間的性能查詢:給出主干節(jié)點間的性能矩陣,主干節(jié)點間的性能隨時間和空間的分布規(guī)律圖,以及主干節(jié)點間的SLA評價;


 。2)主干節(jié)點到用戶的性能查詢:此功能模塊是給出主干節(jié)點回測用戶時得到的網(wǎng)絡性能,包括最小、平均、最大時延和丟包率,有最新、當天、一周、一月和總體這五種性能表;


 。3)用戶到主干節(jié)點的性能查詢:此功能模塊是給出用戶測量主干節(jié)點時得到的網(wǎng)絡性能,包括最小、平均、最大時延和丟包率。有最新、當天、一周、一月和總體這五種性能表;


 。4)主干節(jié)點間的路徑信息查詢:主干節(jié)點間的路由路徑信息查詢結果可由圖形和(或)報表兩種形式給出,包括路徑經(jīng)過的各個節(jié)點的IP地址以及這條路徑走的次數(shù);


 。5)主干節(jié)點間的空間信息查詢:此功能模塊用來查詢某個主干節(jié)點到其所有相鄰主干節(jié)點的網(wǎng)絡性能,結果以圖形和(或)報表的形式給出;


 。6)用戶到出口路由器信息查詢:此功能模塊是給出用戶測量主干節(jié)點時得到的網(wǎng)絡性能,包括最小、平均、最大時延和丟包率,有最新、當天、一周、一月和總體這五種性能表;


 。7)用戶到主干節(jié)點路徑信息的查詢:此功能模塊用戶到主干節(jié)點間的路由路徑信息,結果可由圖形和(或)報表兩種形式給出,包括路徑經(jīng)過的各個節(jié)點的IP地址以及這條路徑走的次數(shù);


 。8)配置信息的查詢:此功能模塊用來讓使用者查詢系統(tǒng)已經(jīng)設置的運行參數(shù)。所有的結果都是以表格形式給出。



三、總結


  該網(wǎng)絡性能監(jiān)測系統(tǒng)具有三個功能:對局域網(wǎng)和廣域網(wǎng)的設備和鏈路進行監(jiān)控;檢測各種可能的錯誤,并給出報警信息;幫助定位和解決故障。該系統(tǒng)在開發(fā)時選取普通PC機以及免費的操作系統(tǒng)Linux(基于Linux的大型數(shù)據(jù)庫Oracle也有免費下載版本),可以降低開發(fā)成本。系統(tǒng)的監(jiān)測時間間隔是可以由管理員根據(jù)網(wǎng)絡情況自動調(diào)整進行,這樣避免了在網(wǎng)絡流量過大的情況下,監(jiān)控系統(tǒng)本身所產(chǎn)生的大量數(shù)據(jù)包使網(wǎng)絡性能惡化;另外,該系統(tǒng)的各個模塊之間均是以數(shù)據(jù)庫來連接的,耦合性不強且易于擴展。當然,本系統(tǒng)也還有些不足之處,例如用戶端的測量模塊,目前是獨立的運行程序,需要用戶下載才能使用,以后的版本中可以考慮用瀏覽器插件的形式實現(xiàn)。


  該系統(tǒng)在廣州電信局試運行過,用于對廣東省163網(wǎng)的性能進行監(jiān)測。在試運行過程中,該系統(tǒng)運行可靠、穩(wěn)定,各項功能達到設計要求,管理員可以通過它對網(wǎng)絡進行監(jiān)控,及時發(fā)現(xiàn)網(wǎng)絡中存在的問題,并采取相應的措施,該系統(tǒng)為管理員提供了多種網(wǎng)絡監(jiān)控的工具。




----《通信世界》
   

掃碼關注5G通信官方公眾號,免費領取以下5G精品資料
  • 1、回復“YD5GAI”免費領取《中國移動:5G網(wǎng)絡AI應用典型場景技術解決方案白皮書
  • 2、回復“5G6G”免費領取《5G_6G毫米波測試技術白皮書-2022_03-21
  • 3、回復“YD6G”免費領取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復“LTBPS”免費領取《《中國聯(lián)通5G終端白皮書》
  • 5、回復“ZGDX”免費領取《中國電信5GNTN技術白皮書
  • 6、回復“TXSB”免費領取《通信設備安裝工程施工工藝圖解
  • 7、回復“YDSL”免費領取《中國移動算力并網(wǎng)白皮書
  • 8、回復“5GX3”免費領取《R1623501-g605G的系統(tǒng)架構1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息