《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 基于IEEE802.11 DCF的优化竞争窗口算法
基于IEEE802.11 DCF的优化竞争窗口算法
来源:电子技术应用2011年第7期
张 锋, 向 新, 杨宝强, 裴冬冬
(空军工程大学 工程学院,陕西 西安710038)
摘要: 针对现有IEEE802.11 分布式协调功能DCF(Distribute Coordination Function)方式下吞吐量较小、时延较大的缺点,提出了一种优化竞争窗口的算法。该算法通过增加最小竞争窗口和最大竞争窗口,改进其退避算法,并综合考虑到了公平性的问题。经OPNET仿真验证表明,该算法提高了系统的吞吐量,减小了接入时延。
中图分类号: TP393.01
文献标识码: A
文章编号: 0258-7998(2011)07-111-04
A calculation optimizing for contention window based on IEEE802.11 DCF
Zhang Feng, Xiang Xin, Yang Baoqiang, Pei Dongdong
College of Engineering, Air Force Engineering University,Xi’an 710038, China
Abstract: In view of the present IEEE802.11 DCF (Distribute Coordination Function) with the weakness of system through be smaller and connected delay be bigger, a calculation optimizing the contention window is proposed. This calculation increased the minimal contention window and enlarged the maximal contention window, also improved the original backoff mechanism, considered the problem of equity comprehensively. The new method is imitated by OPNET. Simulation results show that system through can be improved, and connected delay declines.
Key words : IEEE802.11 DCF; contention window; binary exponential backoff


    近几年,IEEE 802.11无线网络得到迅速的发展[1],对无线网络的性能和服务质量提出了更高的要求。同有线网络相比,无线网络在性能和服务质量方面还有很大差距,这除了其物理传输介质的固有特点之外,实现介质共享的MAC层协议是一个非常重要的因素。无线局域网(WLAN)IEEE802.11协议中,MAC层上最基本也是目前使用最广泛的接入方式是被称为分布式协调功能DCF(Distribute Coordination Function)的随机竞争接入方式。
    DCF方式下,WLAN的吞吐量和接入时延随着网络中的活动节点(Active Nodes)数和初始竞争窗口大小(CWmin)而变化[2],系统的初始竞争窗口大小由物理层特性决定,例如使用直接序列扩频时,CWmin为31;使用跳频扩频时,CWmin为15[3]。也就是说,在DCF协议中,初始竞争窗口是固定的,并不能随着网络中竞争节点数的多少而变化。根据网络中活动节点数的变化来动态调整初始竞争窗口的值,是改进DCF性能的一种行之有效的方法[4-6]。但目前获得网络中的活动节点数目都是基于某种估计算法获得的。这些估计算法不能精确地反映网络中真实的活动节点数,所计算出的优化初始竞争窗口大小也不会很精确,如果初始窗口设置不正确,对网络性能的影响将会很大。参考文献[7]提出了增加初始窗口为63,并在退避到最大窗口时,将最大窗口置为初始窗口来参与竞争,这在一定程度提高了系统的公平性,但此算法也增加了冲突发生的概率。本文提出的优化竞争窗口的算法用OPNET软件[8]进行了仿真,与原有算法及参考文献[7]中的算法相比,在吞吐量及时延上都有良好的改善。
