无线自组织网络可靠组播MAC协议

2012-09-17 06:56余燕平郑元琰倪玲玲
关键词:发送者重传接收者

余燕平 郑元琰 黄 怡 倪玲玲

(浙江工商大学信息与电子工程学院,杭州 310018)

无线自组织网络可靠组播MAC协议

余燕平 郑元琰 黄 怡 倪玲玲

(浙江工商大学信息与电子工程学院,杭州 310018)

为了在无线自组织网络的MAC层中更好地提供可靠组播,在尽量少修改IEEE 802.11协议的原则下提出了一个可靠组播MAC协议RMMP(reliable multicast MAC protocol).首先由源节点组播RRTS(reliable RTS)帧,各接收节点依次回复RCTS(reliable CTS)帧;源节点在收到所有RCTS后,组播N个RDATA(reliable DATA)帧,各接收节点收到第N个要求回复的RDATA帧后依次回复RACK(reliable ACK)帧,然后源节点重传丢失帧.RMMP协议提高了MAC层组播可靠性.最后运用NS-2仿真软件对该协议进行验证,结果表明,RMMP在包投递率、吞吐量性能上都有很大的提高,实现了MAC层可靠组播,其代价是平均端到端时延略大.

无线自组织网络;MAC协议;广播机制;可靠组播协议

目前大部分无线自组织网络即Ad Hoc网络[1]中的 MAC 层协议采用了 IEEE 802.11 DCF[2],但是,采用 IEEE 802.11 DCF 作为 MAC层的组播协议存在着隐蔽节点问题,这就导致有可能在组播时试发多次不成功的现象.另外,现有的基于CSMA/CA的IEEE 802.11协议不允许采用RTS/CTS握手机制[3-4]或者ACK应答机制进行广播/组播,因此对于没有成功接收的组播/广播帧不提供MAC层恢复机制.由于受到干扰、冲突等问题的影响,许多分组会丢失,但是丢失的分组不能被检测到并重传,这将损害组播/广播服务质量.

针对这些问题,目前国内外研究者们已经提出了许多MAC层可靠组播的解决方法,基本上可以分为硬件型和软件型.硬件型主要通过改进硬件上某些模块的特定功能来实现MAC层广播/组播的可靠性,最典型的协议BPBT[5]采用忙音机制来提高MAC层的可靠性.软件型方案主要通过修改IEEE 802.11协议来提供MAC层的可靠广播/组播.常见的软件型协议有 BMW[6],BMMM[7],RAMP[8],DPMM[9-10],RRAR[11]和 MACAM[12].

为了更好地提供MAC层的可靠组播,本文在尽量少修改IEEE 802.11协议的原则下提出了一个新的可靠组播MAC协议,主要采用减少碰撞、集中应答的措施来提高可靠性.

1 RMMP协议

1.1 协议简介

本文提出的可靠组播MAC协议RMMP的交互过程如图1所示.当有一个来自上层的广播包,RMMP首先利用CSMA/CA避免冲突,然后组播RRTS帧.各接收节点根据RRTS帧中分配给其的下一跳节点号(NHID)计算不同回复时间并回复RCTS帧,等发送者收全所有接收者回复的RCTS帧后连续发送N个RDATA帧,其中第N个数据帧中携带要求回复RACK帧的信息,收到要求回复信息的RDATA帧后,接收者回复RACK帧,即每N个数据帧回复一个RACK帧,RACK帧中有一张比特图,能指明帧是否正确收到,这样可以避免频繁回复带来的大量控制开销.同时发送者中暂存已发送的RDATA帧,当得知有接收节点丢失RDATA帧时可以按帧序列号进行重传,保证可靠性.一次交互完成后,等待下一次的RRTS-RCTSRDATA-RACK交互,直至所有包都发送接收完毕.

图1RMMP简单交互过程

1.2 帧结构

