基于双收发信机的无线Mesh网络

2013-10-15 07:38张志超鄢楚平苑海涛张钧媛张立茹
计算机与现代化 2013年11期
关键词:链状吞吐量信道

张志超,鄢楚平,苑海涛,张钧媛,计 龙,张立茹

(华北计算技术研究所,北京 100083)

0 引言

无线 Mesh网络(Wireless Mesh Network,WMN)是一种多跳、具有自组织和自愈特点的宽带无线网络,是一种高容量、高速率的分布式网络。目前主要认为,WMN是一种由无线链路连接路由器和终端设备的固定/弱移动无线网络,是Internet的无线版本。WMN可以看成是WLAN(单跳)和移动Ad Hoc网络(多跳)的融合,且发挥了两者的优势,是一种新型的可以解决“最后一英里”瓶颈问题的分布式网络。

对于多收发信机多信道MAC协议,不少学者进行了研究。Wu等人提出了一种动态分配信道的协议(Dynamic Channel Assignment,DCA)[12],它使用一个信道传输信令,其他信道传输数据,每个节点使用2个收发信机,因为一个收发信机一直在监听信道,可以避免多信道隐藏终端问题。该协议不需同步,信令开销小。但是,控制信令独占一个信道浪费极大;Sana Ghannay等人提出了一种聚合路由和信道分配的机制(Joint Routing and Channel Assignment Protocol,JRCAP)[13],将全网按照聚类算法分簇(Cluster),对于每一簇选定一个固定信道,而每对通信链路的选择在路由算法中协商好,之后跳变到协商好的信道传输数据,若协商失败,则用固定信道传输。其特色是使大网变小网,但是处于网簇之间的节点负载较大,容易造成瓶颈,使全网的吞吐量上不去;Chia-Yu ku等人观测到网卡的增多并不能带来吞吐量的线性增加,提出了采用少量收发信机替代每个信道一个收发信机的机制来降低成本[14]。

除了如Ad Hoc网络中存在的暴露终端和隐藏终端问题之外,无线Mesh网络的MAC还存在新的问题,表现在3个方面:

(1)在无线环境中,每一跳如果都需要竞争,就会产生大量不确定的延时,多跳后累积的延时可能会非常大;

(2)对于采用单收发信机多信道的MAC,不停的信道切换会导致开销变大;

(3)当节点移动导致网络拓扑结构发生变化时,下一跳的路由选择机制是个很大的问题,在多跳环境中,这个问题更加突出[15]。

本文采用基于多收发信机的设计方法来解决作为骨干Mesh网络的带宽逐跳衰减问题,进而提高全网的吞吐量,降低网络时延。

1 802.11s无线Mesh协议架构

1.1 无线Mesh网络体系结构

802.11 s中定义的无线Mesh网络架构如图1所示。基本服务集BSS无需直接连到有线网络,可以通过多跳连接最终接入到有线网,即网络中只要有节点可以接入Internet网络即可。在802.11s中定义了3类新节点:Mesh节点(MP)是支持无线Mesh服务的802.11实体,其作用是作为中继节点;Mesh接入点(MAP)是作为接入点的 MP;Mesh门桥节点(MPP)是MAC协议数据单元(MSDU)接入或离开无线Mesh网络的桥接。

图1 无线Mesh网络架构

(1)骨干网络。

无线Mesh网络从逻辑上可以理解为一个二层网络,其中由无线MP组成的网络架构是网络的核心,因此也被称为骨干网络。骨干网络是无线Mesh网络的一种网络架构,这与WLAN类似,不过是将有线的骨干节点替换为无线MP。

(2)客户端网络。

与骨干网络相对的便是有客户端组成的客户端网络,它是无线Mesh网络的二层网络。在WMN中,由于客户端也具备信息收发功能,所以它们之间也可以进行有效的通信,所以客户端也可以组成一个网络。在这种网络中没有明确的网络架构,其本质就是一个纯Ad Hoc网络。

(3)混合无线Mesh网。

