李每虎,郭淵博,王洪玉
(解放軍信息工程大學 電子技術(shù)學院,河南 鄭州 450004)
無線Mesh網(wǎng)絡[1](WMN,Wireless Mesh Networks)是從移動Ad hoc網(wǎng)絡分離出來,并承襲了部分WLAN技術(shù)的新型網(wǎng)絡技術(shù),具有較高的可靠性、較大的伸縮性和較低的投資成本。無線 Mesh網(wǎng)絡的核心思想是讓網(wǎng)絡中每個節(jié)點都發(fā)送和接收信號,網(wǎng)絡中每個節(jié)點都具備自動路由功能,具有多跳特性,能夠很好地解決無線接入“最后一公里”瓶頸及WLAN中AP“單點故障”等問題。
作為一種高容量、高速率的新型分布式無線寬帶接入網(wǎng)絡,無線 Mesh網(wǎng)絡的關鍵技術(shù)以及面臨的相關問題已經(jīng)成為無線通信發(fā)展演進中的研究熱點之一,受到了國內(nèi)外業(yè)界的廣泛關注?;ヂ?lián)網(wǎng)的發(fā)展和多媒體業(yè)務的需求加速了無線通信向真正的寬帶系統(tǒng)過渡,其面臨的多種無線通信技術(shù)及異構(gòu)網(wǎng)絡共存、融合的趨勢和要求,使得無線 Mesh網(wǎng)絡技術(shù)的廣泛研究開發(fā)和產(chǎn)業(yè)化成為當前亟待解決的問題。而目前用于各種關鍵技術(shù)的具體實現(xiàn)、相關協(xié)議性能測試等研究的無線 Mesh網(wǎng)絡平臺不多,為了更好地將理論轉(zhuǎn)化為現(xiàn)實應用,提出了一種構(gòu)建實用、可擴展性強、能夠靈活應用的無線 Mesh網(wǎng)絡路由協(xié)議測試平臺的方案,并進行了原型系統(tǒng)實現(xiàn)和相關測試。方案基于Click軟件路由技術(shù)[2],應用動態(tài)源路由選擇協(xié)議(DSR,Dynamic Source Routing Protocol)[3]和相關軟硬件,在Linux操作系統(tǒng)上實現(xiàn)了無線Mesh網(wǎng)絡路由節(jié)點,為進一步對無線Mesh網(wǎng)絡及其路由理論的研究與應用開發(fā)提供了方法和思路。
軟件路由技術(shù)主要是采用通用的硬件平臺結(jié)合應用程序軟件來實現(xiàn)網(wǎng)絡路由。目前在軟件路由器研究領域中,基于Windows平臺的軟件路由器主要是用于商業(yè)化的,而開源的基于 Unix/Linux平臺的軟件路由技術(shù)更加適用于研究與開發(fā),應用比較廣泛的主要有Scout系統(tǒng)和Click路由系統(tǒng)。
Click路由系統(tǒng)是由美國MIT大學Eddie Kohler博士提出并由 MIT計算機技術(shù)系并行與分布式操作系統(tǒng)實驗室開發(fā)完成的基于Linux操作系統(tǒng)實現(xiàn)的一種新型模塊化軟件路由器,目前Click軟件已經(jīng)發(fā)布到了1.8.0版本。Click的最大特點就是面向?qū)ο蟮哪K化設計方式,使路由配置和管理更加靈活,用戶可以根據(jù)自己的需要選擇不同的模塊組合起來配置路由器,而且Click的模塊化設計方式也使得用戶可以方便地在原有路由器的基礎上增加新的功能。
DSR路由協(xié)議是一種反應式多跳路由協(xié)議,其網(wǎng)絡節(jié)點根據(jù)自身需求發(fā)起動態(tài)路由請求,由于在數(shù)據(jù)報文中帶有完整的源路徑信息,DSR協(xié)議能夠保證該報文按照指定路徑行進,可以有效地避免環(huán)路的產(chǎn)生,而且,它還能夠支持單向信道和非對稱路由,提供多條路由,是一種簡單而高效的按需實用路由協(xié)議。由于無線Mesh網(wǎng)絡組網(wǎng)靈活,網(wǎng)絡兼容性好,結(jié)構(gòu)復雜,選擇 DSR協(xié)議可以很好的實現(xiàn)與既有網(wǎng)絡(比如Internet)之間的無縫連接并能很好地適應網(wǎng)絡的動態(tài)變化。
方案在借鑒Click的軟件路由器體系結(jié)構(gòu)的同時,通過分析DSR路由協(xié)議的具體特點,對DSR協(xié)議模塊化結(jié)構(gòu)進行了充分的設計。設計后的基于Click系統(tǒng)的DSR協(xié)議組件配置結(jié)構(gòu)如圖1所示。
在分析如圖1基于Click系統(tǒng)的DSR路由組件結(jié)構(gòu)的基礎上,依據(jù)Click語法規(guī)則可編寫出基于文本的click配置文件dsr-userlevel.click。
在無線Mesh 網(wǎng)絡中,任何無線設備節(jié)點都可以同時作為AP 和路由器,網(wǎng)絡中的每個節(jié)點都可以發(fā)送和接收信號,每個節(jié)點都可以與一個或者多個對等節(jié)點進行直接通信。因此所設計的基于主機的無線Mesh網(wǎng)絡路由節(jié)點的基本體系結(jié)構(gòu)包括利用Click軟件路由技術(shù)構(gòu)建的無線Mesh網(wǎng)絡路由模塊和用HostAp軟件[4]實現(xiàn)的無線Mesh網(wǎng)絡接入模塊。其軟件硬件結(jié)構(gòu)如圖2、圖3所示。
圖1 基于Click系統(tǒng)的DSR協(xié)議模塊化組件結(jié)構(gòu)
圖2 硬件結(jié)構(gòu)
圖3 軟件結(jié)構(gòu)
3.2.1 節(jié)點實現(xiàn)所需軟硬件
節(jié)點構(gòu)建所選擇硬件包括:帶有以太網(wǎng)卡的Linux系統(tǒng)主機,Atheros AR5212A miniPCI無線網(wǎng)卡(可轉(zhuǎn)換成PCI),D-Link DWL-G122 USB無線網(wǎng)卡;所需的軟件主要是Click軟件包和HostAp軟件包等。
3.2.2 路由模塊的安裝與配置
在裝有Linux操作系統(tǒng)主機上安裝libgtk/libglib等基本庫文件和gcc/g++/gdb/make 等基本編程工具。
對網(wǎng)卡驅(qū)動程序進行安裝與配置,對于Atheros AR5213無線網(wǎng)卡,由于系統(tǒng)系統(tǒng)默認自動加載的ath5k驅(qū)動不支持MeshAP模式,因此需要從網(wǎng)站下載Madiwifi驅(qū)動并進行安裝加載,并將網(wǎng)卡模式設為ad hoc模式以支持Mesh路由。
下載最新的 click軟件包并進行用戶模式安裝(即userlevel模式),并將上述已編寫好的路由配置文件dsr-userlevel.click復制到相應的目錄下(一般為../click/userlevel/conf/)。
3.2.3 接入模塊的安裝配置
加載網(wǎng)卡驅(qū)動程序,由于系統(tǒng)內(nèi)核自帶rt73驅(qū)動,可以直接通過命令行對D-Link DWL-G122 USB無線網(wǎng)卡進行驅(qū)動加載,并將網(wǎng)卡模式配置為支持AP模式即Master模式。
安裝openssl-0.9.8與hostapd-0.5.7軟件,并根據(jù)實驗需要更改hostapd.conf配置文件。
編寫HostAP啟動腳本StartHostAP.sh,該腳本主要是通過啟用HostAP軟件,利用無線網(wǎng)卡與以太網(wǎng)卡進行橋接的方式實現(xiàn)無線接入功能。
利用基于Click的網(wǎng)絡節(jié)點搭建一個無線Mesh網(wǎng)絡測試平臺并設置相應IP地址和頻段,每臺主機代表一個節(jié)點,其拓撲結(jié)構(gòu)如圖4所示。
圖4 測試平臺網(wǎng)絡拓撲結(jié)構(gòu)
首先,在每個節(jié)點中啟動HostAP接入模塊以啟動接入功能,可在終端輸入命令行:
./StartHostAP.sh
其次,在每個節(jié)點中啟動基于Click的DSR路由模塊以啟動路由功能,進入/userlevel目錄,可在終端輸入命令行:
./conf/dsr-userlevel.click
這樣網(wǎng)絡中的每臺Linux主機都可以當作無線Mesh網(wǎng)絡路由節(jié)點正常運行,并且節(jié)點之間能夠正常通信。在 IP地址為192.200.1.21的主機上使用route命令可以查看到路由表如圖5示。
所搭建的無線 Mesh網(wǎng)絡節(jié)點平臺在完成正常的無線Mesh接入和路由功能上,可以進一步提高網(wǎng)絡的穩(wěn)定性,增加網(wǎng)絡的帶寬,提升網(wǎng)絡的速度,擴大無線網(wǎng)狀網(wǎng)的應用范圍,最終實現(xiàn)一個安全可管可控實用的無線網(wǎng)絡環(huán)境。該方案所設計實現(xiàn)的節(jié)點平臺還可以方便地在主機上安裝iperf和jrtplib等相關工具,實現(xiàn)對無線Mesh網(wǎng)絡路由協(xié)議的吞吐量、丟包率、網(wǎng)絡時延等數(shù)據(jù)的測試。
圖5 節(jié)點路由表
這里提出了一種在Linux操作系統(tǒng)上實現(xiàn)Mesh網(wǎng)絡節(jié)點的方法,并進行了原型系統(tǒng)實現(xiàn)。首先,由于Linux的開源特性,該節(jié)點可以通過對不同協(xié)議的編譯與配置來分析和比較不同協(xié)議的性能,并能夠在此基礎上靈活的加各種入功能模塊如Web和Ftp服務、防火墻等,實現(xiàn)一機多用加大投資效益。其次,研究人員能夠借鑒該方法在不更換硬件的條件下根據(jù)個人需求方便地搭建各種Mesh網(wǎng)絡平臺并進行應用開發(fā)與協(xié)議研究。為了更好地將實現(xiàn)網(wǎng)絡的具體應用,下一步的主要研究方向是在更換硬件設備和接口的基礎上,通過交叉編譯等方式,在開源嵌入式操作系統(tǒng)OpenWRT上,將在Linux主機上實現(xiàn)的開源無線Mesh節(jié)點平臺應用于嵌入式開發(fā)平臺,構(gòu)建基于嵌入式的無線Mesh網(wǎng)絡節(jié)點平臺。
[1] IAN F A, WANG Xudong, WANG Weilin.Wireless Mesh Networks: a Survey[J].Computer Networks, 2005, 47(04):446-487.
[2] KOHLER E.The Click Modular Router[D].USA: MIT, 2001.
[3] JOHNSON D B, MALTZ D A, HU Y.The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks[EB/OL].(2007-07-23)[2011-01-13].http://www.ietf.org/internetdrafts/draft-ieftmanet-dsr-11.txt.
[4] IEEE.Host AP Linux driver for wireless LAN cards and WPA Supplicant [EB/OL].(2008-11-01)[2011-01-13].http://hostap.epitest.fi/.