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