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