無線局域網(wǎng)(WLAN" title="WLAN">WLAN)技術(shù)的發(fā)展和大規(guī)模應(yīng)用在給人們生活帶來便利的同時,也帶來了很多其它問題,如WLAN并不是真正意義上的“無線”;可靠性低;覆蓋能力有限;多數(shù)WLAN網(wǎng)絡(luò)在其有效距離內(nèi)具有“盲區(qū)”等等。而無線Mesh" title="Mesh">Mesh網(wǎng)絡(luò)技術(shù)的出現(xiàn),則很好地解決了上述問題。它徹底擺脫了線纜的束縛,能夠?qū)崿F(xiàn)非視距傳輸,可靠性高,結(jié)構(gòu)靈活,魯棒性強,因而越來越受到人們的重視,對無線Mesh網(wǎng)絡(luò)的研究也逐漸增多。目前對無線Mesh網(wǎng)絡(luò)的研究,比較典型的有2種方法:a)采用仿真方法開展研究工作,例如,基于NS-2和OPNET的仿真軟件,建立無線Mesh網(wǎng)絡(luò)(Wireless Mesh Network,WMN)協(xié)議模型和業(yè)務(wù)傳輸模型,進行協(xié)議的設(shè)計和性能分析。但對于真實的網(wǎng)絡(luò)環(huán)境,仿真還有一定局限性,畢竟它只是對現(xiàn)實環(huán)境的模擬。b)搭建測試床的方法,它基于無線Mesh網(wǎng)絡(luò)結(jié)構(gòu)抽象出更小的網(wǎng)絡(luò)結(jié)構(gòu)模型、業(yè)務(wù)模型及關(guān)鍵技術(shù),與真實環(huán)境基本相同,研究結(jié)果可直接運用到實際當(dāng)中,這也是目前許多國內(nèi)外研究機構(gòu)正在進行的研究工作。測試床研究方法中,比較典型的有卡靈頓大學(xué)的WMN。除此之外,還有普渡大學(xué)項目和西安電子科技大學(xué)的Mesh網(wǎng)絡(luò)性能測試平臺。在它們所搭建的測試床中,每一個被稱作MAP的Mesh路由器是一臺裝有兩塊無線網(wǎng)卡和一塊有線網(wǎng)卡的臺式機,有線網(wǎng)卡主要用來實現(xiàn)管理功能。這種設(shè)計對MAP節(jié)點的性能要求過高,也不利于Mesh網(wǎng)絡(luò)的擴展。鑒于此問題,本文在上述研究的基礎(chǔ)上,對無線Mesh網(wǎng)絡(luò)測試床進行了改進。
1 現(xiàn)有的Mesh測試床分析
在Mesh網(wǎng)絡(luò)中,MAP節(jié)點既是客戶端網(wǎng)絡(luò)的終點,又是Mesh骨干網(wǎng)的起點,將客戶端網(wǎng)絡(luò)和Mesh骨干網(wǎng)兩個邏輯上獨立的網(wǎng)絡(luò)實體,連接成一個功能上統(tǒng)一的整體。目前,大多數(shù)研究機構(gòu)在MAP節(jié)點結(jié)構(gòu)的設(shè)計上,普遍遵循如下思想:用單獨一個節(jié)點實現(xiàn)兩個網(wǎng)絡(luò)的連接,即用一臺裝有兩塊無線網(wǎng)卡的PC來實現(xiàn)骨干網(wǎng)絡(luò)和客戶端網(wǎng)絡(luò)的連接,該節(jié)點同時處于兩個網(wǎng)絡(luò)當(dāng)中。其中一塊無線網(wǎng)卡實現(xiàn)AP功能,另一塊實現(xiàn)MP功能,兩塊網(wǎng)卡之間通過相應(yīng)的地址轉(zhuǎn)換技術(shù)實現(xiàn)網(wǎng)卡間地址的轉(zhuǎn)換。
在實際搭建過程中,這種方案具有明顯的局限性,主要表現(xiàn)在以下3個方面:
a)網(wǎng)卡選擇:前期的探索性實驗證實了在一臺PC中安裝兩塊相同的無線網(wǎng)卡,由于驅(qū)動程序完全相同,沖突是在所難免的,它將導(dǎo)致兩塊無線網(wǎng)卡無法同時正常工作。另外,即使兩塊無線網(wǎng)卡不相同,若它們工作在同一頻段(2.4 GHz或者5GHz),由于距離較近,也會產(chǎn)生很大的同頻干擾,從而影響了數(shù)據(jù)的正常傳輸。因此,該方案在很大程度上限制了無線網(wǎng)卡的自由選擇。
b)節(jié)點故障處理:在Mesh網(wǎng)絡(luò)的日常使用和維護過程中,節(jié)點隨時會出現(xiàn)故障。若采用該方案,一旦MAP節(jié)點出現(xiàn)問題,由于節(jié)點自身的復(fù)雜性,很難進行故障排除,如果需要對設(shè)備進行更換,成本相對較高。
c)網(wǎng)絡(luò)的擴展性:當(dāng)現(xiàn)有的WLAN網(wǎng)絡(luò)需要加入Mesh網(wǎng)絡(luò)時,在該方案下,必須破壞現(xiàn)有的WLAN網(wǎng)絡(luò)結(jié)構(gòu),所有客戶端節(jié)點重新搜索MAP節(jié)點。若有多個WLAN網(wǎng)絡(luò)存在,處理方法也如此。這樣不但浪費了現(xiàn)有的硬件資源(WLAN的接入點AP),而且由于所有欲加入網(wǎng)絡(luò)的節(jié)點都需要斷開并重新獲得網(wǎng)絡(luò)參數(shù),增加了網(wǎng)絡(luò)重建的復(fù)雜性。如圖1所示,WLAN網(wǎng)絡(luò)A和B欲加入Mesh網(wǎng)絡(luò),接入點AP下的所有客戶端節(jié)點首先斷開與原AP的連接,接著在搜索到就近的MAP后重新建立連接,從而加入到Mesh網(wǎng)絡(luò),最終得到如圖2所示的Mesh網(wǎng)絡(luò)結(jié)構(gòu)。
采用上述方案搭建Mesh網(wǎng)絡(luò)測試床的性價比是很低的,為了降低測試床實現(xiàn)的難度,方便后期測試床的維護和擴展,本文提出一種新的MAP實現(xiàn)方案。
2 一種新的Mesh測試床
2.1 測試床規(guī)劃
根據(jù)測試床設(shè)計的可重復(fù)、可擴展性、靈活性和可靠性原則,結(jié)合WMN自身特點,設(shè)計了如圖3所示的Mesh網(wǎng)絡(luò)測試床。
2.2 功能子網(wǎng)的設(shè)計
平臺由三大功能子網(wǎng)組成,各自的網(wǎng)絡(luò)規(guī)劃如下:
a)Mesh骨干網(wǎng):骨干網(wǎng)通過交換機連接到外網(wǎng),提供internet接入服務(wù)。由于骨干網(wǎng)本質(zhì)上是一個Ad-hoc網(wǎng)絡(luò),因此每個骨干網(wǎng)節(jié)點的無線網(wǎng)卡模式均為“Ad-hoc”。
b)客戶端網(wǎng)絡(luò):傳統(tǒng)的WLAN網(wǎng)絡(luò),移動客戶端節(jié)點就是普通的移動終端,它們連接在AP節(jié)點上,與AP節(jié)點處于同一個子網(wǎng)中,通過AP的動態(tài)主機配置協(xié)議(Dynamic Host Configuration Protocol,DHCP)功能獲取IP地址后方可通信,通過Mesh骨干網(wǎng)訪問外網(wǎng)。依據(jù)WLAN的中心主從網(wǎng)絡(luò)特性,AP作為接入點,無線網(wǎng)卡的模式為“Master”,移動客戶端節(jié)點的無線網(wǎng)卡模式均為“Managed”。
c)Mesh骨干網(wǎng)與客戶端網(wǎng)絡(luò)的連接網(wǎng)絡(luò):Mesh骨干網(wǎng)與客戶端網(wǎng)絡(luò)作為獨立的兩個網(wǎng)絡(luò),只有通過一定的方式將二者連接起來才符合無線Mesh網(wǎng)絡(luò)的核心思想。
在此引入第三大功能子網(wǎng)(圖3矩形框內(nèi)所示),即兩臺PC分別安裝一塊無線網(wǎng)卡,并啟用PC自帶的有線以太網(wǎng)卡。其中一臺PC的無線網(wǎng)卡實現(xiàn)AP功能,稱為“AP”,另一臺PC的無線網(wǎng)卡實現(xiàn)MP功能,稱為“MP”,然后用一根網(wǎng)線連接兩臺PC的有線網(wǎng)卡接口,使二者結(jié)合成完整的MAP節(jié)點。這種方案彌補了單一節(jié)點模擬MAP的不足,表現(xiàn)在:
a)網(wǎng)卡選擇:兩塊無線網(wǎng)卡安裝在不同的節(jié)點上,節(jié)點間距離可以調(diào)整,因此在網(wǎng)卡的選擇上有較大的自由度。不用考慮同頻干擾,即使網(wǎng)卡完全相同也可正常使用。
b)節(jié)點故障處理:由于MAP的AP功能與MP功能被分解到獨立的兩個節(jié)點上,較容易進行故障點的判斷,故障處理簡單,即使需要對設(shè)備進行更換,成本也相對較低。
c)網(wǎng)絡(luò)的擴展性:當(dāng)現(xiàn)有的WLAN網(wǎng)絡(luò)需要加入Mesh網(wǎng)絡(luò)時,只需用一根線纜連接就近的MP節(jié)點和WLAN網(wǎng)絡(luò)的接人點。若出現(xiàn)多個WLAN網(wǎng)絡(luò)加人的情況,只需在MP節(jié)點和多個接入點間放置一臺交換機連接即可。圖4為圖1在該方案下進行網(wǎng)絡(luò)擴展后的拓?fù)浣Y(jié)構(gòu)。
2.3 節(jié)點設(shè)計
測試床由5個節(jié)點組成,其中MPP(MP3),MP1和AP3個節(jié)點分別由裝有兩塊網(wǎng)卡的PC(PC自帶一塊有線網(wǎng)卡,另安裝一塊802.11 b/g的無線PCI網(wǎng)卡)充當(dāng),MP2由一臺裝有802.11 b/g無線PCI網(wǎng)卡的PC充當(dāng),客戶端終端(station)由一臺筆記本電腦充當(dāng)。測試床各個節(jié)點的網(wǎng)絡(luò)標(biāo)識及所屬網(wǎng)絡(luò)見表1,各節(jié)點網(wǎng)卡的IP配置見表2。
2.4 實現(xiàn)環(huán)境
2.4.1 硬件環(huán)境
a)系統(tǒng)配置:P4-2.4 CPU;512 M內(nèi)存;80 G硬盤;
b)無線網(wǎng)卡:TP-LINK的TL-WN650 G;芯片Atheros 5212,支持802.1l b/g。
2.4.2 軟件環(huán)境
a)操作系統(tǒng):fedora 6(內(nèi)核:2.6.18-1.2798.fc6);Windows XP Professional(僅用于客戶端節(jié)點);
b)無線網(wǎng)卡驅(qū)動:madwifi-dfs-current.tar.gz;
c)相關(guān)軟件:kernel-xen-deve1-2.6.18-1.2798.fc6.i686.rpm;subversion-1.4.6.tar.gz;subversion-deps-1.4.6.tar.gzsharutils-4.6.1-2.i386.rpm,這些軟件是確保無線網(wǎng)卡驅(qū)動madwifi順利安裝的前提;dhcp-3.0.4-21.fc6.i386.rpm,該軟件使模擬AP中動態(tài)地址分配的功能得以實現(xiàn)。
2.5 實現(xiàn)技術(shù)
在測試床的搭建過程中需要解決以下關(guān)鍵技術(shù):操作系統(tǒng)的選擇、網(wǎng)卡驅(qū)動的選擇和安裝;可加載內(nèi)核模塊;Linux無線工具;動態(tài)主機分配協(xié)議、網(wǎng)絡(luò)地址轉(zhuǎn)換等等。這些技術(shù)的使用并不是相對獨立的,而是有一定的先后順序,它們相互配合,協(xié)調(diào)作用,有機地結(jié)合在一起共同支撐該測試床系統(tǒng)。
測試床的關(guān)鍵技術(shù)主要分為4個層次,如圖5所示:最底層是操作系統(tǒng)的選擇和安裝。這一步是測試床搭建的基礎(chǔ),所有后續(xù)的工作都必須在此之上才能進行。操作系統(tǒng)安裝完成后是網(wǎng)卡驅(qū)動的選擇和安裝,本平臺不僅要求驅(qū)動程序具有強大的功能,而且要求它是開源的,方便研究人員根據(jù)需要修改驅(qū)動代碼。網(wǎng)卡驅(qū)動程序安裝后并不能正常使用網(wǎng)卡,還需要可加載內(nèi)核模塊(Loadable Kernel Modules,LKM)技術(shù)。
在LKM之上涉及3個工具的應(yīng)用,其作用各不相同:Linux無線工具用于對無線網(wǎng)卡進行具體的參數(shù)配置,如傳輸信道、傳輸速率、無線模式等;平臺還需要利用DHCP工具在AP節(jié)點上模擬出動態(tài)主機分配功能;最后,還將利用NAT(Network Address Translation)原理,使用iptables工具來實現(xiàn)不同網(wǎng)絡(luò)之間的地址轉(zhuǎn)換。
3 測試床的功能驗證
完成測試床的搭建后,需要對平臺的功能進行驗證。本文主要從測試床平臺的客戶端網(wǎng)絡(luò)、Mesh骨干網(wǎng)絡(luò)、客戶端網(wǎng)絡(luò)與骨干網(wǎng)絡(luò)間的通信、Mesh網(wǎng)絡(luò)與Internet的融合4個方面加以驗證。
客戶端網(wǎng)絡(luò)的實現(xiàn)首先在于AP節(jié)點接入功能的模擬。打開終端節(jié)點的“無線網(wǎng)絡(luò)連接”窗口,看到終端連接到AP上,網(wǎng)絡(luò)標(biāo)識為“M-AP”,并通過AP的DHCP功能自動獲取到網(wǎng)絡(luò)配置信息,比如IP地址、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)等。
為了進一步證明客戶端網(wǎng)絡(luò)已經(jīng)搭建成功,需對客戶端節(jié)點與AP的連通性加以測試,結(jié)果如圖6所示,節(jié)點間通信正常。據(jù)此得出:客戶端網(wǎng)絡(luò)搭建成功。
骨干網(wǎng)絡(luò)是整個測試床實現(xiàn)的關(guān)鍵,Mesh骨干網(wǎng)本質(zhì)是一個Ad-hoc網(wǎng)絡(luò),只要安裝了無線網(wǎng)卡的計算機之間即可實現(xiàn)單跳或者多跳無線互聯(lián)。為驗證網(wǎng)絡(luò)的連通性,取其中任意兩個節(jié)點進行測試(以MP1和MP2為例),如圖7所示,節(jié)點間通信正常,骨干網(wǎng)絡(luò)搭建成功。
采用同樣的方法對客戶端網(wǎng)絡(luò)與骨干網(wǎng)絡(luò)間以及Mesh網(wǎng)絡(luò)與Internet間的通信狀況進行測試,所得結(jié)果表明平臺實現(xiàn)了子網(wǎng)間的通信及與異構(gòu)網(wǎng)絡(luò)的融合。
4 結(jié)論
本文介紹了基于WLAN的無線Mesh網(wǎng)絡(luò)測試床。針對無線Mesh網(wǎng)絡(luò)節(jié)點MAP,在前人研究的基礎(chǔ)上進行改進,提出了新的實現(xiàn)方案并成功地完成了測試床的搭建工作。該測試床的建立,為包括接入認(rèn)證、密鑰管理、安全路由在內(nèi)的Mesh網(wǎng)絡(luò)各關(guān)鍵技術(shù),在真實環(huán)境下提供一個開發(fā)試驗平臺。