文献标识码: A
文章编号: 0258-7998(2010)10-0092-03
网络通信技术是当前发展最快的通信技术方向之一[1],其中,无线局域网即WLAN是与人们生活最为密切的网络类型,为了解决WLAN的信道冲突问题,IEEE802.11定义了两种MAC协议,即DCF协议和PCF协议。DCF允许各站点依托分布式协调方式公平地竞争信道资源,采用有竞争的信道共享方式(CSMA/CA)。而PCF为依托中心节点协调无线信道分配的一种方式,由接入点AP负责信道的分配,所以没有冲突的发生。大多数情况下,WLAN的默认配置采用DCF而不是PCF方式,因为DCF基本能满足数据传输业务的需求,而PCF由于采用了轮询的方式,增加了开销,因此带宽利用率较DCF低[2]。
DCF协议基于载波监听多路访问/冲突避免(CSMA/CA)机制实现有竞争的信道共享,在帧传输后,如果在规定的时间内没有收到MAC层的确认帧ACK,则认为该帧丢失或发生了冲突,该帧会按照二进制指数退避算法进行退避、重传,以避免再次发生冲突。本文使用OPNET软件对802.11DCF的基本退避机制进行建模仿真,针对业务量增多时出现的服务质量下降问题,对DCF的竞争窗口值和退避指数进行改进,从而加快分解冲突的速度,提高系统的吞吐量和延迟性能[3]。
1 DCF的二进制指数退避规则分析
802.11的CSMA/CA协议采用离散时间(Discrete-time)退避算法,退避的最小时间间隔为一个时隙时间(Slot Time)Δt。Δt=传播时延(propagation delay)+收发机收/发转换时间+PHY层向MAC层指示信道状态的的时间。通常Δt为十至几十微秒。
CSMA/CA采用的二进制指数退避算法是指:当终端检测到信道空闲时间≥DIFS或发生了碰撞时,会首先按照均匀分布规则,从[0,CW-1]中选取一个值作为退避计数器的初始值,此后每当站点检测到信道空闲时间≥DIFS,则退避计数器减1;若站点检测到信道忙或空闲时间<DIFS,则冻结退避计数器,并记录下当前值,直到重新出现DIFS空闲期再恢复退避计数器;当退避计数器减至零时,立即发送数据。CW就是退避窗口,取决于碰撞的次数,在帧的第一次传输时,CW等于最小碰撞窗口CWmin,每次不成功传输都会使得CW增加一倍,即第n次冲突时,CW(n)=CW(n-1)×2,直到增至最大碰撞窗口CWmax。当站点进行一次成功传输后,立即将CW重设为最小竞争窗口。在图1中,终端B检测到信道空闲时间≥DIFS,退避计数器选择退避7个时隙并在每个时隙的开始时刻减1,在第5个时隙开始时刻,退避计数器减1。但是由于传播时延的问题,终端A在终端B的第5个时隙的中间时段开始传输,导致终端B检测到信道忙,冻结退避计数器,直到终端A成功完成此次传输后,信道再次空闲一个DIFS,终端B恢复退避计数器,并从第4个时隙开始递减[4]。
这种退避算法的好处在于:从网络角度来看,在某一空闲时隙有多个节点同时发送的概率减小了,从而在一定程度上降低了冲突概率,上次竞争不到媒体的站将以越来越短的退避时间进入下次竞争,避免出现永远竞争不到媒体的情况。然而,随着工作站点数目的增多,发生冲突的概率仍将会增大,由于每次重传失败后,站点的竞争窗口都会增大一倍,其目的是为了减少再次发生冲突的概率,但同时也极大地降低了该站点竞争到信道的概率,而对于成功传输的站点总有较大的概率再次竞争到信道,这种现象对于连续遭遇冲突的站点来讲是不公平的,系统的吞吐量和延迟性能都将会受到影响[5]。
2 改进的方法
在802.11MAC协议中,影响网络吞吐量和延迟性能的主要因素是分组冲突和每个竞争周期内由于退避浪费的空闲时隙。当工作站点增多时,由于很多站点的初始竞争窗口很小,因此有很多的发送尝试很可能会发生冲突,这就缓解了分解冲突的速度[6]。基于以上考虑,改进的方法通过以下两个手段来加快分解冲突的速度,提高竞争信道的公平性。
(1)增加最小竞争窗口值,对于基本访问机制,吞吐量随着退避窗口大小的增加而增加(CWmin≤64)[4]。当CWmin>64时,吞吐量随着退避窗口大小的增加而急剧减少。因此,将最小竞争窗口值设为64。
(2)当重传后的竞争窗口值超过最大竞争窗口值时,则将站点的竞争窗口恢复为最小竞争窗口。
在改进的算法中,站点将拥有较大的初始竞争窗口,以解决站点数目增多时冲突概率增大的问题。此外,当一个站点遭遇连续多次冲突后,将其竞争窗口迅速减小,以增加其成功竞争信道的概率,提高系统的公平性。
3 两种方法的性能仿真及对比
使用OPNET软件对基本的退避算法和改进的退避算法进行仿真,仿真步骤如下[7]:
(1)建立一个基本的Adhoc网络模型,如图2所示,随机分布80个无线工作站,所有工作站点工作于DCF方式,范围设为office,大小设为100 m×100 m。
(2)配置业务参数。OPNET提供了ON-OFF的建模机制,在ON期间生成数据包,每个包的大小和包间隔可以按照某种分布函数来确定,在OFF期间不发送数据包。按照表1设置网络的业务参数。
(3)配置802.11MAC的输入接口参数,如表2所示。
RTS门限决定某个数据帧的传输是否要启动RTS/CTS协议会话,如果从高层接收到的分组(也称为MAC服务数据单元MSDU)大于RTS门限,为了增加传输效率(对于大分组额外开销资源预留带宽而增加这次发送成功的概率是值得的),则启动RTS/CTS协议会话。由于RTS/CTS协议会话是协议非强制的功能,因此该项默认值为None,意味着不管MSDU多大也不启用该功能。
拆分门限决定高层数据包(MSDU)是否需要拆分,该项默认值同样为None,意味不管MSDU多大也不进行拆分。
(4)收集统计量,需要收集的统计量有吞吐量(throughput)和时延(delay)。
(5)设置仿真参数,仿真运行时间为3 min,随机数为128。
(6)复制一个与上述网络模型完全一样的场景。在新的场景里,按照改进的退避方法进行相应设置,其他设置保持一样。分别对两个场景运行仿真,仿真结果如图3、图4所示,其中横坐标均为时间,单位为min。
由以上仿真曲线图可以看出,使用改进方法后,网络的吞吐量有了一定提高,延迟性能也得到了改善。
通过分析DCF方式下工作站点增多时出现信道竞争不公平性现象的原因,对竞争窗口的初始值进行了调整,给各站点以较大的最小竞争窗口值,提高了冲突分解速度。同时改进了站点遭遇连续冲突时的处理方法,提高了此类站点竞争到信道的概率。最终的实验结果表明,改进后的DCF工作方式下的网络吞吐量和延迟性能均得到了改善。
参考文献
[1] NIU B, CUI S, HAIMOVICH A M. Hybrid networks: advancing the theory and design of wireless networks[A].16th International Conference on Wireless and Optical Communications[C]. Newark, NJ, 2007.
[2] NIU B, SIMEONE O, SOMEKH O, et al. Throughput of two-hop wireless networks with relay cooperation. 45th Annual Allerton Conference on Communication, Control, and Computing, Monticello, IL, September 2007.
[3] 范谦.IEEE802.11MAC机制性能分析及其改进[D].杭州: 浙江大学硕士论文,2004.
[4] 刘乃安.无线局域网(WLAN)——原理、技术与应用[M].西安:西安电子科技大学出版社,2004.
[5] 夏劲伟,吕俊怀,曹秀英.基于无线信道的冲突分解算法仿真研究[J].计算机仿真,2008,25(10):128-133.
[6] 陈羽中.IEEE802.11DCF退避机制分析和改进[J].应用科学学报,2006(1):10-14.
[7] 陈敏,韦岗.IEEE802.11无线局域网OPNET建模与性能测试[J].计算机工程,2004,30(21):14-16,139.