在RMMP协议中,采用RRTS-RCTS-RDATARACK帧交互,各个帧都有别于IEEE 802.11协议中相应的帧.RRTS帧中包含了所有下一跳邻节点的地址,所以增大了接收者地址字段.RCTS帧增加了发送者地址的字段.因为协议中每N个RDATA数据帧回复一个RACK,则在数据帧中需要增加一个指明是否要求接收端回复RACK帧的字段,发送节点中有缓冲区,用来存储已发送RDATA帧及各个帧重传的次数.当需要重传时,从缓冲区中搜索需要重传的帧,如果还在缓冲区中且重传次数小于最大重传值就进行重传.缓冲区大小固定,当超出其大小后,自动删除最前面的RDATA帧.

接收节点中存有的比特图包含的信息有发送者的MAC地址、发送者分配给接收者的下一跳节点号NHID、帧序号及相应帧的接收情况,正确接收则相应比特位记为“1”,否则为“0”.接收者应答时将比特图中帧接收情况的比特位加入RACK帧,告知发送者接收情况,发送者按比特图中指明的帧接收情况重发没有被正确接收的帧.

1.3 协议交互步骤

当有一个来自上层的广播包,RMMP先用CSMA/CA避免冲突,然后等待信道空闲.当信道空闲且空闲DIFS时,发送者S启动退避计时器进行倒计时,退避计时器的值在0和竞争窗口数CW(contention window)之间随机选择.如果介质在退避计时器不到0时就被占用,那么停止计时,待下次信道空闲且空闲DIFS再重新从该值开始倒计时;如果倒计时至0信道依旧空闲,则发送者S向下一跳邻节点发送RRTS帧并启动Recv_Timer接收计时器.如果第一个帧就发生冲突,就继续采用CSMA/CA监听信道,空闲DIFS并采用二进制退避机制随机退避一段时间后再发送.

发送者将RRTS帧发送给下一跳节点后,每个接收者收到RRTS帧后观察自身的MAC地址在RRTS帧中接收者MAC字段中的位置是第几位,若是第1位,该接收者的NHID即为1,同时存入比特图中相应位置,若是2,该接收者的NHID即为2.以此类推下去,每个接收者都可以较可靠地由发送者分配得到各自的NHID,同时利用NHID来代替该接收者的MAC地址,即每个接收者都有不同的NHID与之相对应.

接收者根据RRTS中各自的NHID计算回复RCTS起始时间,即

式中,NNHID为接收者的NHID值;TSIFS为短帧间间隔;TRCTS1为接收者发送一个RCTS帧需要的时间.各个接收者分别启动各自的退避计时器,到0时发送RCTS帧给发送者.如果发送者在Recv_Timer到预定时间发送者仍未收全 RCTS帧,判定为RRTS帧丢失或者RCTS帧丢失,则重新发送RRTS帧,重新启动Recv_Timer.但重发次数有限制.

当所有RCTS帧都收全后,发送者发送RDATA帧,并将RDATA帧存入发送者缓冲区.接收者接收RDATA帧,检查帧序号,更新比特图,同时发送者的邻节点及各接收者的邻节点根据侦听到的帧更新网络分配矢量NAV.

RDATA帧中携带有一个回复确认字段,接收者收到每个RDATA帧后都会检查是否需要回复RACK帧,在第N个RDATA帧中携带要求回复的信息.发送者S则在发送时启动Recv_Timer,各个接收者在收到第N个RDATA帧后,根据下一跳节点号NHID,计算回复RACK帧的起始时间TRACK,并各自分别回复RACK帧,RACK帧在比特图中携带帧的接收情况字段.发送RACK帧的TRACK计算式为

式中,TRACK1为接收者发送一个RACK帧需要的时间.

如果发送者收到RACK帧,检查RACK帧中的比特图,计算出各接收者丢失的帧,按帧的序列号进行重传,重传帧依旧采用广播方式.重传帧的回复是在N个帧重传完毕后再一一回复RACK帧,已收到正确帧的节点对于重传过来的帧会自动丢弃.确定没有节点存在丢失帧后进入下一次的交互.若到Recv_Timer预定时间发送者仍未收全RACK帧,认为携带回复请求的RDATA帧丢失或者接收者回复的RACK帧丢失,重发携带回复请求的RDATA帧,重发次数有限制.

