802.11为IEEE(美国电气和电子工程师协会,The Institute of Electrical and ElectrONics Engineers)于1997年公告的无线区域网路标准,适用于有线站台与无线用户或无线用户之间的沟通连结。IEEE 802.11 MAC的基本存取方式称为 CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance),与以太网络所用的CSMA/CD (Collision Detection)变成了碰撞防止(Collision Avoidance),这一字之差是很大的。因为在无线传输中感测载波及碰撞侦测都是不可靠的,感测载波有困难。另外通常无线电波经天线送出去时,自己是无法监视到的,因此碰撞侦测实质上也做不到。在802.11中感测载波是由两种方式来达成,第一是实际去听是否有电波在传,及加上优先权的观念。另一个是虚拟的感测载波,告知大家待会有多久的时间我们要传东西,以防止碰撞。
DCF协议基于载波监听多路访问/冲突避免(CSMA/CA)机制实现有竞争的信道共享,在帧传输后,如果在规定的时间内没有收到MAC层的确认帧ACK,则认为该帧丢失或发生了冲突,该帧会按照二进制指数退避算法进行退避、重传,以避免再次发生冲突。本文使用OPNET软件对802.11DCF的基本退避机制进行建模仿真,针对业务量增多时出现的服务质量下降问题,对DCF的竞争窗口值和退避指数进行改进,从而加快分解冲突的速度,提高系统的吞吐量和延迟性能。
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;若站点检测到信道忙或空闲时间
这种退避算法的好处在于:从网络角度来看,在某一空闲时隙有多个节点同时发送的概率减小了,从而在一定程度上降低了冲突概率,上次竞争不到媒体的站将以越来越短的退避时间进入下次竞争,避免出现永远竞争不到媒体的情况。然而,随着工作站点数目的增多,发生冲突的概率仍将会增大,由于每次重传失败后,站点的竞争窗口都会增大一倍,其目的是为了减少再次发生冲突的概率,但同时也极大地降低了该站点竞争到信道的概率,而对于成功传输的站点总有较大的概率再次竞争到信道,这种现象对于连续遭遇冲突的站点来讲是不公平的,系统的吞吐量和延迟性能都将会受到影响[5].
2 改进的方法
在802.11MAC协议中,影响网络吞吐量和延迟性能的主要因素是分组冲突和每个竞争周期内由于退避浪费的空闲时隙。当工作站点增多时,由于很多站点的初始竞争窗口很小,因此有很多的发送尝试很可能会发生冲突,这就缓解了分解冲突的速度[6].基于以上考虑,改进的方法通过以下两个手段来加快分解冲突的速度,提高竞争信道的公平性。
(1)增加最小竞争窗口值,对于基本访问机制,吞吐量随着退避窗口大小的增加而增加(CWmin≤64)[4].当CWmin>64时,吞吐量随着退避窗口大小的增加而急剧减少。因此,将最小竞争窗口值设为64.
(2)当重传后的竞争窗口值超过最大竞争窗口值时,则将站点的竞争窗口恢复为最小竞争窗口。
在改进的算法中,站点将拥有较大的初始竞争窗口,以解决站点数目增多时冲突概率增大的问题。此外,当一个站点遭遇连续多次冲突后,将其竞争窗口迅速减小,以增加其成功竞争信道的概率,提高系统的公平性。
3 两种方法的性能仿真及对比
使用OPNET软件对基本的退避算法和改进的退避算法进行仿真,仿真步骤如下:
(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工作方式下的网络吞吐量和延迟性能均得到了改善。
全部0条评论
快来发表一下你的评论吧 !