无线局域网(WLAN" title="WLAN">WLAN)技术的发展和大规模应用在给人们生活带来便利的同时,也带来了很多其它问题,如WLAN并不是真正意义上的“无线”;可靠性低;覆盖能力有限;多数WLAN网络在其有效距离内具有“盲区”等等。而无线Mesh" title="Mesh">Mesh网络技术的出现,则很好地解决了上述问题。它彻底摆脱了线缆的束缚,能够实现非视距传输,可靠性高,结构灵活,鲁棒性强,因而越来越受到人们的重视,对无线Mesh网络的研究也逐渐增多。目前对无线Mesh网络的研究,比较典型的有2种方法:a)采用仿真方法开展研究工作,例如,基于NS-2和OPNET的仿真软件,建立无线Mesh网络(Wireless Mesh Network,WMN)协议模型和业务传输模型,进行协议的设计和性能分析。但对于真实的网络环境,仿真还有一定局限性,毕竟它只是对现实环境的模拟。b)搭建测试床的方法,它基于无线Mesh网络结构抽象出更小的网络结构模型、业务模型及关键技术,与真实环境基本相同,研究结果可直接运用到实际当中,这也是目前许多国内外研究机构正在进行的研究工作。测试床研究方法中,比较典型的有卡灵顿大学的WMN。除此之外,还有普渡大学项目和西安电子科技大学的Mesh网络性能测试平台。在它们所搭建的测试床中,每一个被称作MAP的Mesh路由器是一台装有两块无线网卡和一块有线网卡的台式机,有线网卡主要用来实现管理功能。这种设计对MAP节点的性能要求过高,也不利于Mesh网络的扩展。鉴于此问题,本文在上述研究的基础上,对无线Mesh网络测试床进行了改进。
1 现有的Mesh测试床分析
在Mesh网络中,MAP节点既是客户端网络的终点,又是Mesh骨干网的起点,将客户端网络和Mesh骨干网两个逻辑上独立的网络实体,连接成一个功能上统一的整体。目前,大多数研究机构在MAP节点结构的设计上,普遍遵循如下思想:用单独一个节点实现两个网络的连接,即用一台装有两块无线网卡的PC来实现骨干网络和客户端网络的连接,该节点同时处于两个网络当中。其中一块无线网卡实现AP功能,另一块实现MP功能,两块网卡之间通过相应的地址转换技术实现网卡间地址的转换。
在实际搭建过程中,这种方案具有明显的局限性,主要表现在以下3个方面:
a)网卡选择:前期的探索性实验证实了在一台PC中安装两块相同的无线网卡,由于驱动程序完全相同,冲突是在所难免的,它将导致两块无线网卡无法同时正常工作。另外,即使两块无线网卡不相同,若它们工作在同一频段(2.4 GHz或者5GHz),由于距离较近,也会产生很大的同频干扰,从而影响了数据的正常传输。因此,该方案在很大程度上限制了无线网卡的自由选择。
b)节点故障处理:在Mesh网络的日常使用和维护过程中,节点随时会出现故障。若采用该方案,一旦MAP节点出现问题,由于节点自身的复杂性,很难进行故障排除,如果需要对设备进行更换,成本相对较高。
c)网络的扩展性:当现有的WLAN网络需要加入Mesh网络时,在该方案下,必须破坏现有的WLAN网络结构,所有客户端节点重新搜索MAP节点。若有多个WLAN网络存在,处理方法也如此。这样不但浪费了现有的硬件资源(WLAN的接入点AP),而且由于所有欲加入网络的节点都需要断开并重新获得网络参数,增加了网络重建的复杂性。如图1所示,WLAN网络A和B欲加入Mesh网络,接入点AP下的所有客户端节点首先断开与原AP的连接,接着在搜索到就近的MAP后重新建立连接,从而加入到Mesh网络,最终得到如图2所示的Mesh网络结构。
采用上述方案搭建Mesh网络测试床的性价比是很低的,为了降低测试床实现的难度,方便后期测试床的维护和扩展,本文提出一种新的MAP实现方案。
2 一种新的Mesh测试床
2.1 测试床规划
根据测试床设计的可重复、可扩展性、灵活性和可靠性原则,结合WMN自身特点,设计了如图3所示的Mesh网络测试床。
2.2 功能子网的设计
平台由三大功能子网组成,各自的网络规划如下:
a)Mesh骨干网:骨干网通过交换机连接到外网,提供internet接入服务。由于骨干网本质上是一个Ad-hoc网络,因此每个骨干网节点的无线网卡模式均为“Ad-hoc”。
b)客户端网络:传统的WLAN网络,移动客户端节点就是普通的移动终端,它们连接在AP节点上,与AP节点处于同一个子网中,通过AP的动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)功能获取IP地址后方可通信,通过Mesh骨干网访问外网。依据WLAN的中心主从网络特性,AP作为接入点,无线网卡的模式为“Master”,移动客户端节点的无线网卡模式均为“Managed”。
c)Mesh骨干网与客户端网络的连接网络:Mesh骨干网与客户端网络作为独立的两个网络,只有通过一定的方式将二者连接起来才符合无线Mesh网络的核心思想。
在此引入第三大功能子网(图3矩形框内所示),即两台PC分别安装一块无线网卡,并启用PC自带的有线以太网卡。其中一台PC的无线网卡实现AP功能,称为“AP”,另一台PC的无线网卡实现MP功能,称为“MP”,然后用一根网线连接两台PC的有线网卡接口,使二者结合成完整的MAP节点。这种方案弥补了单一节点模拟MAP的不足,表现在:
a)网卡选择:两块无线网卡安装在不同的节点上,节点间距离可以调整,因此在网卡的选择上有较大的自由度。不用考虑同频干扰,即使网卡完全相同也可正常使用。
b)节点故障处理:由于MAP的AP功能与MP功能被分解到独立的两个节点上,较容易进行故障点的判断,故障处理简单,即使需要对设备进行更换,成本也相对较低。
c)网络的扩展性:当现有的WLAN网络需要加入Mesh网络时,只需用一根线缆连接就近的MP节点和WLAN网络的接人点。若出现多个WLAN网络加人的情况,只需在MP节点和多个接入点间放置一台交换机连接即可。图4为图1在该方案下进行网络扩展后的拓扑结构。
2.3 节点设计
测试床由5个节点组成,其中MPP(MP3),MP1和AP3个节点分别由装有两块网卡的PC(PC自带一块有线网卡,另安装一块802.11 b/g的无线PCI网卡)充当,MP2由一台装有802.11 b/g无线PCI网卡的PC充当,客户端终端(station)由一台笔记本电脑充当。测试床各个节点的网络标识及所属网络见表1,各节点网卡的IP配置见表2。
2.4 实现环境
2.4.1 硬件环境
a)系统配置:P4-2.4 CPU;512 M内存;80 G硬盘;
b)无线网卡:TP-LINK的TL-WN650 G;芯片Atheros 5212,支持802.1l b/g。
2.4.2 软件环境
a)操作系统:fedora 6(内核:2.6.18-1.2798.fc6);Windows XP Professional(仅用于客户端节点);
b)无线网卡驱动:madwifi-dfs-current.tar.gz;
c)相关软件: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,这些软件是确保无线网卡驱动madwifi顺利安装的前提;dhcp-3.0.4-21.fc6.i386.rpm,该软件使模拟AP中动态地址分配的功能得以实现。
2.5 实现技术
在测试床的搭建过程中需要解决以下关键技术:操作系统的选择、网卡驱动的选择和安装;可加载内核模块;Linux无线工具;动态主机分配协议、网络地址转换等等。这些技术的使用并不是相对独立的,而是有一定的先后顺序,它们相互配合,协调作用,有机地结合在一起共同支撑该测试床系统。
测试床的关键技术主要分为4个层次,如图5所示:最底层是操作系统的选择和安装。这一步是测试床搭建的基础,所有后续的工作都必须在此之上才能进行。操作系统安装完成后是网卡驱动的选择和安装,本平台不仅要求驱动程序具有强大的功能,而且要求它是开源的,方便研究人员根据需要修改驱动代码。网卡驱动程序安装后并不能正常使用网卡,还需要可加载内核模块(Loadable Kernel Modules,LKM)技术。
在LKM之上涉及3个工具的应用,其作用各不相同:Linux无线工具用于对无线网卡进行具体的参数配置,如传输信道、传输速率、无线模式等;平台还需要利用DHCP工具在AP节点上模拟出动态主机分配功能;最后,还将利用NAT(Network Address Translation)原理,使用iptables工具来实现不同网络之间的地址转换。
3 测试床的功能验证
完成测试床的搭建后,需要对平台的功能进行验证。本文主要从测试床平台的客户端网络、Mesh骨干网络、客户端网络与骨干网络间的通信、Mesh网络与Internet的融合4个方面加以验证。
客户端网络的实现首先在于AP节点接入功能的模拟。打开终端节点的“无线网络连接”窗口,看到终端连接到AP上,网络标识为“M-AP”,并通过AP的DHCP功能自动获取到网络配置信息,比如IP地址、子网掩码、默认网关等。
为了进一步证明客户端网络已经搭建成功,需对客户端节点与AP的连通性加以测试,结果如图6所示,节点间通信正常。据此得出:客户端网络搭建成功。
骨干网络是整个测试床实现的关键,Mesh骨干网本质是一个Ad-hoc网络,只要安装了无线网卡的计算机之间即可实现单跳或者多跳无线互联。为验证网络的连通性,取其中任意两个节点进行测试(以MP1和MP2为例),如图7所示,节点间通信正常,骨干网络搭建成功。
采用同样的方法对客户端网络与骨干网络间以及Mesh网络与Internet间的通信状况进行测试,所得结果表明平台实现了子网间的通信及与异构网络的融合。
4 结论
本文介绍了基于WLAN的无线Mesh网络测试床。针对无线Mesh网络节点MAP,在前人研究的基础上进行改进,提出了新的实现方案并成功地完成了测试床的搭建工作。该测试床的建立,为包括接入认证、密钥管理、安全路由在内的Mesh网络各关键技术,在真实环境下提供一个开发试验平台。