前一次的N个帧均确认已收到,要进行下一N个帧的传输,节点中的比特图恢复初始状态,发送者的缓冲区处理相同,比特图和缓冲区的大小保持一一对应关系.当广播的帧是最后一个帧时,发送者的RDATA帧中携带要求接收者进行回复的信息,接收者收到后计算相应的TRACK后依次进行回复.

图2给出了发送者S与其中3个下一跳接收者NH1,NH2,NH3利用RMMP协议进行组播的交互过程及该过程中网络分配矢量NAV的变化.

RAMP中利用下一跳节点号计算回复CTS和ACK的时间,避免了CTS帧或ACK帧的碰撞问题,但是每发送1个DATA帧回复1个ACK帧,发一个数据包的交互时间太长.而在RRAR中采用了多个数据帧回复一个确认帧方式,减少了ACK帧的发送次数,从而减少了碰撞,但是还没解决多个接收者同时回复CTS或ACK而产生的碰撞问题.RMMP结合了两者的长处,既避免了RCTS和RACK的碰撞,又提高了一次握手的传输效率.因此与RMMP,RAMP和RRAR相比,在发送节点、接收节点所要发送的数据包都一样的前提下,RMMP可靠性得到提高,传输时间更短.RAMP的主要思想几乎与MACAM协议的一样,只是MACAM没有采用NHID来缩短RTS帧的控制开销,因此两者的可靠性和吞吐量性能比较接近,仅仅是控制开销上RAMP略小.

鉴于以上原因,将本文提出的RMMP协议与MACAM协议进行比较.

图2 RMMP协议交互流程示意图

2 仿真

协议仿真利用网络仿真平台NS-2.首先建立仿真场景,在一个400 m×400 m的平面区域内随机设置50个静态的通信节点且每个节点都具有收发包功能;同时取N=8,即每发送8个数据包得到一个确认回复.取N=8主要是为了在一定仿真时间内能较明显地观察结果,当然在实际应用中可以适当地改变N值.但N的值也不能很大,因为若N很大,本次会话占用的时间会很长,一段时间内相关节点的无线信道都被占用,另外的会话就不能进行,其他数据等待时间就太长.仿真参数如表1所示.

PUMA(protocol for unified multicasting through announcements)[13]为仿真所需的上层组播路由协议,只发送组播包,具有比较高的数据传输率和可靠性.

本文将对RMMP协议、IEEE 802.11协议和MACAM[12]协议进行仿真对比,将从3个指标进行比较:①包投递率.某一接收节点成功接收到的数据包个数与发送节点发送的总数据包个数的比值.② 平均端到端时延(average end-to-end delay).所有接收节点接收某个数据包与发送节点发送该数据包的时间差总和与发送总数据包个数的比值.③吞吐量(throughput).单位时间内成功传送的数据量.

表1 仿真参数

2.1 可靠性

包投递率PDR(packet delivery ratio)表示可靠性.图3(a)给出了在其他条件相同,不同组播组大小下3种协议的包投递率.由图可见,在组播组大小从5到40的过程中,RMMP协议与MACAM协议的包投递率都很高,尤其是RMMP协议,接近100%.这是因为RMMP协议与MACAM协议在发送数据之前分别采用RRTS-RCTS和RTS-CTS交互清空信道,使接收节点处于准备接收数据的状态,因此提高了数据帧组播的可靠性,同时RMMP协议又使用了重传机制,更加保证MAC组播的可靠性.MACAM协议在组播组大于30的情况下有部分包因队列满而丢失,影响了可靠性.IEEE 802.11协议会因隐蔽节点问题引起碰撞,而且无握手机制,直接发送组播包并无确认应答机制,因此没有成功发送的分组将不再在MAC层重发,这些都导致IEEE 802.11协议下的包投递率较低,从而不能保证可靠性.

图3 不同组播组大小下各协议性能比较

2.2 平均端到端时延

