(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网络的搭建与测试。