混合无线Mesh网就是有骨干网络与客户端网络混合而成的WMN网络,这是我们最常见的一种无线Mesh网络架构。MP节点组成了整个网络的骨干架构,一般是静态而且变化较小。移动节点通过MAP接入网络,具备可移动性,节点间也可以进行有效的通信。

1.2 802.11s多跳性能仿真分析

为了对802.11s无线 Mesh协议[1]的多跳性能进行摸底,对仿真工具NS3[2]自带的Mesh协议进行了多跳测试,图2为随着跳数的增加,全网的吞吐量整体呈指数下降的趋势,即逐跳减半,严重限制了传统Mesh网络的可扩展性和实用性。

图2 多跳后的吞吐量

1.3 干扰模式图

假设每个无线Mesh节点采用同种网卡、全向天线,发射功率、天线增益、调制速率都相同,则每个节点射频覆盖范围都相同,可以近似为一个圆。单收发信机的链状拓扑结构下的干扰模式如图3所示,处于网络中间的节点(如B、C、D)射频覆盖范围有大量的重叠,造成多个节点竞争使用信道,在节点数量密集的无线网络环境中,会使端到端的吞吐量逐跳地快速衰减。

图3 单收发信机链状拓扑结构下的干扰模式示意图

2 基于双收发信机的Mesh组网算法

2.1 双收发信机链状拓扑结构下的无干扰信道分配模式

802.11网络2.4GHz、ISM 频段内理论上可以找到3个正交的无线信道(频率上不相重叠的信道,如信道 1、6、11,简称为 1、2、3 逻辑信道),考虑每个节点配备2个收发信机,可以选择使用3个正交信道中的2个,在链状拓扑结构情况下,可以构造出如图4所示的无干扰信道分配模式。节点A分配1、2信道,节点B分配2、3信道,则节点A、B通信,可以使用2信道,并且2信道在局部网络中没有其他节点的干扰,近似于一个理想的单跳通信模式,则A、B链路带宽达到最大;同理B、C使用3信道通信也可以使链路带宽达到最大。将这些无干扰的链路串联起来,使得端到端带宽保持单跳的带宽而不减少。

图4 双收发信机链状拓扑结构下的无干扰信道分配

2.2 入网信道分配

对于一个新加入网络的节点需要选择合适的信道接入网络,若只考虑某一信道上使用的邻居数,则可以根据信道扫描结果对信道排序,选择使用数最少的信道和次少的信道分配给每个收发信机。另外接收信号强度指示(RSSI)指标也是一个重要影响因素,较强的RSSI值则说明2个节点之间通信距离较近。综合考虑,对信道的忙闲程度CBI(Channel Busy Index)值进行排序,如式(1)所示,然后从3个信道中选取2个较闲的信道分配给本节点的2个收发信机。

2.3 数据包转发

无线 Mesh网络中现有的 Airtime link metric[1]反映的是在某条特定链路上传输数据帧所消耗的信道资源,这种方式是近似的测量方法,其主要目的是为了降低具体实现和交互的难度。

式(2)中,O和Bt是常量,代表信道接入开销和测试帧的长度(8192bit),r是数据调制速率,ef是传输帧的误码率。Ca即为Airtime link metric的开销,这种度量只考虑了传输速率与信道质量,并不适用于多收发信机多信道的Mesh网络。

在双收发信机的Mesh网络中,由于引入了网桥,通过网桥转发数据包走不同的信道通信能够降低竞争信道的冲突,故得修改原有的Airtime link metric,加上网桥的因素。

式(3)中Ca1、Ca2分别为接收数据包的收发信机和节点的第二个收发信机的路由Airtime link cost。在试验中,α取值0.8,这样保证同等条件下的下一跳开销,选取经过网桥的路由,转发接口由式(4)求出。转发算法描述如Algorithm 1所示。

2.4 信道切换算法

