TATbed無線自組織網(wǎng)絡測試平臺設計與實現(xiàn)
多跳自組織網(wǎng)絡(Ad hoc network)由多個獨立的具有路由(交換)功能的用戶通信終端組成。網(wǎng)絡中的相鄰終端可直接建立端到端的通信鏈路;非相鄰終端則可動態(tài)地搜索路由,數(shù)據(jù)包借助其他終端轉發(fā),以多跳方式傳遞至最終的目的終端。在自組織網(wǎng)絡中,無線信道環(huán)境的快速變化及終端的移動性造成了網(wǎng)絡拓撲結構不斷變化。因此,如何搜索、維護有效的路由成為自組織網(wǎng)絡研究中的難點問題。近年來,研究者提出了多種路由協(xié)議草案,如DSR[1]、AODV[2]、SAR[3]等,其性能的評估數(shù)據(jù)基本上利用網(wǎng)絡模擬軟件如OPNet[4]、NS-2[5]、GloMoSim[6][7]等仿真得到。由于仿真軟件中采用的無線信道、終端分布、終端運動等模型與真實的網(wǎng)絡環(huán)境相比均有一定的簡化,所以在自組織網(wǎng)絡技術進入實際商業(yè)應用之前,構建實際的Ad hoc網(wǎng)絡硬件測試平臺對其各層次的網(wǎng)絡協(xié)議算法設計進行性能測評是十分必要的。但現(xiàn)有的各種無線終端均不支持任何自組織路由協(xié)議。
本文設計并實際建立了一個無線自組織網(wǎng)絡測試平臺系統(tǒng)TATbed。通過加載相應的底層驅動及測試系統(tǒng)軟件,使得配有無線網(wǎng)卡的普通PC機成為獨立的自組織網(wǎng)絡的實際終端;測試平臺對各種路由算法協(xié)議提供了統(tǒng)一的模塊接口,設定相應的路由算法和測試參數(shù)后,即可通過檢測各個終端間的數(shù)據(jù)傳輸狀況,得到此路由算法的實際性能的統(tǒng)計結果。同時,測試平臺可兼容各種無線網(wǎng)卡標準,如IEEE802.11系列、HiperLan系列等。目前TATbed測試平臺已經(jīng)集成了多種Ad Hoc網(wǎng)絡的專有路由算法協(xié)議,包括AODV、DSR、SAR、FSR、ZRP等,并可真實地再現(xiàn)Ad hoc網(wǎng)絡應用所處的實際環(huán)境(包括終端的移動性與客觀信道的實際情況),為研究Ad hoc網(wǎng)絡在多種環(huán)境下的性能與特點提供可操作平臺,對進一步研究Ad hoc網(wǎng)絡的結構設計和其各層網(wǎng)絡協(xié)議算法設計的測試、評估、優(yōu)化更具參考價值。
本文結構如下,第一節(jié)介紹測試平臺系統(tǒng)的總體結構,第二節(jié)介紹系統(tǒng)的關鍵模塊設計,第三節(jié)介紹其實際應用和總結。
1 平臺結構
TATbed無線自組織網(wǎng)絡測試平臺的設計目標是開發(fā)支持多種Ad hoc網(wǎng)絡路由算法協(xié)議的測試終端以構建實際的Ad hoc測試網(wǎng)絡,并通過檢測各個終端間的數(shù)據(jù)傳輸過程對自組織網(wǎng)絡的各種實測性能指標進行統(tǒng)計、評估。
TATbed測試平臺由一定數(shù)量的獨立的自組織網(wǎng)絡終端構成。在實際平臺設計中,在配有無線網(wǎng)卡的PC機(筆記本電腦)基礎上開發(fā)了支持多種路由算法協(xié)議的自組織網(wǎng)絡終端,每個終端可依據(jù)設定的路由算法協(xié)議自行組建Ad hoc網(wǎng)絡并進行數(shù)據(jù)傳輸。圖1為TATbed平臺的實際測試示意圖。
TATbed測試平臺的軟件系統(tǒng)包括傳輸任務生成器、終端處理器和數(shù)據(jù)統(tǒng)計器三部分。
在測試開始前,傳輸任務生成器將根據(jù)設置的測試參數(shù),生成每個終端的起始傳輸任務列表,以精確地控制測試過程中網(wǎng)絡的傳輸負荷。在傳輸任務列表中定義了整個測試過程中每組數(shù)據(jù)包的源發(fā)出節(jié)點、最終目的節(jié)點、數(shù)據(jù)包數(shù)量、發(fā)出時間。
測試開始后,每個終端上的終端處理器將讀取其對應的傳輸任務列表,在規(guī)定的時間進入發(fā)數(shù)據(jù)包流程,處理需要發(fā)出的數(shù)據(jù)包,同時監(jiān)聽無線網(wǎng)卡接收到的數(shù)據(jù)包并進行相應的處理。在測試過程中,終端軟件模塊記錄下本節(jié)點收到和發(fā)出的每個包的信息,包括收(發(fā))時間、包頭信息、包長度等。
測試結束后,根據(jù)本次測試的整個網(wǎng)絡的起始傳輸任務列表和每個終端在測試過程中保存的收發(fā)包記錄,數(shù)據(jù)統(tǒng)計器統(tǒng)計分析、計算出相應的測試指標,包括網(wǎng)絡容限、節(jié)點平均吞吐量、數(shù)據(jù)包成功傳輸率、數(shù)據(jù)包平均傳輸延時、延時抖動、數(shù)據(jù)包傳輸路徑平均跳數(shù)、系統(tǒng)路由開銷等。
2 自組織網(wǎng)絡測試終端設計
由于現(xiàn)有的各種通信終端設備均不支持任何自組織網(wǎng)絡路由算法協(xié)議,因此開發(fā)自組織網(wǎng)絡測試終端成為整個測試平臺構建的關鍵。在TATbed測試平臺中,通過在裝備了無線網(wǎng)卡的PC機上安裝終端處理器,使其支持多種自組織網(wǎng)絡的路由算法協(xié)議,成為實際的自組織網(wǎng)絡中的終端。
在現(xiàn)有的標準PC機系統(tǒng)下,網(wǎng)絡層采用IP協(xié)議,終端之間的連接根據(jù)IP地址的標識來判別,應用層的傳輸任務經(jīng)過數(shù)據(jù)打包處理后直接交無線網(wǎng)卡發(fā)送,并且只有當數(shù)據(jù)包的源節(jié)點和目的節(jié)點處于相互無線網(wǎng)卡信號覆蓋范圍內時,才能成功發(fā)送IP數(shù)據(jù)包,終端本身并不支持任何路由功能。在TATbed測試平臺系統(tǒng)中,終端的MAC層和網(wǎng)絡層之間加載了自行開發(fā)的驅動模塊,以支持無線自組織網(wǎng)絡中的多跳傳輸,形成一個虛擬的傳輸鏈路層,為普通數(shù)據(jù)包的發(fā)送提供傳輸路由,如圖2所示。
終端處理器在Windows操作系統(tǒng)提供的NDIS(Network Driver InteRFace Specification,網(wǎng)絡驅動程序接口規(guī)范)[8]層基礎上開發(fā),包括底層接口驅動、路由算法模塊和數(shù)據(jù)包的監(jiān)聽記錄三部分。其結構如圖3所示。
為測評各種不同路由算法協(xié)議的性能,終端處理器中的接口驅動設計為一個自定義的標準路由算法接口。該接口將各種路由算法協(xié)議完成的尋找路由、確定路由等功能與系統(tǒng)網(wǎng)絡層完成的其他功能,包括與上下層之間的傳遞、包頭內容的填寫等工作分離,使得路由算法協(xié)議成為需要嵌入的單獨子模塊。不同的路由算法協(xié)議只需要遵循接口定義編寫相應的子模塊即可。目前,TATbed測試平臺系統(tǒng)可支持AODV、DSR、SAR、WRP、Fisheye、CBRP、ZRP等多種自組織網(wǎng)絡路由算法的測試、評估。同時,由于終端處理器的接口驅動加載在NDIS層上,使得測試平臺對MAC層協(xié)議透明,因此測試平臺可根據(jù)測試需要選用各種基于不同傳輸標準的無線網(wǎng)卡。目前系統(tǒng)中選用了基于IEEE802.11b標準的網(wǎng)卡進行測試。
為支持多跳的數(shù)據(jù)傳輸,測試系統(tǒng)中所傳遞的數(shù)據(jù)包的包頭在標準的Ethernet-MAC包頭基礎上進行了擴展,加入了路由算法協(xié)議中規(guī)定的類型信息和路徑信息,如圖4所示。
包頭的第0~13字節(jié)為標準的Ethernet-MAC包頭格式,第14~27字節(jié)為擴展的“路由信息”域,之后是實際的用戶數(shù)據(jù)。對于來自高層(網(wǎng)絡層)的數(shù)據(jù)包,終端從其IPv4標準包頭中讀出此數(shù)據(jù)包最終發(fā)送的目的地址并將這一“最終目的地址”保存在“路由信息”域的“最終目的節(jié)點IP地址”項內;同時調用路由算法模塊,根據(jù)其最終目的地址獲取其對應的多跳路由信息,并將實際的下一跳的接收節(jié)點的地址寫入第7~12字節(jié)處的“下一跳接收節(jié)點MAC地址”項內,然后將此數(shù)據(jù)包交下一層(MAC&物理層)無線網(wǎng)卡處理發(fā)出。對于來自底層無線網(wǎng)卡接收到的數(shù)據(jù)包,終端讀取“路由信息”域的“最終目的節(jié)點地址”,如果此地址與其自身地址相符,則交上層網(wǎng)絡層繼續(xù)處理;如果不相符,則調用路由算法模塊,得到其對應的多跳路由中下一跳的接收節(jié)點地址,然后交無線網(wǎng)卡處理發(fā)出。對于路由算法協(xié)議中規(guī)定的其他非數(shù)據(jù)包,如路由搜索包、路由應答包、路由失敗包、周期性握手信息包等,則在“包類型”域中標示區(qū)別,由無線網(wǎng)卡收發(fā)后直接調用相應的路由算法模塊處理。
3 系統(tǒng)應用
TATbed無線自組織網(wǎng)絡測試平臺在普通PC機上開發(fā)了支持多種自組織網(wǎng)絡路由算法協(xié)議的實際無線終端,以構建一個實際的無線自組織網(wǎng)絡測試系統(tǒng)。筆者利用此平臺已經(jīng)成功地對AODV、SAR路由算法在多種實際網(wǎng)絡環(huán)境參數(shù)下進行了性能的實測比較分析。測試結果可應用于實際的自組織網(wǎng)絡路由算法的性能評估、設計優(yōu)化等方面。同時,TATbed終端軟件模塊的設計使其可應用于任何基于Windows內核的硬件設備上,具有高度的通用性、靈活性和可擴展性,在無線自組織網(wǎng)絡的實際網(wǎng)絡系統(tǒng)性能測量、網(wǎng)絡規(guī)劃優(yōu)化設計、網(wǎng)絡各層次算法協(xié)議性能評估等諸多方面均有其獨特的應用優(yōu)勢。