1 DCF的二进制退避机制和竞争窗口的分析
    DCF协议基于载波监听多路访问/冲突避免(CSMA/CA)机制实现有竞争的信道共享。当一个节点需要发送帧时,要调用载波侦听机制来确定信道的忙/闲状态,如果信道忙,它将推迟,直到信道连续处于空闲状态达到分布协调功能的帧间间隔DIFS(Distributed Coordination Function Interframe Space)时间,为了避免发送冲突,这时该节点在发送前必须经过一个附加的退避周期,产生一个随机的退避时间(Backoff  Time),并存入退避计数器。如果退避计数器中已经包含有一个非0的值,则不再执行产生随机退避时间的过程。
    产生退避时间的方法如下:Backoff Time=Random( )* aSlotTime其中,Random( )是均匀分布在[0,CW]范围内的随机整数,CW是介于由物理层特征决定的最小竞争窗口CWmin和最大竞争窗口CWmax之间的一个整数值,即CWmin≤CW≤CWmax。aSlotTime 是由物理层特性决定的一个时隙的实际长度值,对于DSSS(直接序列扩频),一个时隙的长度是 20 μs。每个节点在发送数据前,监听信道的状态,如果信道闲,则将退避时间计数器减1;如果信道忙,则退避过程将被推迟,退避时间计数器被冻结。当终端检测到信道的空闲时间≥DIFS时,退避过程重新被激活,继续递减。当退避计数器递减到0时,节点就可以执行发送。图1显示了退避过程。

    节点A发送时,节点B、C、D都有帧要发送,等待信道连续空闲DIFS时间后,进入退避阶段,每个节点在CW内随机产生一个退避时间。因为节点C所产生的退避时间最短,它的退避计时器最先减至0,开始发送帧,节点B和D的退避计时器被冻结。在节点C传送过程中,节点E也有帧要发送,进入等待过程。信道空闲DIFS后,节点B和D的退避计时器解冻,节点E产生随机退避时间。因为节点D的退避计时器最先减至0,所以节点D获得发送机会。
    由图1可以看出,每一个节点都要维护一个CW参数,CW的初始值为CWmin。在帧的第一次传输时,CW等于最小竞争窗口CWmin。当一个节点发送失败时,说明当前的网络负载较大或者链路状况不好,该节点的CW就会增加一倍。以后,该节点每次发送失败而重传时,CW都会增加一倍,即CW=2m(CWmin+1)-1,其中m为重传次数。当CW的值增加到CWmax时,即2m(CWmin+1)=(CWmax+1),再重传时CW的值将保持CWmax不变,直到该节点发送成功,或者达到了最大重传次数限制,CW将被重新置为CWmin, CW的变化方式如图2所示。

 

 

    竞争窗口越大,随机退避机制解决冲突的能力就越强,因为使用较大的竞争窗口时,选择相同的随机退避时间的可能性很小。这样一方面,在轻载的情况下,小的竞争窗口保证了较短的延迟;另一方面,在重载的情况下,随机等待时间随着冲突产生次数的增加呈指数递增,降低了冲突的概率。竞争窗口达到CWmax后不再增长,保证了网络在重载情况下的稳定。当帧成功发送或者重传次数超过限制而被丢掉时,竞争窗口被置为CWmin。这种机制称为二进制指数退避(Binary Exponential Backoff)。
2 改进的方法
    通过以上分析,可以看出竞争窗口的大小决定了退避的时间,进而影响了吞吐量和接入时延。本文的优化算法通过合理设置窗口的大小,针对发生冲突时退避时间迅速增加的弊端,并综合考虑到公平性的问题,从以下四个方面对现有算法进行优化。
    (1)增加最小的竞争窗口。参考文献[9]中指出对不同的网络节点数,存在一个最优的竞争窗口使网络的时延最小,网络中有10个竞争节点时,将初始竞争窗口设为63,介质访问的时延最小;而50个竞争节点时,初始窗口设为127,介质访问的时延最小。但参考文献[9]中没有综合考虑到窗口对吞吐量的影响,本文通过仿真发现,在站点数多或少的情况下,将初始窗口设为127时,应用本算法,在吞吐量和时延上都有良好的改善。
    (2)增加最大的竞争窗口。通过前面的分析可知,如果竞争窗口较小,则发生冲突的概率将增加,优化算法增加了最大窗口,将其设为1 054。
    (3)优化退避算法。原有的二进制退避算法,退避的时隙增加过快,呈指数增长,但递减较慢,即当检测到信道空闲时间≥DIFS时,退避计数器做减1操作,这样将导致再次接入的时延增加,优化算法采用较温和的方法:当发生冲突时,max_backoff = max_backoff * 1.5+1,这样做的目的是当发生冲突时,使退避时间量的增加较为缓慢。
    (4)当重传后竞争窗口超过最大竞争窗口时,将站点的竞争窗口恢复为最大窗口的一半,即512。这样当一个站点遭遇连续多次冲突后,增加其竞争信道的概率,提高系统的公平性。参考文献[7]中超过最大竞争窗口后,直接将站点的竞争窗口恢复为最小窗口,这样虽然在一定程度上提高了公平性,但同时也加剧了冲突。
    上述改进的算法中,(1)、(2)保证了竞争窗口有一个较大的范围,降低了可能发生的冲突,(3)保证了退避时间增加较为缓慢,减小了再次接入的时延,(4)解决了一个站点遭遇连续多次冲突后再次接入信道的能力,提高了公平性。
