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