無(wú)線(xiàn)自組織網(wǎng)絡(luò)測(cè)試平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
——
關(guān)鍵詞:自組織網(wǎng)絡(luò) 測(cè)試平臺(tái) 路由算法 |
多跳自組織網(wǎng)絡(luò)(Ad hoc network)由多個(gè)獨(dú)立的具有路由(交換)功能的用戶(hù)通信終端組成。網(wǎng)絡(luò)中的相鄰終端可直接建立端到端的通信鏈路;非相鄰終端則可動(dòng)態(tài)地搜索路由,數(shù)據(jù)包借助其他終端轉(zhuǎn)發(fā),以多跳方式傳遞至最終的目的終端。在自組織網(wǎng)絡(luò)中,無(wú)線(xiàn)信道環(huán)境的快速變化及終端的移動(dòng)性造成了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)不斷變化。因此,如何搜索、維護(hù)有效的路由成為自組織網(wǎng)絡(luò)研究中的難點(diǎn)問(wèn)題。近年來(lái),研究者提出了多種路由協(xié)議草案,如DSR[1]、AODV[2]、SAR[3]等,其性能的評(píng)估數(shù)據(jù)基本上利用網(wǎng)絡(luò)模擬軟件如OPNet[4]、NS-2[5]、GloMoSim[6][[7]等仿真得到。由于仿真軟件中采用的無(wú)線(xiàn)信道、終端分布、終端運(yùn)動(dòng)等模型與真實(shí)的網(wǎng)絡(luò)環(huán)境相比均有一定的簡(jiǎn)化,所以在自組織網(wǎng)絡(luò)技術(shù)進(jìn)入實(shí)際商業(yè)應(yīng)用之前,構(gòu)建實(shí)際的Ad hoc網(wǎng)絡(luò)硬件測(cè)試平臺(tái)對(duì)其各層次的網(wǎng)絡(luò)協(xié)議算法設(shè)計(jì)進(jìn)行性能測(cè)評(píng)是十分必要的。但現(xiàn)有的各種無(wú)線(xiàn)終端均不支持任何自組織路由協(xié)議。 本文設(shè)計(jì)并實(shí)際建立了一個(gè)無(wú)線(xiàn)自組織網(wǎng)絡(luò)測(cè)試平臺(tái)系統(tǒng)TATbed。通過(guò)加載相應(yīng)的底層驅(qū)動(dòng)及測(cè)試系統(tǒng)軟件,使得配有無(wú)線(xiàn)網(wǎng)卡的普通PC機(jī)成為獨(dú)立的自組織網(wǎng)絡(luò)的實(shí)際終端;測(cè)試平臺(tái)對(duì)各種路由算法協(xié)議提供了統(tǒng)一的模塊接口,設(shè)定相應(yīng)的路由算法和測(cè)試參數(shù)后,即可通過(guò)檢測(cè)各個(gè)終端間的數(shù)據(jù)傳輸狀況,得到此路由算法的實(shí)際性能的統(tǒng)計(jì)結(jié)果。同時(shí),測(cè)試平臺(tái)可兼容各種無(wú)線(xiàn)網(wǎng)卡標(biāo)準(zhǔn),如IEEE802.11系列、HiperLan系列等。目前TATbed測(cè)試平臺(tái)已經(jīng)集成了多種Ad Hoc網(wǎng)絡(luò)的專(zhuān)有路由算法協(xié)議,包括AODV、DSR、SAR、FSR、ZRP等,并可真實(shí)地再現(xiàn)Ad hoc網(wǎng)絡(luò)應(yīng)用所處的實(shí)際環(huán)境(包括終端的移動(dòng)性與客觀信道的實(shí)際情況),為研究Ad hoc網(wǎng)絡(luò)在多種環(huán)境下的性能與特點(diǎn)提供可操作平臺(tái),對(duì)進(jìn)一步研究Ad hoc網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)和其各層網(wǎng)絡(luò)協(xié)議算法設(shè)計(jì)的測(cè)試、評(píng)估、優(yōu)化更具參考價(jià)值。 本文結(jié)構(gòu)如下,第一節(jié)介紹測(cè)試平臺(tái)系統(tǒng)的總體結(jié)構(gòu),第二節(jié)介紹系統(tǒng)的關(guān)鍵模塊設(shè)計(jì),第三節(jié)介紹其實(shí)際應(yīng)用和總結(jié)。 1 平臺(tái)結(jié)構(gòu) TATbed無(wú)線(xiàn)自組織網(wǎng)絡(luò)測(cè)試平臺(tái)的設(shè)計(jì)目標(biāo)是開(kāi)發(fā)支持多種Ad hoc網(wǎng)絡(luò)路由算法協(xié)議的測(cè)試終端以構(gòu)建實(shí)際的Ad hoc測(cè)試網(wǎng)絡(luò),并通過(guò)檢測(cè)各個(gè)終端間的數(shù)據(jù)傳輸過(guò)程對(duì)自組織網(wǎng)絡(luò)的各種實(shí)測(cè)性能指標(biāo)進(jìn)行統(tǒng)計(jì)、評(píng)估。 TATbed測(cè)試平臺(tái)由一定數(shù)量的獨(dú)立的自組織網(wǎng)絡(luò)終端構(gòu)成。在實(shí)際平臺(tái)設(shè)計(jì)中,在配有無(wú)線(xiàn)網(wǎng)卡的PC機(jī)(筆記本電腦)基礎(chǔ)上開(kāi)發(fā)了支持多種路由算法協(xié)議的自組織網(wǎng)絡(luò)終端,每個(gè)終端可依據(jù)設(shè)定的路由算法協(xié)議自行組建Ad hoc網(wǎng)絡(luò)并進(jìn)行數(shù)據(jù)傳輸。圖1為T(mén)ATbed平臺(tái)的實(shí)際測(cè)試示意圖。 TATbed測(cè)試平臺(tái)的軟件系統(tǒng)包括傳輸任務(wù)生成器、終端處理器和數(shù)據(jù)統(tǒng)計(jì)器三部分。 在測(cè)試開(kāi)始前,傳輸任務(wù)生成器將根據(jù)設(shè)置的測(cè)試參數(shù),生成每個(gè)終端的起始傳輸任務(wù)列表,以精確地控制測(cè)試過(guò)程中網(wǎng)絡(luò)的傳輸負(fù)荷。在傳輸任務(wù)列表中定義了整個(gè)測(cè)試過(guò)程中每組數(shù)據(jù)包的源發(fā)出節(jié)點(diǎn)、最終目的節(jié)點(diǎn)、數(shù)據(jù)包數(shù)量、發(fā)出時(shí)間。 測(cè)試開(kāi)始后,每個(gè)終端上的終端處理器將讀取其對(duì)應(yīng)的傳輸任務(wù)列表,在規(guī)定的時(shí)間進(jìn)入發(fā)數(shù)據(jù)包流程,處理需要發(fā)出的數(shù)據(jù)包,同時(shí)監(jiān)聽(tīng)無(wú)線(xiàn)網(wǎng)卡接收到的數(shù)據(jù)包并進(jìn)行相應(yīng)的處理。在測(cè)試過(guò)程中,終端軟件模塊記錄下本節(jié)點(diǎn)收到和發(fā)出的每個(gè)包的信息,包括收(發(fā))時(shí)間、包頭信息、包長(zhǎng)度等。 測(cè)試結(jié)束后,根據(jù)本次測(cè)試的整個(gè)網(wǎng)絡(luò)的起始傳輸任務(wù)列表和每個(gè)終端在測(cè)試過(guò)程中保存的收發(fā)包記錄,數(shù)據(jù)統(tǒng)計(jì)器統(tǒng)計(jì)分析、計(jì)算出相應(yīng)的測(cè)試指標(biāo),包括網(wǎng)絡(luò)容限、節(jié)點(diǎn)平均吞吐量、數(shù)據(jù)包成功傳輸率、數(shù)據(jù)包平均傳輸延時(shí)、延時(shí)抖動(dòng)、數(shù)據(jù)包傳輸路徑平均跳數(shù)、系統(tǒng)路由開(kāi)銷(xiāo)等。 2 自組織網(wǎng)絡(luò)測(cè)試終端設(shè)計(jì) 由于現(xiàn)有的各種通信終端設(shè)備均不支持任何自組織網(wǎng)絡(luò)路由算法協(xié)議,因此開(kāi)發(fā)自組織網(wǎng)絡(luò)測(cè)試終端成為整個(gè)測(cè)試平臺(tái)構(gòu)建的關(guān)鍵。在TATbed測(cè)試平臺(tái)中,通過(guò)在裝備了無(wú)線(xiàn)網(wǎng)卡的PC機(jī)上安裝終端處理器,使其支持多種自組織網(wǎng)絡(luò)的路由算法協(xié)議,成為實(shí)際的自組織網(wǎng)絡(luò)中的終端。 在現(xiàn)有的標(biāo)準(zhǔn)PC機(jī)系統(tǒng)下,網(wǎng)絡(luò)層采用IP協(xié)議,終端之間的連接根據(jù)IP地址的標(biāo)識(shí)來(lái)判別,應(yīng)用層的傳輸任務(wù)經(jīng)過(guò)數(shù)據(jù)打包處理后直接交無(wú)線(xiàn)網(wǎng)卡發(fā)送,并且只有當(dāng)數(shù)據(jù)包的源節(jié)點(diǎn)和目的節(jié)點(diǎn)處于相互無(wú)線(xiàn)網(wǎng)卡信號(hào)覆蓋范圍內(nèi)時(shí),才能成功發(fā)送IP數(shù)據(jù)包,終端本身并不支持任何路由功能。在TATbed測(cè)試平臺(tái)系統(tǒng)中,終端的MAC層和網(wǎng)絡(luò)層之間加載了自行開(kāi)發(fā)的驅(qū)動(dòng)模塊,以支持無(wú)線(xiàn)自組織網(wǎng)絡(luò)中的多跳傳輸,形成一個(gè)虛擬的傳輸鏈路層,為普通數(shù)據(jù)包的發(fā)送提供傳輸路由,如圖2所示。 終端處理器在Windows操作系統(tǒng)提供的NDIS(Network Driver Interface Specification,網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范)[8]層基礎(chǔ)上開(kāi)發(fā),包括底層接口驅(qū)動(dòng)、路由算法模塊和數(shù)據(jù)包的監(jiān)聽(tīng)記錄三部分。其結(jié)構(gòu)如圖3所示。 為測(cè)評(píng)各種不同路由算法協(xié)議的性能,終端處理器中的接口驅(qū)動(dòng)設(shè)計(jì)為一個(gè)自定義的標(biāo)準(zhǔn)路由算法接口。該接口將各種路由算法協(xié)議完成的尋找路由、確定路由等功能與系統(tǒng)網(wǎng)絡(luò)層完成的其他功能,包括與上下層之間的傳遞、包頭內(nèi)容的填寫(xiě)等工作分離,使得路由算法協(xié)議成為需要嵌入的單獨(dú)子模塊。不同的路由算法協(xié)議只需要遵循接口定義編寫(xiě)相應(yīng)的子模塊即可。目前,TATbed測(cè)試平臺(tái)系統(tǒng)可支持AODV、DSR、SAR、WRP、Fisheye、CBRP、ZRP等多種自組織網(wǎng)絡(luò)路由算法的測(cè)試、評(píng)估。同時(shí),由于終端處理器的接口驅(qū)動(dòng)加載在NDIS層上,使得測(cè)試平臺(tái)對(duì)MAC層協(xié)議透明,因此測(cè)試平臺(tái)可根據(jù)測(cè)試需要選用各種基于不同傳輸標(biāo)準(zhǔn)的無(wú)線(xiàn)網(wǎng)卡。目前系統(tǒng)中選用了基于IEEE802.11b標(biāo)準(zhǔn)的網(wǎng)卡進(jìn)行測(cè)試。 為支持多跳的數(shù)據(jù)傳輸,測(cè)試系統(tǒng)中所傳遞的數(shù)據(jù)包的包頭在標(biāo)準(zhǔn)的Ethernet-MAC包頭基礎(chǔ)上進(jìn)行了擴(kuò)展,加入了路由算法協(xié)議中規(guī)定的類(lèi)型信息和路徑信息,如圖4所示。 包頭的第0~13字節(jié)為標(biāo)準(zhǔn)的Ethernet-MAC包頭格式,第14~27字節(jié)為擴(kuò)展的“路由信息”域,之后是實(shí)際的用戶(hù)數(shù)據(jù)。對(duì)于來(lái)自高層(網(wǎng)絡(luò)層)的數(shù)據(jù)包,終端從其IPv4標(biāo)準(zhǔn)包頭中讀出此數(shù)據(jù)包最終發(fā)送的目的地址并將這一“最終目的地址”保存在“路由信息”域的“最終目的節(jié)點(diǎn)IP地址”項(xiàng)內(nèi);同時(shí)調(diào)用路由算法模塊,根據(jù)其最終目的地址獲取其對(duì)應(yīng)的多跳路由信息,并將實(shí)際的下一跳的接收節(jié)點(diǎn)的地址寫(xiě)入第7~12字節(jié)處的“下一跳接收節(jié)點(diǎn)MAC地址”項(xiàng)內(nèi),然后將此數(shù)據(jù)包交下一層(MAC&物理層)無(wú)線(xiàn)網(wǎng)卡處理發(fā)出。對(duì)于來(lái)自底層無(wú)線(xiàn)網(wǎng)卡接收到的數(shù)據(jù)包,終端讀取“路由信息”域的“最終目的節(jié)點(diǎn)地址”,如果此地址與其自身地址相符,則交上層網(wǎng)絡(luò)層繼續(xù)處理;如果不相符,則調(diào)用路由算法模塊,得到其對(duì)應(yīng)的多跳路由中下一跳的接收節(jié)點(diǎn)地址,然后交無(wú)線(xiàn)網(wǎng)卡處理發(fā)出。對(duì)于路由算法協(xié)議中規(guī)定的其他非數(shù)據(jù)包,如路由搜索包、路由應(yīng)答包、路由失敗包、周期性握手信息包等,則在“包類(lèi)型”域中標(biāo)示區(qū)別,由無(wú)線(xiàn)網(wǎng)卡收發(fā)后直接調(diào)用相應(yīng)的路由算法模塊處理。 3 系統(tǒng)應(yīng)用 TATbed無(wú)線(xiàn)自組織網(wǎng)絡(luò)測(cè)試平臺(tái)在普通PC機(jī)上開(kāi)發(fā)了支持多種自組織網(wǎng)絡(luò)路由算法協(xié)議的實(shí)際無(wú)線(xiàn)終端,以構(gòu)建一個(gè)實(shí)際的無(wú)線(xiàn)自組織網(wǎng)絡(luò)測(cè)試系統(tǒng)。筆者利用此平臺(tái)已經(jīng)成功地對(duì)AODV、SAR路由算法在多種實(shí)際網(wǎng)絡(luò)環(huán)境參數(shù)下進(jìn)行了性能的實(shí)測(cè)比較分析。測(cè)試結(jié)果可應(yīng)用于實(shí)際的自組織網(wǎng)絡(luò)路由算法的性能評(píng)估、設(shè)計(jì)優(yōu)化等方面。同時(shí),TATbed終端軟件模塊的設(shè)計(jì)使其可應(yīng)用于任何基于Windows內(nèi)核的硬件設(shè)備上,具有高度的通用性、靈活性和可擴(kuò)展性,在無(wú)線(xiàn)自組織網(wǎng)絡(luò)的實(shí)際網(wǎng)絡(luò)系統(tǒng)性能測(cè)量、網(wǎng)絡(luò)規(guī)劃優(yōu)化設(shè)計(jì)、網(wǎng)絡(luò)各層次算法協(xié)議性能評(píng)估等諸多方面均有其獨(dú)特的應(yīng)用優(yōu)勢(shì)。 參考文獻(xiàn) 1 The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks (DSR).http://www.ietf.org/internet-drafts/draft- ietf-manet-dsr-07.txt, 2002.02.21 2 Ad hoc On-Demand Distance Vector (AODV) Routing.http://www.ietf.org/internet-drafts/draft-ietf-manet-aodv-10.txt, Jan. 19, 2002 3 Xiaofeng Zhong, Youzheng Wang, Shunliang Mei, Jing Wang. Stable Enhancement for AODV Routing Protocol.THE 14TH IEEE INTERNATIONAL SYMPOSIUM ON PERSONAL, INDOOR AND MOBILE RADIO COMMUNI-CATIONS CONFERENCE, September 2003 4 OPNET Inc. (http://www.opnet.com). 5 The ns Manual. August 16, 2003,http://www.isi.edu/nsnam/ns/ns-documentation.html 6 Lokesh Bajaj, Mineo Takai, Ken Tang, Rajive Bagrodia, Mario Gerla. GloMoSim: A Scalable Network Simulation Environment. 7 GloMoSim Manual (ver. 1.2). http://pcl.cs.ucla.edu/pro-jects/glomosim/GloMoSimManual.html 8 windows2000 DDK Documents Network Drivers. Microsoft Corp. |
評(píng)論