3 性能仿真及对比
    本文使用OPNET软件虚拟建立一个基本的Adhoc网络模型[10],每个无线节点的通信范围设为100 m,采用的网络拓扑结构为所有无线节点都分布在边长为100 m×100 m的四方区域内,即任意一个节点都处在其余所有节点的通信范围之内,也就是说,网络中任意两个节点之间能直接进行通信。这样网络中不存在隐藏节点。本文仿真了20个站点和80个站点时系统的吞吐量和时延。图3是包括20个无线节点的一个网络拓扑,其中,node_0~node_19是无线节点。
    在仿真实验中,采用DSSS的参数(默认),见表1。

    OPNET提供了ON—OFF的建模机制,在ON期间生成数据包,每个包的大小和包间隔可以按照某种分布函数来确定,在OFF期间不发送数据包。按照表2设置网络的业务参数。

    仿真结果如图4~图7所示。

    从图4~图7的仿真曲线图可以看出,改进后的算法在20个站点及80个站点时在时延和吞吐量方面都有良好的改善,验证了其性能。
    本文详细地分析了DCF方式的工作机制和竞争窗口对接入时延及吞吐量的影响,针对现有算法的不足提出了一种优化竞争窗口的算法,仿真了20个站点及80个站点工作时的吞吐量及接入时延,相比现有算法和参考文献[7]中的算法,改进的算法提高了吞吐量,降低了接入时延。
参考文献
[1] 金纯,陈林星,杨吉云.IEEE802.11无线局域网[M].北京:电子工业出版社,2004.
[2] BIANCHI G. Performance analysis of IEEE802.11 Distributed coordination function[J].IEEE journal on selected  Areas in Communtion,2000,18(3):535-547.
[3] 刘乃安.无线局域网(WLAN)—原理、技术与应用[M].西安:西安电子科技大学出版社,2004.
[4] 王辉,李津生,洪佩林.一种IEEE802.11中慢启动递减竞争窗口控制算法[J].电路与系统学报,2005,10(2):93-97.
[5] 徐志江,李式巨,官军.IEEE802.11网络中增强的退避算法[J].电子与信息学报,2004,26(10).
[6] CALI F, CONTI M, GREGORI E. Dynamic tuning of the IEEE802.11 protocol to achieve a theoretical throughput limit[J]. IEEE Transactions on Networking.2000,8(6):785-799.
[7] 裴冬冬,王兴华,向新.IEEE802.11DCF退避机制公平性分析与改善[J].电子技术应用,2010,36(10):92-94.
[8] 王文博,张金文.OPNET Modeler与网络仿真[M].北京:人民邮电出版社,2003.
[9] 周海兴.竞争窗口大小对IEEE802.11无线网络的影响[J].广东通信技术,2008(10).
[10] 陈敏,韦岗.IEEE802.11无线局域网OPNET建模与性能测试[J].计算机工程,2004,30(21):14-16,139.

此内容为AET网站原创,未经授权禁止转载。