图3(b)表示3种协议在不同组播组下的平均端到端时延.由图可知,3种协议下的平均端到端时延随着组播组的增大而变大,而RMMP协议与MACAM协议的平均端到端时延比IEEE 802.11协议略大.这是因为IEEE 802.11协议直接发送组播包并无回复机制,显然其平均端到端延迟较短,但是以很低的可靠性为代价.而对于RMMP和MACAM这2种协议,发送端还需要等待所有接收端回复帧(RMMP协议中的RCTS帧和RACK帧,MACAM协议中的CTS帧和ACK帧),在仿真设定的场景下,这2种协议的平均端到端时延在1 ms以下.这样的时延值基本不会影响上层应用的实时性要求,而可靠性却有了较大提高,因此整体性能得以提高,能更好地支持上层应用.

2.3 吞吐量

本文中吞吐量指各组播接收节点从发送节点收到的平均吞吐量.由图3(c)可看出,随着组播组的增大,3个协议的吞吐量变化并不很明显,但是,不管组播组为多少,RMMP协议吞吐量性能远远优于 IEEE 802.11协议与 MACAM 协议.因为RMMP协议中,利用不同时间回复确认帧避免了各节点同时回复而产生的碰撞,碰撞越小,成功传输的分组数就越多,吞吐量自然就提高了.而MACAM协议中,因为除了发送者能接收到CTS帧,每一个下一跳接收者都能接收来自其他接收者的CTS帧,所以网络传输效率低,一定时间内成功传输的分组数就少,从而降低了吞吐量.IEEE 802.11协议则由于隐蔽节点导致碰撞,而且无握手机制和确认应答机制,因此没有成功发送的分组不再重发,大大影响了吞吐量.

3 结语

无线自组织网络中MAC层的广播特性对组播性能的好坏具有重要影响.本文分析了无线自组织网络中使用IEEE 802.11协议作为MAC层产生的可靠组播问题,并结合国内外研究现状,提出了可靠的MAC组播协议RMMP.为了提高MAC层组播的可靠性,RMMP协议中使用了 RRTSRCTS交互、回复机制和重传机制,这都保证了可靠性.同时利用下一跳节点号替代MAC地址和发送N个数据帧才回复一次确认机制来减少控制开销,提高包投递率及信道利用率.本文使用NS-2网络模拟器实现RMMP协议.理论分析和仿真结果表明,RMMP协议MAC层组播可靠性远远优于IEEE 802.11协议.与MACAM 相比,其吞吐量性能也较好,并且相对减少了控制开销,提高了数据传输速率,其代价是时延略微增加,但是其绝对值仍在1 ms以下.因此,RMMP是一种提供可靠组播的MAC协议.本文在研究过程中发现,如果MAC层的组播不提供可靠性保证,则向上层提供的可靠性会非常差.本协议为今后进一步完善无线自组织网络中组播性能奠定了相应的基础.

[1]郑少仁,王海涛,赵志峰,等.Ad Hoc网络技术[M].北京:人民邮电出版社,2005.

[2]Gast Mattbew S.802.11无线网络权威指南[M].2版.南京:东南大学出版社,2007.

[3] Ma Xiaomin,Chen Xiaobo.Performance analysis of IEEE 802.11 broadcast scheme in Ad Hoc wireless LANs[J].IEEE Transactions on Vehicular Technology,2008,57(6):3757-3768.

[4] Papathanasiou Christos,Tassiulas Leandros.Multicast transmission over IEEE 802.11n WLAN[C]//IEEE International Conference on Communications(ICC).Beijing,China,2008:4943-4947.

[5] Chiu Chun-Yuan,Wu Eric Hsiao-Kuang,Chen Gen-Huey.A reliable and efficient MAC layer broadcast protocol for mobile Ad Hoc networks[J].IEEE Transactions on Vehicular Technology,2007,56(4):2296-2305.

[6] Ken Tang,Mario Gerla.MAC reliable broadcast in Ad Hoc networks[C]//IEEE Military Communications Conf(MILCOM).Virginia,USA,2001:1008-1013.

