(1.沈陽(yáng)理工大學(xué) 遼寧 沈陽(yáng) 110000;2.遼寧工業(yè)大學(xué) 遼寧 錦州 121001)
隨著無(wú)線網(wǎng)絡(luò)的飛速發(fā)展,傳統(tǒng)無(wú)線網(wǎng)絡(luò)的局限性愈發(fā)突出,而Mesh網(wǎng)絡(luò)彌補(bǔ)了這種不足。Mesh網(wǎng)絡(luò)是一種發(fā)展于移動(dòng)Adhoc網(wǎng)絡(luò)的多跳網(wǎng)絡(luò),其拓?fù)浣Y(jié)構(gòu)靈活多變,自動(dòng)組網(wǎng)不需要人為控制。其組成的多跳網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都可以自由的加入或退出,各個(gè)節(jié)點(diǎn)間傳遞信息的時(shí)候通過(guò)多跳的方式將信息不斷地轉(zhuǎn)發(fā)最終傳遞到目標(biāo)節(jié)點(diǎn)。Mesh網(wǎng)絡(luò)因?yàn)槠浣M網(wǎng)靈活、吞吐量高,覆蓋范圍廣的特點(diǎn),從而被人們?cè)絹?lái)越關(guān)注并應(yīng)用到生活與工作中。
整個(gè)Mesh網(wǎng)絡(luò)的實(shí)現(xiàn)包括:開源硬件平臺(tái)樹莓派3B+,Openwrt路由管理系統(tǒng)和OLSR路由協(xié)議。
(1)樹莓派是由注冊(cè)于英國(guó)的慈善組織“RaspberryPi基金會(huì)”開發(fā)的一款基于ARM的微型電腦主板,使用5V/Micro USB電源輸入。以TF卡為內(nèi)存硬盤,操作系統(tǒng)采用開源的Linux系統(tǒng),比如Debian,Arch Linux等。提供Wi Fi、藍(lán)牙、USB、RJ45以太網(wǎng)接口,可以運(yùn)行豐富的開源軟件,滿足網(wǎng)絡(luò)服務(wù)等基本功能。用戶也可通過(guò)外置顯示器、鍵盤、鼠標(biāo)進(jìn)行配置操作。
(2)在樹莓派上燒錄Openwrt路由系統(tǒng),配置可視化界面,加載路由協(xié)議。
(3)使用一定數(shù)量的樹莓派搭建有骨干Mesh結(jié)構(gòu)的無(wú)線Mesh自組織網(wǎng)絡(luò),在其中的每個(gè)Mesh節(jié)點(diǎn)都可以充當(dāng)路由,終端節(jié)點(diǎn)通過(guò)有線網(wǎng)絡(luò)或Wifi連入Mesh節(jié)點(diǎn),實(shí)現(xiàn)終端節(jié)點(diǎn)之間的信息轉(zhuǎn)發(fā)。
無(wú)線Mesh網(wǎng)絡(luò)是一種具備自組網(wǎng)、自修復(fù)、網(wǎng)絡(luò)拓?fù)鋭?dòng)態(tài)變化,高帶寬等特性的分布式無(wú)線自組織多跳網(wǎng)絡(luò)。無(wú)線Mesh網(wǎng)絡(luò)有三種結(jié)構(gòu):骨干型Mesh無(wú)線網(wǎng)絡(luò)結(jié)構(gòu)、客戶端無(wú)線Mesh網(wǎng)絡(luò)結(jié)構(gòu),混合型無(wú)線Mesh網(wǎng)絡(luò)結(jié)構(gòu)。
(1)骨干型無(wú)線網(wǎng)絡(luò):由Mesh路由網(wǎng)絡(luò)和客戶端網(wǎng)絡(luò)組成的通信網(wǎng)絡(luò),客戶端設(shè)備如果需要通信必須經(jīng)過(guò)Mesh路由轉(zhuǎn)發(fā)。
(2)客戶端無(wú)線Mesh網(wǎng)絡(luò):由客戶端設(shè)備組成的點(diǎn)對(duì)點(diǎn)通信網(wǎng)絡(luò)。
(3)混合型無(wú)線Mesh網(wǎng)絡(luò):由骨干型無(wú)線網(wǎng)絡(luò)和客戶端無(wú)線Mesh網(wǎng)絡(luò)混合而成,其中的節(jié)點(diǎn)既可以具備路由功能還能進(jìn)行轉(zhuǎn)發(fā)通信,是應(yīng)用最廣、覆蓋面積最大的Mesh網(wǎng)絡(luò)。
Openwrt系統(tǒng)是一個(gè)高度模塊化、自由化和可編譯的嵌入式開源Linux系統(tǒng),Openwrt系統(tǒng)對(duì)于IEEE802.11協(xié)議簇有著良好的支持,可以應(yīng)用于無(wú)線Mesh網(wǎng)絡(luò)。
OLSR協(xié)議屬于表驅(qū)動(dòng)路由協(xié)議,核心算法為MPR集算法,即網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都會(huì)在它的一跳對(duì)稱鄰居節(jié)點(diǎn)中選擇一組節(jié)點(diǎn)作為MPR節(jié)點(diǎn)組。信息只會(huì)由MPR節(jié)點(diǎn)轉(zhuǎn)發(fā)。
從Openwrt官網(wǎng)下載Openwrt鏡像,把鏡像燒錄到樹莓派3B+中,啟動(dòng)后會(huì)進(jìn)入Openwrt的配置界面,由于樹莓派本身網(wǎng)卡不支持Adhoc模式,所以需要掛載一塊RT2700網(wǎng)卡用于搭建Mesh網(wǎng)絡(luò)。樹莓派啟動(dòng)后,默認(rèn)有線網(wǎng)卡eth0、無(wú)線網(wǎng)卡wlan0。
(1)首先進(jìn)入Openwrt的/etc/config/wireless下,設(shè)置網(wǎng)卡wlan0為ap模式,使得終端設(shè)備可接入Wifi。
(2)由于Openwrt有可視化界面luci便于操作,所以使用opkg命令安裝luci-app的相關(guān)軟件及OLSR協(xié)議。
opkg update
opkg install luci-app-olsr luci-app-olsr-services luci-app-olsr-viz olsrd olsrd-mod-arprefresh olsrd-mod-bmf olsrd-mod-dot-draw olsrd-mod-dyn-gw olsrd-mod-dyn-gw-plain olsrd-mod-httpinfo olsrd-mod-mdns olsrd-mod-nameservice olsrd-mod-p2pd olsrd-mod-pgraph olsrd-mod-secure olsrd-mod-txtinfo olsrd-mod-watchdog olsrd-mod-quagga wireless-tools luci-lib-json kmod-ipip wpad authsae
(3)由于樹莓派不識(shí)別外接網(wǎng)卡,所以需要安裝相關(guān)usb接口軟件.
opkg kmod-usb-ohci kmod-usb2 kmod-rt2800-usb kmod-rt2800-pci
(4)進(jìn)入Openwrt的/etc/config/wireless,設(shè)置wlan1的網(wǎng)卡模式為adhoc,設(shè)置網(wǎng)卡名稱為MESH,設(shè)置Mesh網(wǎng)絡(luò)信道為11,同時(shí)所有樹莓派的wlan1網(wǎng)卡的Mesh信道都必須保持一致。
(5)接下來(lái)設(shè)置wlan1網(wǎng)卡的MAC地址、IP地址和防火墻,由于在Mesh網(wǎng)絡(luò)中,運(yùn)行的OLSR協(xié)議,所以不同設(shè)備之間是通過(guò)MAC地址來(lái)識(shí)別的,因此必須設(shè)置不同的MAC地址,同時(shí)樹莓派WAN地址設(shè)置為同一網(wǎng)段,如192.168.10.1。
(6)其他樹莓派也如上配置,IP地址設(shè)置為網(wǎng)段內(nèi)的其他值,開啟網(wǎng)卡wlan1,連接測(cè)試Mesh網(wǎng)絡(luò),通過(guò)luci界面的OLSR協(xié)議目錄下的動(dòng)態(tài)拓?fù)鋱D和路由表查看網(wǎng)絡(luò)狀態(tài),也可以使用ping命令測(cè)試網(wǎng)絡(luò)通斷、丟包率。最后,組成了Mesh網(wǎng)絡(luò)之后,終端設(shè)備可以連接名稱為MESH的無(wú)線網(wǎng)絡(luò)。
本文對(duì)Mesh組網(wǎng)的原理與過(guò)程進(jìn)行了研究與分析,并利用Openwrt系統(tǒng)和樹莓派最終實(shí)現(xiàn)了Mesh網(wǎng)絡(luò)的搭建與測(cè)試。