1基于EDCA中竞争窗口的改进机制分析周雯雷维礼(电子科技大学通信与信息工程学院成都610054)【摘要】:增强的分布式信道接入机制(EDCA,EnhancedDistributedChannelAccess)是IEEE802.11e工作组在IEEE802.11协议DCF机制的基础上进行的QoS支持扩展,许多学者通过改进退避算法和自适应调整协议参数来提高EDCA的性能。本文主要分析比较其中一些基于竞争窗口(CW,ContensionWindows)的改进机制。关键词:EDCA;竞争窗口;退避机制。1.引言随着无线网络技术的不断发展,基于IEEE802.11标准的无线局域网近年来得到了快速、广泛的应用。但由于各种新业务的相继出现,对网络性能有了更高的要求,不同业务在吞吐率、带宽、延时等方面有着不同的要求。增强分布式信道接入机制(EDCA,EnhancedDistributedChannelAccess)是IEEE802.11e工作组在IEEE802.11中DCF机制的基础上进行的QoS支持扩展,MAC级QoS增强的引入使得无线局域网可以开始较好地为音频业务和视频业务等提供具有优先级的支撑。但是由于网络状况的复杂性,EDCA中的静态参数设置并不能使系统性能实现最优,很多研究表明,在高负载状况下由于网络中有较高的冲突率,EDCA的性能表现并不如人意。因此,对协议参数的自适应调整以保证不同网络负载情况下的协议性能成为当前研究的热点。其中,竞争窗口(CW,contentionwindows)对协议的性能有着重要影响,许多学者都在研究关于CW的自适应调整机制及相关退避算法的改进。例如,LamiaRomdhani提出的自适应EDCF机制(AEDCF,AdaptiveEDCF),YounggooKwon提出的快速碰撞解决机制(FCR,fastcollisionresolutio),以及MohammadMalli提出的自适应公平性EDCF机制(AFEDCF,AdaptiveFairEDCF)等。本文先对IEEE802.11eEDCA中的竞争窗口CW及其相关的退避机制进行简要概述,然后分别描述不同学者在AEDCF、FCR、AFEDCF等机制中所做的改进,并进行简单的分析比较。2.EDCA中基于竞争窗口的退避机制概述为了保证实时业务的QoS要求,EDCA定义了8类业务类别(TC,TrafficCategory)和4类基于IEEE802.1D的接入类别(AC,AccessCategory),8类TC分别映射至4类AC的队列中:AC_VO,AC_VI,AC_BE和AC_BK,分别代表语音(Voice)类,视频(Video)类,尽力而为(BestEffort)类和背景(Background)类。每类AC具有不用的仲裁帧间间隔(AIFS,ArbitrationInterframeSpace)、最小竞争窗口值minCW和最大竞争窗口maxCW。802.11eEDCA的基本访问机制如图2-1所示。从图中可以看出,拥有较小的AIFS或竞争窗口的AC将优先获得无线信道的访问权。每个发送队列在竞争信道过程中,使用各自的[]AIFSAC,min[]CWAC,max[]CWAC和最大2重传次数。当因竞争信道发生冲突时,就进入退避过程。在此过程中,将退避计数器BackoffTimer置为[0,CW]范围内的任一整数值。_()[0,]BackoffTimerBTuniformCWaSlotTime[]CWAC的初始值设为min[]CWAC。当发生碰撞时,[]CWAC的值就增加为([]1)21CWAC,当[]CWAC增加到max[]CWAC时,就维持max[]CWAC的值不变,不再增加。当数据帧成功发送之后,将[]CWAC的值重置为min[]CWAC,继续侦听信道。退避计时器每检测到一个空闲时隙,其值(BT)减1,最先减到零的数据帧占用信道,若节点内多个AC的退避计时器同时减到零,则较高优先级队列的数据帧将占用信道,其他数据帧又进入新一轮的退避过程。图2-1802.11eEDCA的基本访问机制3.各种基于竞争窗口的改进机制分析3.1AEDCF(AdaptiveEDCF)LamiaRomdhani在文献[2]中提出,当有多个节点竞争信道时,每次传输成功后将[]CWAC重置为min[]CWAC会导致信道中冲突率的增加,影响网络性能。故而提出AEDCF机制,此机制提出将冲突率jcurrf作为参数,使节点中的每类业务能以自适应的方式动态更新其CW值。其中,冲突率jcurrf由一定周期内冲突的数量和发包总数的比值表示,以反映出一个分布式网络中的冲突状况,其值定义如下:([])(_[])jjcurrjEcollisionspEdatasentpf式(3-1)其中,jcurrf为第j个更新周期时节点p的碰撞率因子,([])jEcollisionsp是在第j个更新周期中节点p产生的碰撞数,(_[])jEdatasentp是在第j个更新周期中节点p发送的数据帧3总数。jcurrf的取值范围为[0,1]。为减少瞬时冲突的偏差,提出平均冲突率因子javgf,使其在一个更新周期内动态计算,以反映第j个更新周期中的平均冲突率,其计算如式(3-2)所示,其中,α为碰撞平滑因子:1(1)jjavgavgjcurrfff式(3-2)为了使不同业务在更新其CW值时仍旧确保不同业务类别间的优先级关系,每类业务应使用不同的参数进行CW的调整,故而提出一个乘数因子MF(MultiplicatorFactor),i类业务的乘数因子MF定义如下:[]min((1(2)),0.8)jiavgMFACif式(3-3)式(3-3)使得高优先级业务用较小的MF值调整CW参数。1)在AEDCF的退避机制中,每次成功传送i类业务的数据帧后,并不是简单的将[]CWACi重置为min[]CWACi,而是以如下机制进行更新:min[]max([],[][])newiioldiiCWACCWACCWACMFAC式(3-4)式(3-4)保证了[]CWACi一直大于等于min[]CWACi,并且维持其接入信道的优先级。2)当i类业务的数据帧每一次传送失败时,也不再如EDCA中以二进制退避更新其[]CWACi,而是以IEEE802.11e旧版本中的一个持续因子(PF,PersistenceFactor)来调整CW的值,以保证较高优先级业务拥有较小的[]iPFAC,这样可减少新冲突的发生几率,故而可减少延迟:max[]min([],[][])newiioldiiCWACCWACCWACPFAC式(3-5)AEDCF通过计算平均冲突率因子javgf反映网络状况,根据该因子动态调整竞争窗口的大小。从上可以看出,成功传送后用以调整竞争窗口大小的乘数因子[]iMFAC是一个小于等于0.8的参数值,即表明在成功传送i类业务数据帧后,该机制缓慢的减少[]CWACi而不是直接重置为min[]CWACi以避免可能的连续碰撞。而在每次发生碰撞时,AEDCF机制依照不同的优先级以不同的增加速率调整[]CWACi,从而保证不同队列间的优先级关系,使高优先级业务比低优先业务能更快的抢占信道。3.2FCR(快速碰撞解决机制)作者在文献[3]中认为,为了获得较高的吞吐量,在基于竞争的MAC机制中应具有如下特点:(i)在当前竞争周期内,节点成功传输数据帧后应具有较小的随机退避计时器,以4减少每一个竞争周期中的平均空闲时隙数。(ii)在当前竞争周期内,推迟其数据帧传输的节点应具有较大的随机退避计时器,以减小碰撞几率并避免将来可能发生的碰撞。(iii)根据节点状态快速调整其随机退避计时器的值,即节点成功传输数据帧后,应减小其退避计时器,若节点推迟其数据帧的传输,则应增大退避计时器以避免未来的碰撞发生。同时,当节点在退避过程中检测到一段连续的空闲时隙,可以指数减小退避计时器以减少平均空闲时隙。在此基础上,作者提出了FCR机制,比较有效地解决了数据传输中的相互碰撞问题和在每个竞争周期中引起的空闲时隙浪费问题。在此机制中,作者将节点分为三个状态:数据帧成功传输状态,碰撞状态和推迟传输状态。另外,与IEEE802.11eMAC相比,作者使用更小的初始最小竞争窗口minCW和更大的最大竞争窗口maxCW,并且在冲突状态和推迟传输状态都增大节点的竞争窗口,当检测到一段连续的空闲时隙时快速减小退避计时器的值。FCR机制具体描述如下:1)退避过程:所有节点都监测信道,若信道空闲则退避计时器(BT)减1,当退避计时器为0时,节点传输队列中的数据帧。若节点检测到连续min[(1)21]CW个空闲时隙,则快速减少退避计时器的值。如,/2newoldBTBT,若newBTaSlotTime则0newBT。在此情况下,节点在成功传输数据帧后,可以减少不必要的空闲时隙的浪费,以提高信道利用率。2)传输失败:若节点发现由于发生数据帧冲突而导致传输失败,则增大竞争窗口并重新计算随机退避计时器的取值。如maxmin[,(1)21]newCWCWCW,(0,)newnewBTuniformCWaSlotTime3)传输成功:节点在成功传输数据帧后,将竞争窗口的值重置为其最小竞争窗口minCW并重新计算退避计时器的值。即minnewCWCW,(0,)newnewBTuniformCWaSlotTime4)推迟传输状态:当节点检测到信道被占用时,表明发生了冲突或当前信道上正有数据帧在传输。此时,节点将增大竞争窗口并重新计算退避计时器的值。即,maxmin[,(1)21]newCWCWCW,(0,)newnewBTuniformCWaSlotTime通过上述方法进行改进后,FCR机制相比原MAC机制能获得更高的吞吐量和信道利用率。在FCR机制中,节点在成功传输数据帧和发生数据帧冲突的时候,都要更新其竞争窗口的取值,重新计算退避计时器,以避免未来可能发生的冲突。通过这种方式,每个节点就能有效地快速解决碰撞。但是,FCR对于成功传输了数据的节点重新设置的窗口仍然是最小窗口minCW,而实际上节点成功发送数据帧后,并不意味着网络中拥塞状态已经解除。如果此时无线链路依然拥塞的话,那么该节点由于设置了过小的竞争窗口值反而会加剧拥塞程度且可能由于再次发生碰撞而再次增大自己的竞争窗口值,这样的“多余”重复过程就会给节点带来额外等待时间,从而影响整个无线网络的性能。并且由于成功发送数据后的节点拥有较5小的竞争窗口,从而更容易竞争占有信道,这就不能保证节点间的公平性。3.3AFEDCF(AdaptiveFairEDCF)MohammadMalli在文献[4]中提出了一种自适应公平EDCF机制,作者认为,由于在每一竞争周期中的退避,易引起数据帧冲突和对空闲时隙的浪费,从而导致协议性能的下降。故而提出AFEDCF机制,此机制描述如下:1)退避计时器减少状态:在原IEEE802.11e机制中,不同节点上的所有优先级队列都检测信道,若队列i发现在一个时隙内信道是空闲的,则它将自己的退避计时器减少一个时隙的时间,即[][]newioldiBTACBTACST。而在AFEDCF机制中,若检测到一段连续的空闲时隙,且剩余的退避计时器的值小于等于退避阀值(BackoffThreshold)_[]iBofThAC,则快速减少退避计时器。当退避计时器达到0时,节点传送报文。即[][]/2newioldiBTACBTAC若[]newiBTACST,则[]0newiBTAC2)数据帧冲突状态:若一个队列发现由于数据帧冲突而导致传送失败,该队列用如下机制进行修改:(i)使当前竞争窗口值[]iCWAC加倍max[]min([],2[])iiiCWACCWACCWAC式(3-6)(ii)使用式(3-7)更新其[]iBTAC[](1,[]1)iiBTACuniformCWACST式(3-7)(iii)使用式(3-8)减小其_[]iBofThAC值m