一种无线Mesh网络扩展改进方法研究
2011-05-11张春琴
张春琴
(浙江工业职业技术学院,杭州 312000)
一种无线Mesh网络扩展改进方法研究
张春琴
(浙江工业职业技术学院,杭州 312000)
0 引言
ECMA-368媒体接入控制层(Madia Access Control,MAC)协议以超帧(Superframe)作为节点接入和资源竞争的周期单位,信道时间的预留以媒体接入时隙(Madia Access Slot,MAS)为单位,一个MAS为256 ,ECMA-368 MAC协议按照节点对来分配信道时间,当将此协议应用于Mesh网络时,会出现两个问题:1)预留时间一般大于实际传输使用的时间,剩余时间会被释放,但可能最终没有节点使用;2)中继节点信道接入延时较大,网络整体性能不高。为了解决ECMA-368 MAC协议应用于Mesh网络时存在的问题,本文提出高级路由时间分配协议(Advanced Route Time Allocation Protocol, ARTAP),在按路由预留的基础上通过修改DRP IE(Distributed Reservation Protocol Information Element)的帧格式从而更为精确的表示所需要预约的MAS个数,最大程度上利用信道时间,进行有保证的数据传输。
1 基本方案
1.1 ECMA-368 MAC层方案
在ECMA-368 MAC协议中,节点有三种信道接入方式,分别为信标期(Beacon Period,BP),分布式预留协议(Distributed Reservation Protocol,DRP)和带有优先级的竞争接入(Prioritized Contention Access, PCA)。DRP有两种预约协商方式,显式(Explicit)预约和隐式(Implicit)预约。对于显式预约,预约所有者发送DRP预约请求命令帧(Reservation Request Command Frame)给目标节点,命令帧的负载由N个DRP IE组成。DRP IE用于协商特定MAS的预约以及通知被预约的MAS,它的格式如图1所示。一旦接收到DRP预约请求命令帧,预约目标回复DRP预约应答命令帧(DRP Reservation Response Command Frame)给预约所有者。对于隐式预约,预约协商通过在信标帧中传输DRP IE来完成。当预约协商成功之后,节点就可以在预约好的MAS中传输数据了。
然而当将此协议应用于无线Mesh网络时,直接使用该协议会使网络性能受到一定影响。假设Mesh网络中常见的一种情况,如图2所示,节点A要发送数据给节点B,但是B位于A的传输范围之外,所以A要借助于中间节点C,D和E来转发数据,假设A一次只发送一个数据帧,一次完整的传输(从发送数据帧到收到应答帧)需要90us的时间,按照协议规定,信道时间根据节点对来分配,就会导致(A, C),(C, D),(D, E),(E,B)每次传输各占用一个MAS。但是真正用来传输的时间仅为90us。
图1 DRP IE格式
图2 Mesh网络多跳传输场景
1.2 ARTAP方案
在GRATS方案的启发下,本小节提出一种改进的MAS预约分配方法,高级路由时间分配协议(Advanced Route Time Allocation Protocol,ARTAP)。
首先介绍所需增加的帧格式——MAS Control域,该域和DRP IE中的DRP Allocation域一起实现预留更精确的信道时间。第一个字节First MAS Offset表示预约的连续MAS的第一个MAS的小数位偏移量,第二个字节Last MAS Offset表示预约的最后一个MAS的小数位偏移量。这两个字节的格式相同,每个字节包括三部份。最高位为符号位,表示是从MAS开始时刻加上还是从结束时刻减去这个偏移量,1表示减去,0表示加上。第6位到第4位为保留位。低4位表示具体的偏移值。其中1010-1111这5个值作为保留值。0000表示偏移值为0,即完整占用被预约的MAS;0001表示偏移值为0.1;0010表示偏移值为0.2;依此类推,1001表示偏移值为0.9。这样就可以更为精确地表示节点所需预约的MAS个数,可精确到小数点后一位。
1.3 数学分析
假定源节点始终有数据发送,并且总是能协商预约成功,预留的MAS中的多余时间直接空闲处理,不再用于PCA接入。同时假定信道的误码率为0,每个数据帧的负载长度为L,Lpream表示前导符长度,Lh表示PLCP Header字节长度,LACK表示确认帧(Acknowledgment, ACK)帧长,Lt表示FCS、Tail和Pad比特的长度,Rd表示数据帧的发送速率,Rb表示帧头的发送速率,TMAS为一个MAS的时间长度,使用Imm-ACK应答机制。源节点一次发送M个数据帧,不考虑传播时延,则可以求出两个节点间一次传输所需要的时间为:
如果一次路由需要K次点对点传输,则可求得一次路由传输时间为:
如果使用ARTAP预约信道时间,则需要预约的MAS个数可以近似表示为:
于是,可以求出使用ARTAP的吞吐率为:
如果使用GRATS算法中按照路由去预约信道时间的做法,则需要预约的MAS个数可以表示为:
这样,可以求出使用GRATS算法的吞吐率为:
而当使用标准的ECMA-368 MAC协议时,需要预约的MAS个数为:
这样,可以求出使用标准ECMA-368 MAC协议的吞吐率为:
显然,由数学的基本知识可知,以下不等式成立:
因此,从理论上分析,使用ARTAP算法的网络吞吐率好于使用GRATS算法中按照路由分配信道时间以及使用标准ECMA-368 MAC协议的网络吞吐率。
2 仿真与性能分析
假定所有发送节点事先知道到达目的节点的完整路由,同时始终有数据需要发送且总能预约成功。假设在同一次仿真中,节点的转发次数以及每次发送的数据帧个数相同。仿真参数参照ECMA-368 MAC协议,一些共用的重要参数取值见表1。假设信道为无错信道,采用Imm-ACK应答机制。每次通信的传输次数最少为1,最大为9。节点每跳发送一个、三个和五个数据帧时的网络吞吐率情况的仿真结果如图3所示。
表1 仿真参数和取值
图3 M=1、M=3、M=5时三种方法的网络吞吐率情况
由图3(a)可见,使用GRATS算法中按照路由分配信道时间的方法时,因为节点会根据路由去预约整数个MAS,这样导致随着每次发送所需转发次数的不同,在单位时间内发送的数据量也出现较大不同,反应在图上就是吞吐率的较大波动。不过虽然吞吐率一直在变化,但在每一种情况下,使用该方法的网络吞吐率都大于等于使用标准ECMA-368 MAC协议时的网络吞吐率。而如果使用ARTAP,吞吐率的变化比较平滑,并且在每一点上都要大于等于前两种方法的吞吐率。这是因为使用ARTAP,对于MAS的预约更为精确,更好的避免了信道时间的浪费。由图3(b)和(c)可见,在这两种情况下,使用ARTAP时的网络吞吐率都要大于等于使用前两种方法时的网络吞吐率。特别在M=3时,使用前两种方法的网络吞吐率几乎相等,而使用ARTAP算法,还是能在一定程度上提高吞吐率,优化网络性能。当然,由图中还能观察到,随着每次发送数据帧个数的增多,使用ARTAP提高的网络吞吐率会变少。这是由于如果节点的一次传输有大量数据需要发送,则需要预约多个MAS,此时浪费的信道时间相比于使用的信道时间,所占比例会变小,自然使用ARTAP后相对提高的吞吐率也会变小。
3 结论
将ECMA-368 MAC协议应用于无线Mesh网络时,DRP使用节点对间协商的预留方式,使得网络对多跳业务提供的服务性能不高,本文提出ARTAP算法,经仿真结果表明,该算法能有效地提高网络吞吐率,减小路由中继节点接入时延,增强网络性能。
[1]ECMA International. High Rate Ultra Wideband PHY and MAC Standard, Standard ECMA-368 [S]. Dec 2005.
[2]Xi Chen, Jianhua Lu, Zucheng Zhou. An Enhanced Highrate WPAN MAC for Mesh Networks with Dynamic Bandwidth Management [C]. IEEE Globecom 2005, 28 Nov-2 Dec, 2005. 3408-3412.
[3]文举, 金建勋, 袁海. 一种无线传感器网络四边测距定位算法[J]. 传感器与微系统, 2008(4).
An improved method in wireless mesh networks
ZHANG Chun-qin
将ECMA-368协议应用于无线Mesh网络时,为了使其更好的适应多跳路由协议,提高网络吞吐率,减小路由中继节点接入时延,提出针对ECMA-368协议 MAC层的改进方法ARTAP算法,并给出其具体实施步骤及分析过程。仿真结果表明,该方法能够提高网络吞吐率,减小中继节点接入时延,提高网络对多跳业务的服务性能。
ECMA-368标准;MAC;Mesh网络;网络吞吐率;接入时延
张春琴(1977-),女,浙江绍兴人,讲师,硕士,研究方向为计算机仿真技术。
TN915
B
1009-0134(2011)1(上)-0153-03
10.3969/j.issn.1009-0134.2011.1(上).46
2010-09-13