[7] Sun Min-Te,Huang Lifei,Arora A,et al.Reliable MAC layer multicast in IEEE 802.11 wireless networks[C]//The2002IntConfonParallelProcessing(ICPP).Vancouver,Canada,2002:527-538.

[8] Campolo Claudia,Molinaro Antonella,Casetti Claudio,et al.An 802.11-based MAC protocol for reliable multicast in multihop networks[C]//IEEE69th Vehicular Technology Conference(VTC). Barcelona, Spain,2009:5073373.

[9] Wang Xiaoli,Wang Lan,Wang Yingjie,et al.A reliable and efficient MAC layer multicast protocol in wireless LANs[C]//IEEE69th Vehicular Technology Conference(VTC).Barcelona,Spain,2009:5073335.

[10] Wang Xiaoli,Wang Lan,Wang Yingjie,et al.Supporting MAC layer multicast in IEEE 802.11n:issues and solutions[C]//Proceedings of IEEE Wireless Communications and Networking Conference(WCNC2009).Budapest,Hungary,2009:4917978.

[11] Xie J,Das A,Nandi S,et al.Improving the reliability of IEEE 802.11 broadcast scheme for multicasting in mobile Ad Hoc networks[J].IEEE Proceedings,2006,153(2):207-212.

[12] Lee Ki-Ho,Cho Dong-Ho.A multiple access collision avoidance protocol for multicast service in mobile Ad Hoc networks[C]//The57th IEEE Semiannual Vehicular Technology Conference(VTC2003-Spring).Jeju,Korea,2003,3:1793-1797.

[13]焦进.基于网络编码的Ad Hoc网PUMA协议研究[D].湖北:武汉理工大学计算机科学与技术系,2009.

Reliable MAC layer multicast protocol in wireless Ad Hoc networks

Yu Yanping Zheng Yuanyan Huang YiNi Lingling
(School of Information and Electronic Engineering,Zhejiang Gongshang University,Hangzhou 310018,China)

In order to provide MAC(medium access control)layer reliable multicast in wireless Ad Hoc networks,a new reliable multicast MAC protocol(RMMP)based on IEEE 802.11 is proposed.In this protocol,a sender multicasts a reliable RTS(RRTS)frame and the receivers reply with reliable CTS(RCTS)frames according to the designated sequence.Then the sender sendsNreliable DATA(RDATA)frames and the receivers reply with reliable ACK(RACK)frames sequentially after receiving theN-th RDATA frame in which an acknowledgement frame RACK is demanded.The sender then retransmits the lost frames which are indicated in the RACK frame.The network simulator NS-2 was used to simulate to demonstrate the performance of the protocol.The results show that this protocol achieves reliable multicast at MAC layer by providing higher packet delivery ratio and throughput while slightly increasing average end-to-end delay.

wireless Ad Hoc networks;medium access control protocol;broadcast mechanism;reliable multicast protocols

TP393

A

1001-0505(2012)02-0214-05

10.3969/j.issn.1001 -0505.2012.02.004

2011-07-05.

余燕平(1965—),女,博士,教授,yuyanping@zjgsu.edu.cn.

浙江省自然科学基金资助项目(Y1090232)、浙江省钱江人才计划资助项目(2010R10007).

余燕平,郑元琰,黄怡,等.无线自组织网络可靠组播MAC协议[J].东南大学学报:自然科学版,2012,42(2):214-218.[doi:10.3969/j.issn.1001 -0505.2012.02.004]

猜你喜欢
发送者重传接收者
信息披露的经济学分析:预防性动机视角
网络表情符号的作用
表情符号的使用角度对亲密度感知的影响
基于SDN的组播安全机制
论《聊斋志异》梦境叙事
功能翻译理论视角下英语翻译技巧探讨
面向异构网络的多路径数据重传研究∗
口碑传播中影响因素作用机制研究及应用
数据链路层的选择重传协议的优化改进
MPTCP中一种减缓缓存阻塞的重传策略