在网络使用过程中,节点的位置可能改变,入网分配的信道是按照以前周围环境通信节点的状况来分配的信道。那么,在节点移动后,周围的无线环境发生了变化,这时候也应考虑进行信道切换使得节点间冲突最小,以降低信道的竞争。

信道切换算法不仅需要按照式(1)考虑信道的繁忙程度,还要考虑邻居节点每个收发信机的邻居数。为了简化信息收集工作,在每个节点的Beacon信标帧中都携带本地节点的每个收发信机所在的信道号、邻居数以及CBI值,节点收到其它节点的Bea-con信标帧后会将其缓存到本地的邻居信息列表里,根据每个信道的邻居数和信号强度如式(1)所示对信道忙闲程度进行排序,将信道分配在比较空闲的2个信道里,由于只使用了3个信道,故最多有一个收发信机的信道需要切换,算法如Algorithm 2所示。

为了避免分布式切换算法出现碰撞,将各个节点执行切换算法的时间取一个随机值(10s~15s),这样可以有效避免碰撞。

3 Linux下双收发信机Mesh组网算法的实现

为了验证算法的有效性,在Linux系统下对网络内核进行了修改验证。实验所用的Linux版本是3.0.55,主要修改包括2部分,一部分是MAC层代码修改,一部分是Bridge层代码修改,在Linux内核中分别为MAC80211和Bridge两个个内核模块。Mesh节点的网络架构如图5所示。

图5 Mesh节点网络架构

代码详细修改包括:

(1)Beacon信标帧添加无线收发信机所在信道的邻居数和CBI值,修改 Beacon信标帧的间隔为100ms;

(2)在MAC80211模块中添加对Beacon信标帧的发送与处理,并将此信息传递给Bridge;

(3)在Bridge里添加信息统计、CBI更新以及本地信道邻居信息的维护,维护与MAC层本地信道邻居信息的一致性,并处理由MAC收到的邻居信息并触发信道切换机制;

(4)信道切换按照算法2实现,首先检验是否需要切换,若需切换则执行信道切换;

(5)数据包转发按照算法1实现,将经过桥的路由设置优先于经过同一信道转发的路由降低节点之间的干扰、竞争信道。

4 实验结果与分析

代码修改完毕后,在Linux环境下进行了对比测试。实验环境部署了4个节点,分别称作A、B、C、D,每个Mesh节点的实验准备情况如表1所示。

表1 实验准备

先进行单频多跳组网测试,扫描2.4GHz频段,周围环境中1信道使用量最大并且周围WiFi-AP设备太多、6信道次之、11信道再次之,故使用11信道做测试。通过指定A、B、C、D四个Mesh节点的Mesh路由来形成3跳的链状拓扑,实验结果如表2所示。

表2 单频链状组网TCP吞吐量测试(3次)

由表2的数据可以看出,每加一跳吞吐量必然衰减,最多达一半。

再进行双频多跳组网测试,为了降低信道间的干扰,采用信道号为11、149、165的3个信道作为逻辑信道(1、2、3)。A 节点分配1、2逻辑信道,B节点分配2、3逻辑信道,C节点分配1、3逻辑信道,D节点分配1、2逻辑信道,构成链状拓扑。为了防止链路成环、首位相接,关闭掉A节点1信道所在的收发信机,关闭掉D节点2信道所在的收发信机,实验结果如表3所示。

表3 双收发信机多信道链状组网TCP吞吐量测试(3次)

单收发信机多跳TCP吞吐量与多收发信机多跳TCP吞吐量对比如图6所示,单跳的对比有差距是因为使用的网卡为普通WiFi网卡,周围有很多居民使用WiFi设备,造成的干扰所致。由图6可知,经过修改后的双收发信机Mesh组网算法,多跳后带宽基本保持不变,而单收发信机Mesh组网,网络带宽逐跳衰减,网络可扩展性差。

图6 单双收发信机TCP吞吐量对比

5 结束语

