1、80211无线网络中的冲突顺序解析算法IEEE 802.11无线网络中的冲突顺序解析算法张棋飞1),孙宝林1),桂 超1),文u威2),程文青2),杨宗凯2)1)(湖北经济学院计算机学院 武汉430205)2)(华中科技大学电子与信息工程系 武汉430074)摘要对分布式的基于竞争的 MAC协议中的分组冲突进行合理的分类对于有效进行冲突解析起着关键作用 .本文根据冲突节点所处退避阶段的不同将冲突划分为两类 :交叉冲突和同级冲突,并且通过分析和实验证明了网络中的交叉冲突是普遍存在的.传统的退避算法并未考虑这两种冲突的不同特点 ,而是采用同样的方式进行处理 ,对系统性能造成了一定影响.我们认为,对
2、于不同的冲突类型应该予以区别对待 ,因此提出了冲突顺序解析算法 CSR (CollisionSequential Resolution).CSR 根据冲突发生的顺序,将冲突节点依次分布在一系列连续独立的基本窗口上 ,通过竞争窗口的离散化消除了交叉冲突 ;同时,通过选择合适的基本窗口大小在分组延迟和同级冲突概率之间取得折衷 .仿真实验表明,同传统的退避算法相比,CSR能够在冲突次数、吞吐量、延迟以及公平性方面提供全面的性能提升关键词IEEE 802.11;媒体接入控制;交叉冲突;同级冲突;冲突顺序解析中图法分类号 TP393Collision Sequential Resolution Algo
3、rithm in IEEE 802.11 WirelessNetworksZHANG Qi-Fei1), SUN Bao-Lin 1), GUI Chao 1), LIU Wei 2), CHENG Wen-Qing2), YANG Zong-Kai 2)1)(School of Computing, Hubei University of Economics, Wuhan, 430205)2)(Dept. of Electronics and Information Engineering, Huazhong University of Science and Technology, Wuh
4、an,430074)Abstract Collision classification is crucial for collision resolution in distributed contention-basedMAC protocols. Based on backoff stages the collided nodes stay, this paper classifies collisions intotwo categories: cross collision and intra collision and then proves by analysis that cro
5、ss collision ispervasive in networks, which is verified later by simulation results. Traditional backoff algorithms didnot discriminate between these two collisions and treated them alike, which damages the system performance. We think, however, the two collisions should be dealt with different poli
6、cies and thus propose a novel backoff algorithm featuring Collision Sequential Resolution (CSR) to address the problem. CSR redistributes the collided nodes in a series of consecutive separated elementary windows according to their occurrence sequence to eliminate cross collision completely. The int
7、ra collision is resolved withan appropriate elementary window size to achieve a tradeoff between delay and intra collision probability.Wehave performed extensive simulations for collision times, throughput, delay and fairness to demonstrate that our CSR provides comprehensive improvement compared wi
8、th traditional backoff algorithms.Keywords IEEE 802.11; medium access control; cross collision; intra collision; collision sequentialresolution1引言媒体接入控制(Medium Access Control, MAC) 协议 是无线局域网(Wireless Local Area Networks, WLANs) 的基础,主要负责解析节点间的竞争冲突,协调系统资源 分配,对网络的性能起着决定性作用.由于WLAI的分布式 特性,分组冲突不可避免.MAC协议通
9、常采用退避算法 (Backoff)进行冲突解析.退避的目的是协调节点的信道 接入,在冲突发生时能够及时有效地进行恢复 .退避机制决定了节点在发送报文之前需要推迟的时间 ,以便在多节点竞争接入同一信道时保证接入的有效性 ,达到合理利用信道资源的目的.退避算法既要尽量降低各节点间 的冲突概率,又要避免因退避时间过长而降低信道利用 率,同时还要保证各节点公平地访问信道 .在分布式环境中,这些要求对算法的设计提岀了挑战 .现有的退避算法主要是基于竞争窗口 (ContentionWindow, CW)机制.以 IEEE 802.11 协议的 BEB(Binary Exponential Backoff)
10、 1算法为例,每个节点维护一个本 地竞争窗口值CW需要进行退避时,节点在0, CW -1范 围内随机选取一个数,称为退避计数器BCBackoff Counter).每当信道空闲一个时隙,Bd减1.倘若信道由 闲变忙,退避进程暂时挂起,BC值被冻结,直到信道持续 空闲 DIFS(Distributed Coordination FunctionInterframe Space)后才开始继续递减BC值.一旦 BC =0 ,节点开始发送分组.如果发送失败,节点加倍CW 值直至CWmax,重新选择BC值进行新一轮退避;若发送成 功,则重设CV为CWmin :CW 二 minCWminCWmax)发生冲
11、突CWd =CWmin 发送成功其中,i代表节点所处的退避阶段2,取决于节点自最近 一次成功发送以来所遭遇的冲突次数 .BEB算法虽然简单,但却存在一个弊端:由于节点在 发送成功以后立刻将竞争窗口值设为最小 ,使得该节点有可能再次接入信道,从而阻塞其他节点,降低了公平性. 于是,提出了 MILD(Multiplicative Increase and Linear Decrease) 3算法.在MILD中,每当节点发送成功 以后,竞争窗口并不直接重设为最小值 CWnin ,而是递减:-,直至达到CWmin .在每次分组发送失败后都将竞争窗 口值增大倍(:和I,分别设为1和1.5).MILD采用
12、了 竞争窗口拷贝机制,在提高公平性的同时也带来了额外 的开销,甚至会导致竞争窗口值迁移问题 .基于竞争窗口机制的退避算法考虑的都是如何改 变竞争窗口的变化规则 ,以反映信道的当前竞争状况 .SD(Slow CW Decrease) 5算法在成功发送一个报文后将节点的竞争窗口减小为原来的、.倍C. =0.9).而在MIMD(Multiplicative Increase MultiplicativeDecrease) 6中,窗口减小速度更快,每次发送成功后都将 CW减半.EIED(Exponential Increase ExponentialDecrease) 7采用一种通用的算法,当发送成功
13、后用CW D更新 CW若失败则用C WI r代替CVMIMLD(Multiplicative IncreaseMultiplicative/Linear Decrease) 8额外使用了一个参 数CWbasic作为区分网络竞争程度的标准.当CW .CWbasic时,认为竞争较激烈,成功发送报文后将发 送窗 口减半;否CWLMILD(Linear/MultiplicativeDecrease) 9将发送失败节点的 同时,监听到冲突的其他节点将 功后,所有节点的CV値都线性减小.以上算法都是在检测到分组成功发送后就认为信道竞争状况缓解,从而立刻减小竞争窗口值.由于节点一次发送成功的偶然性很大,因此
14、若在此时就减小竞争窗 口大小,有可能 会引起进一步的冲突.GDCF(Gentle DCF)10算法规定:只有当节点连续成功发送若干个报文 后才将竞争窗口值减小一半 .这种保守的窗口变化方式更加温和,也更容易反映信道的真实竞争状况 ,尤其在竞 争节点数较多的情况下,GDCF能够显著降低节点的冲突 概率,获得比DCF更高的吞吐量和更多的公平性.当前的冲突解析机制只是利用退避过程的随机性 来规避冲突,通过竞争窗口范围的不同获取不同的 BCt, 以此实现冲突的解析.尽管竞争窗口的调整策略各不相同,但这些算法仍然无法完全避免分组冲突的发生 .下面以典型的IEEE 802.11协议为例,说明传统退避 算法
15、存在的问题.如图1所示,处于退避阶段i的三个节 点a, b和c在其竞争窗口 0, CW 1】上随机分布,选取的 BC!分别为j,j ,k.由于a和b选取了在同一时隙进行分组 发送,所以在时刻j引发分组冲突.于是,a和b进入退避阶 段(i+1),并且在新的竞争窗口 0, 2CWi -1上重新选择Bd,确定各自的发送时隙分别为I和k(用a和b分别表 示).碰巧此时节点b选取的发送时隙k已被处于退避阶 段 i的c节点提前占用.于是,在k时刻,处于退避阶段i的c 节点和处于退避阶段(i 1)的b节点同时发送分组,造成 新的分组冲突.不难看出,这次冲突是发生在两个处于不 同退避阶段的节点之间的.也就是说
16、,即使节点已经进行 过退避(如b节点),仍然不能保证分组的正常发送.1 I丄3a 12丨LCWi-10bwxCWi-1-j a 2CWi-1H 1 1 nsb时间jkCWi-1退避 阶段i退避阶段(i+1)0图1传统退避算法冲突解析示意图这种由于退避效果不好产生的冲突不仅导致冲突解 析过程失败,更会对其他节点的正常发送造成干扰 .如上例中,由于节点b的介入,使得本来应该成功发送的 c节点也发生冲突.通过进一步的分析我们发现:在以上退避过程中,节 点b所经历的两次冲突性质是不一样的.第一次冲突发生 在两个处于同一退避阶段的节点之间 ,而第二次冲突则是发生在两个处于不同退避阶段的节点之间 .于是,
17、我们可以根据冲突节点所处退避阶段的不同将冲突划分成两 类:交叉冲突(Cross Collision) 和同 级冲突(Intra Collision). 所谓交叉冲突,是指产生冲突的节点处于不同的退避阶段;而在同级冲突中,冲突节点都处于同一退 避阶段.如图1中,a和b之间的冲突是同级冲突,而b和c 之间的冲突则为交叉冲突.我们认为,对冲突性质进行有效的区分对于完成冲 突解析具有重要意义.下面,我们将基于冲突划分标准对 IEEE 802.11无线网络中的冲突解析算法进行研究.我们 将在第二节中分析网络中交叉冲突发生概率的大小 ,从而揭示其重要性;第三节根据冲突划分标准,提岀冲突顺 序解析算法 CS
18、R (Collision Sequential Resolution);仿真结果在第四节中给岀,最后一部分对全文进行总结.重叠区域内,即BC 1 0, CW 1 -j ;2) 在退避阶段i ,仍然有节点的BC值处于交集之中,即 BC 日 j,CW -1.因此,在两个连续的退避阶段i和(i +1)之间发生交 叉冲突的概率Prcr(iJ书(j)满足:Prcr(i,i I)(j) _PrBC j,CWi -1PrBCi i 0,CW -1 -j (1)由于退避计数器值在竞争窗口上均匀分布,所以有:CW _1 _ j +1PrBCi j,CW -1 -CWi -1 1Pr BCi 1 0,CW _1
19、一 j HCCW三斗2CWi _1 +1(3)其中,竞争窗口大小CW满足:CW =2i CWmin(4)联立方程(1)(4),得到:2 i 2Pr (,”(CWj) (2 CWmin j) (5)Pcr(i,i 1) (j) 2 1 2 (5)2CW2 22i CW;in显然,最大交叉冲突概率函数 maxPGg书(j)满足:(2 CWmin - j)2maxPr=r(i,i 1)(J) 盯 177 2 CVVmin(6)这是一个单调递减函数,在其取值范围j三0 , C訓f 内1最大值为:1maxPrcr(i,i 1)(0)=2最小值为:2 交叉冲突概率分析1喰讼血叽八尹歸(8)0.0.30 1
20、 2 3 4 5 6 7 8 9 1011 12 1314 15 冲突时除图2两个连续退避阶段之间的最大交叉冲突概率IEEE 802.11 DCF协议11规定:在每次发送失败后, 节点加倍自己的竞争窗口 ,重新选择BC值进行退避.假 定节点当前处于退避阶段i ,竞争窗口大小为 CWi(0 勺 max,CWmin 乞CW MWmax) 倘 若在第 j ( j Ci W 个时隙发生冲突,节点进入退避阶段 (i 1),同时加倍自己的竞争窗口 ,如图1所示.退避阶段(i 1)的竞争窗口为0,2CW -1】,图中的阴影部分表 示两个退避窗口的交集.为了便于分析,我们首先只考虑两个连续的退避阶 段:i和(
21、i+1).在这两个连续的退避阶段之间发生交叉 冲突的必要条件满足:1) 处于退避阶段(i+1)的节点选取的 BC值位于0.20.150.10 05图2示出了在两个连续退避阶段 i和(i+1)之间冲突时隙与最大交叉冲突概率之间的关系 .从图中容易看岀:冲突发生得越早,引发交叉冲突的概率越大尤其当退避阶段i达到其上限值imax时,有CW =CW 1 =CWmax (9)此时,最大交叉冲突概率函数满足:(IO)由此可见,当满足条件2CWminL j(11)交叉冲突概率甚至可以无穷逼近 1.虽然我们推导了在两个连续退避阶段之间发生交叉 冲突概率的最大值,但是应该强调的是:交叉冲突不仅仅 发生在两个连续
22、的退避阶段之间.只要节点的退避窗口 存在着交集,就有可能引发交叉冲突.所以对当前处于某 一退避阶段i的节点来讲,它的交叉冲突概率应为:i 1Prcr(i)(j) Prcr(k,i)(j)k _Q(12)显然,有Prcr(i)(j ) _Prcr(ii)( j)(13)可见,交叉冲突是网络中的一类重要冲突 .同级冲突,则从概率的角度分析,也就意味着系统中发生 过的冲突都得到了良好解析.基于此,我们提岀一个冲突 顺序解析算法CSR.CSF采用了一种冲突的顺序转化机制 从解析交叉冲突入手,实现从交叉冲突到同级冲突的有 效转化,最终使得系统收敛到一个无冲突的状态 .3.1IEEE 802.11 DCF
23、我们基于IEEE 802.11 DCF协议实现CSR算法.图3 是DCF基本接入模式示意图.根据信道上是否有分组发送 ,DCF将信道分为空闲状态与忙状态,而忙状态可以根据分组发送的结果进一 步区分成传输状态和冲突状态.节点在发送数据之前首 先侦测信道状态.如果信道忙,节点从当前竞争窗口上随 机选取退避计数器值,以时隙为单位进行退避.只要信道 连续空闲DIFS后,每空闲一个时隙,节点递减计数器值. 一旦计数器递减到 0,节点开始发送数据.如果在退避过 程中信道由闲变忙,则退避进程挂起,直到信道再次连续 空闲DIFS后继续递减计数器值.在收到发送方发来的数 据分组后,接收节点经过 SIFS(Sho
24、rt Interframe Space)后回送一个确认分组 ACK(Acknowledgement).如果发送发送节点节点没有及时收到 ACK表明传输失败,于是增大竞争窗 口 ,重新选择退避计数器值进行新一轮退避 .DATASIFS 43 冲突顺序解析算法CSR接收节点ACK一 DIFS其他节点CWDefer AccessBackoff After Defer传统的退避算法并没有区分交叉冲突和同级冲突 ,而是采用同一种方式进行处理.特别地,IEEE 802.11 协 议通过单纯增加竞争窗口的大小来避免冲突 .尽管该策略可以有效解析同级冲突,但却引入了额外的空闲时隙, 增加了分组延迟.而且,由于
25、退避算法的随机性,只要节 点的竞争窗口之间存在着交集,就有可能引发交叉冲突. 尤其当竞争窗口到达最大值 CWmax后,交叉冲突的概率甚至可以无穷逼近1.我们认为:对于这两种不同类型的冲突应该采取不 同的解析策略.同交叉冲突相比,同级冲突的解析策略比 较简单,仅仅通过扩大竞争窗口值就可以有效降低冲突 概率.然而,至今却还没有提岀一个针对交叉冲突的有效 解决方案.实际上,交叉冲突和同级冲突间存在着某种程度的 联系.交叉冲突的存在,不仅造成自身冲突解析过程的失 败,更有可能影响原本应该成功发送的节点 ,带来新的冲突.可以试想,如果网络中没有交叉冲突 ,而是仅仅存在图3 IEEE 802.11 DCF
26、 基本接入模式示意图3.2算法实现我们从交叉冲突的定义中受到启发:节点只有处于 相互独立的竞争窗口中才能够完全消除重叠区域 ,从而从根本上杜绝交叉冲突,使得网络中只有同级冲突存在, 实现了冲突的有效转化.CSR算法就是基于以上思想而 提岀.CSR严格按照冲突发生的时间顺序为冲突节点动 态分配独立的竞争窗口 ,以此消除交叉冲突;同时,通过 选择适当的窗口值大小来减少同级冲突概率 ,保证分组延迟.CSR将节点的竞争窗口划分为一个初始竞争窗口CMW和若干个动态分配 的基本 窗口 EW(Elementary Window).系统初始化时,节点均匀分布在初始竞争窗口 上.一旦发生冲突,根据冲突发生的顺序
27、,将冲突节点依 次分布在连续独立的基本窗口上,通过分布窗口的离散化消除交叉冲突;同时设置合适的基本窗口大小,在同级 冲突概率和时延之间取得权衡.为了消除交叉冲突,我们定义竞争级别(Contention Level, CL)为竞争区域上发生的信道接入次数,利用CL 来指导基本窗口的动态分配.事实上,CL可以看成是信 道竞争状态的一种表征.CSR算法实现如下:1)所有节点监测信道.在信道连续空闲 DIFS后, 如果再空闲一个时隙,节点将其退避计数器值 减1. 一旦计数器到达 0,节点马上发送分组. 倘若信道由闲变忙,退避进程挂起直到信道再 次空闲DIFS后继续递减退避计数器值.2)一旦监测到忙状态
28、(不管是传输状态还是冲突 状态),表明信道上有分组发送,于是所有节点 都将CL值加1:CL =CL 1侦测到忙状态3)节点完成数据分组发送后,如果在规定时间内 没有收到接收方发来的确认信息,则认为发生 了分组冲突,于是检查其重传次数:如果重传次数超过了最大门限值Max _ Retrans _Times,节点将分组丢弃,并且重设竞争窗口为 0, CW0_1,同时保留CL值以便继续指导后续的窗口分 配;如果没有超过重传门限 ,节点重新设置其新的竞争窗口为:CW0 (CL -1) EW,CW0 CL EW 1 这样,冲突节点将会在当前竞争窗口末端的一个基本窗口上随机分布 ,从而实 现了退避空间的独立
29、性,避免了交叉冲 突.4)在一次成功的分组传输后(数据分组传输加上 ACK传输),节点将CL值加1,并据此设置其新 的竞争窗口为:CW0 (CL -1) EW,CW0 CL EW -1,从 而使得该节点完全独占第 CL个基本窗口,保障了其后续传输都是在无干扰的情况下进行 .同时,由于这一系列基本窗口是连续排列的 ,节点需要经过一个周期的等待后才能够再次接入 信道,从而为其他节点提供了接入机会,保障了 算法的公平性.图4描述了 CSR算法.图中的虚线箭头表示节点的 重新分布.假设节点1和2同时发送数据,产生一次冲突. 此时,网络中的CL =1 ,这两个节点在紧接初始竞争窗口 后的基本窗口 1上重
30、新分布.如果节点3发送成功,它设 置CL =2,并将自己的分布范围设为紧接初始竞争窗口后的第2个基本窗口 .由于节点3独占了该窗口,保障了它的后续传输都能够在无干扰的情况下进行 .通过这种方式,实现了退避窗口的不相交特性,完全消除了交叉冲 突.同时,算法使得发送成功的节点需要经过一轮的等待 后才能够再次接入信道,以此获得更多的公平性.初始竞争窗口 基本窗口 1 基本窗口 2 基本窗口 3 基本窗口 4 M h M P P M H 当前竞争窗口图4冲突顺序解析算法示意图3.3冲突概率比较如果两个或多个节点选择在同一时隙发送分组 ,则产生冲 突.假定共有n个节点均匀分布在竞争 窗口0,m-1上,可
31、以得到分组冲突概率 Pr;冲突为:Prm冲突= m!- mnm n!(14)我们定义节点的分布密度 r为:=- (15)m于是得到分组发送成功的概率 Prm成功满足:10Prm成功 m! m 凹(m - :?m)!(16)考虑一个典型的IEEE 802.11退避场景,如图1所 示.假定在退避阶段i共有n (n : m)个节点均匀分布在 窗口 cm,- 上 .在第j 个时隙,共有k (k 2, min(n,2m _2n)个节点同时发送分组 ,产生冲突.于是这k个节点全部进入退避阶段(1)并且在新的竞争窗口 0,2 m 1上重新分布.此时,对于处于退避阶 段(i 1)的节点来讲,其分布密度不再是均匀的.新的竞 争窗口也因此被分成两个区域:重叠区域(Intersectio
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1