针对单收发信机Mesh组网吞吐量逐跳衰减、网络可扩展性差的特点,本文提出了采用双收发信机三信道Mesh组网的方案,并在Linux环境下实现了算法。实验结果表明,修改后的双收发信机Mesh组网算法,其网络吞吐量经过多跳后基本保持不变,使得网络的可扩展性大大增强,并且可有效抑制单收发信机组网算法的多跳吞吐量急剧下降的缺点。双收发信机Mesh组网模式可以延伸到骨干组网,适用于无线传输多路视频等业务,但对于大规模的外场测试、抗干扰等问题还需进一步研究。

[1]IEEE 802.11,Wireless LAN Medium Access Control(MAC)and Physical Layer(PHY)Specifications(2012 revision)[S].

[2]Nsnam.The NS-3 Network Simulator[EB/OL].http://www.nsnam.org/,2013-05-16.

[3]Hu Ming-Xin,Kuo Geng-Sheng.Delay and throughput analysis of IEEE 802.11s networks[C]//IEEE International Conference on Communications Workshops.2008:73-78.

[4]Kernel.Linux Wireless Org[EB/OL].http://linuxwireless.org/,2013-05-16.

[5]Open80211.Open80211s Consortium[EB/OL].http://open80211s.com/,2013-05-16.

[6]Andreev K,Boyko P.IEEE 802.11s Mesh Networking NS-3 Model[EB/OL].http://www.nsnam.org/workshops/wns3-2010/dot11s.pdf,2011-06-15.

[7]Deng J,Haas Z.Dual busy tone multiple access(DBTMA):A new medium access control for packet radio networks[C]//Proc.of IEEE ICUPC.1998:975-985.

[8]Tang Z,Garcia-Luna-Aceves J J.Hop-reservation multiple access(HRMA)for Ad-hoc networks[C]//Proc.of IEEE INFOCOM.1999:194-201.

[9]Tzamaloukas A,Garcia-Luna-Aceves J J.A receiver-initiated collision-avoidance protocol for multi-channel networks[C]//The 20th Annual Joint Conference of the IEEE Computer and Communications Societies(INFOCOM 2001).2001:189-198.

[10]So J,Vaidya N H.Multi-channel MAC for Ad Hoc networks:Handling multi-channel hidden terminal using a single transceiver[C]//Proceedings of the 5th ACM international symposium on Mobile Ad hoc Networking and Computing.2004:222-233.

[11]Bahl P,Chandra R,Dunagan J.SSCH:Slotted seeded channel hopping for capacity improvement in IEEE 802.11 Ad-hoc wireless networks[C]//Proceedings of the 10th Annual International Conference on Mobile Computing and Networking.2004:216-230.

[12]Wu S L,Lin C Y,Tseng Y C,et al.A New multi-channel MAC protocol with on-demand channel assignment for multi-hop mobile Ad Hoc networks[C]//Proceedings.International Symposium on Parallel Architectures,Algorithms and Networks.2000:232-237.

[13]Sana Ghannay,Sonia Mettali Gammar.Joint routing and channel assignment protocol for multi-radio multi-channel IEEE 802.11s mesh networks[C]//Wireless and Mobile Networking Conference(WMNC),20114th Joint IFIP.2011:1-8.

[14]Ku Chia-Yu,Lin Ying-Dar,Tsao Shiao-Li,et al.Utilizing multiple channels with fewer radios in wireless mesh networks[J].IEEE Transactions on Vehicular Technology,2011,60(1):263-275.

[15]崔勇,张鹏.无线移动互联网原理、技术与应用[M].北京:机械工业出版社,2011:181-224.

猜你喜欢
链状吞吐量信道
大肠杆菌对链状弯壳藻生长特性的影响
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
基于导频的OFDM信道估计技术
一种改进的基于DFT-MMSE的信道估计方法
链状卡塔型苯图的反强迫数
基于MED信道选择和虚拟嵌入块的YASS改进算法
一维链状均苯三酸Co(Ⅱ)配合物的水热合成及晶体结构研究
2014年1月长三角地区主要港口吞吐量