80211无线网络中的冲突顺序解析算法.docx
《80211无线网络中的冲突顺序解析算法.docx》由会员分享,可在线阅读,更多相关《80211无线网络中的冲突顺序解析算法.docx(34页珍藏版)》请在冰豆网上搜索。
80211无线网络中的冲突顺序解析算法
IEEE802.11无线网络中的冲突顺序解析算法
张棋飞1),孙宝林1),桂超1),文u威2),程文青2),杨宗凯2)
1)(湖北经济学院计算机学院武汉430205)
2)(华中科技大学电子与信息工程系武汉430074)
摘要对分布式的基于竞争的MAC协议中的分组冲突进行合理的分类对于有效进行冲突解析起着关键作用.本文根据
冲突节点所处退避阶段的不同将冲突划分为两类:
交叉冲突和同级冲突,并且通过分析和实验证明了网络中的交叉冲
突是普遍存在的.传统的退避算法并未考虑这两种冲突的不同特点,而是采用同样的方式进行处理,对系统性能造成
了一定影响.我们认为,对于不同的冲突类型应该予以区别对待,因此提出了冲突顺序解析算法CSR(Collision
SequentialResolution).CSR根据冲突发生的顺序,将冲突节点依次分布在一系列连续独立的基本窗口上,通过竞争
窗口的离散化消除了交叉冲突;同时,通过选择合适的基本窗口大小在分组延迟和同级冲突概率之间取得折衷.仿真
实验表明,同传统的退避算法相比,CSR能够在冲突次数、吞吐量、延迟以及公平性方面提供全面的性能提升
关键词IEEE802.11;媒体接入控制;交叉冲突;同级冲突;冲突顺序解析
中图法分类号TP393
CollisionSequentialResolutionAlgorithminIEEE802.11Wireless
Networks
ZHANGQi-Fei1),SUNBao-Lin1),GUIChao1),LIUWei2),CHENGWen-Qing2),YANGZong-Kai2)
1)
(SchoolofComputing,HubeiUniversityofEconomics,Wuhan,430205)
2)
(Dept.ofElectronicsandInformationEngineering,HuazhongUniversityofScienceandTechnology,Wuhan,
430074)
AbstractCollisionclassificationiscrucialforcollisionresolutionindistributedcontention-based
MACprotocols.Basedonbackoffstagesthecollidednodesstay,thispaperclassifiescollisionsinto
twocategories:
crosscollisionandintracollisionandthenprovesbyanalysisthatcrosscollisionis
pervasiveinnetworks,whichisverifiedlaterbysimulationresults.Traditionalbackoffalgorithmsdid
notdiscriminatebetweenthesetwocollisionsandtreatedthemalike,whichdamagesthesystemperformance.Wethink,however,thetwocollisionsshouldbedealtwithdifferentpoliciesandthusproposeanovelbackoffalgorithmfeaturingCollisionSequentialResolution(CSR)toaddresstheproblem.CSRredistributesthecollidednodesinaseriesofconsecutiveseparatedelementarywindowsaccordingtotheiroccurrencesequencetoeliminatecrosscollisioncompletely.Theintracollisionisresolvedwith
anappropriateelementarywindowsizetoachieveatradeoffbetweendelayandintracollisionprobability.
Wehaveperformedextensivesimulationsforcollisiontimes,throughput,delayandfairnesstodemonstratethatourCSRprovidescomprehensiveimprovementcomparedwithtraditionalbackoffalgorithms.
KeywordsIEEE802.11;mediumaccesscontrol;crosscollision;intracollision;collisionsequential
resolution
1引言
媒体接入控制(MediumAccessControl,MAC)协议是无线局域网(WirelessLocalAreaNetworks,WLANs)的基础,主要负责解析节点间的竞争冲突,协调系统资源分配,对网络的性能起着决定性作用.由于WLAI的分布式特性,分组冲突不可避免.MAC协议通常采用退避算法(Backoff)进行冲突解析.退避的目的是协调节点的信道接入,在冲突发生时能够及时有效地进行恢复.退避机制
决定了节点在发送报文之前需要推迟的时间,以便在多
节点竞争接入同一信道时保证接入的有效性,达到合理
利用信道资源的目的.退避算法既要尽量降低各节点间的冲突概率,又要避免因退避时间过长而降低信道利用率,同时还要保证各节点公平地访问信道.在分布式环境
中,这些要求对算法的设计提岀了挑战.
现有的退避算法主要是基于竞争窗口(Contention
Window,CW)机制.以IEEE802.11协议的BEB(BinaryExponentialBackoff)[1]算法为例,每个节点维护一个本地竞争窗口值CW需要进行退避时,节点在[0,CW-1]范围内随机选取一个数,称为退避计数器BCBackoffCounter).每当信道空闲一个时隙,Bd减1.倘若信道由闲变忙,退避进程暂时挂起,BC值被冻结,直到信道持续空闲DIFS(DistributedCoordinationFunction
InterframeSpace)后才开始继续递减BC值.一旦BC=0,节点开始发送分组.如果发送失败,节点加倍CW值直至CWmax,重新选择BC值进行新一轮退避;若发送成功,则重设CV为CWmin:
CW二min^CWmin’CWmax)发生冲突
CWd=CWmin发送成功
其中,i代表节点所处的退避阶段[2],取决于节点自最近一次成功发送以来所遭遇的冲突次数.
BEB算法虽然简单,但却存在一个弊端:
由于节点在发送成功以后立刻将竞争窗口值设为最小,使得该节点
有可能再次接入信道,从而阻塞其他节点,降低了公平性.于是,提出了MILD(MultiplicativeIncreaseandLinearDecrease)[3]算法.在MILD中,每当节点发送成功以后,竞争窗口并不直接重设为最小值CWnin,而是递减
:
-,直至达到CWmin.在每次分组发送失败后都将竞争窗口值增大[倍(:
•和I,分别设为1和1.5).MILD采用了竞争窗口拷贝机制,在提高公平性的同时也带来了额外的开销,甚至会导致竞争窗口值迁移问题⑷.
基于竞争窗口机制的退避算法考虑的都是如何改变竞争窗口的变化规则,以反映信道的当前竞争状况.
SD(SlowCWDecrease)[5]算法在成功发送一个报文后将
节点的竞争窗口减小为原来的、•.倍C.=0.9).而在
MIMD(MultiplicativeIncreaseMultiplicative
Decrease)[6]中,窗口减小速度更快,每次发送成功后都
将CW减半.EIED(ExponentialIncreaseExponential
Decrease)[7]采用一种通用的算法,当发送成功后用
CWD更新CW若失败则用CWIr代替
CVMIMLD(MultiplicativeIncrease
Multiplicative/LinearDecrease)[8]额外使用了一个参数CWbasic作为区分网络竞争程度的标准.当
CW.CWbasic时,认为竞争较激烈,成功发送报文后将发送窗口减半;否
CWLMILD(Linear/Multiplicative
Decrease)[9]将发送失败节点的同时,监听到冲突的其他节点将功后,所有节点的CV値都线性减小.
以上算法都是在检测到分组成功发送后就认为信
道竞争状况缓解,从而立刻减小竞争窗口值.由于节点一
次发送成功的偶然性很大,因此若在此时就减小竞争窗口大小,有可能会引起进一步的冲突.GDCF(GentleDCF)10]算法规定:
只有当节点连续成功发送若干个报文后才将竞争窗口值减小一半.这种保守的窗口变化方式
更加温和,也更容易反映信道的真实竞争状况,尤其在竞争节点数较多的情况下,GDCF能够显著降低节点的冲突概率,获得比DCF更高的吞吐量和更多的公平性.
当前的冲突解析机制只是利用退避过程的随机性来规避冲突,通过竞争窗口范围的不同获取不同的BCt,以此实现冲突的解析.尽管竞争窗口的调整策略各不相
同,但这些算法仍然无法完全避免分组冲突的发生.
下面以典型的IEEE802.11协议为例,说明传统退避算法存在的问题.如图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节点和处于退避阶段(i1)的b'节点同时发送分组,造成新的分组冲突.不难看出,这次冲突是发生在两个处于不同退避阶段的节点之间的.也就是说,即使节点已经进行过退避(如b'节点),仍然不能保证分组的正常发送.
1I丄3
a1
2丨「
L
CWi-1
0
b
wx
CWi-1-j
a'2CWi-1
H11n
s
b'
时间
j
k
CWi-1
退避阶段i
退避阶
段(i+1)
0
图1传统退避算法冲突解析示意图
这种由于退避效果不好产生的冲突不仅导致冲突解析过程失败,更会对其他节点的正常发送造成干扰.如上
例中,由于节点b'的介入,使得本来应该成功发送的c节
点也发生冲突.
通过进一步的分析我们发现:
在以上退避过程中,节点b所经历的两次冲突性质是不一样的.第一次冲突发生在两个处于同一退避阶段的节点之间,而第二次冲突则
是发生在两个处于不同退避阶段的节点之间.于是,我们
可以根据冲突节点所处退避阶段的不同将冲突划分成两类:
交叉冲突(CrossCollision)和同级冲突(IntraCollision).所谓交叉冲突,是指产生冲突的节点处于不
同的退避阶段;而在同级冲突中,冲突节点都处于同一退避阶段.如图1中,a和b之间的冲突是同级冲突,而b'和c之间的冲突则为交叉冲突.
我们认为,对冲突性质进行有效的区分对于完成冲突解析具有重要意义.下面,我们将基于冲突划分标准对IEEE802.11无线网络中的冲突解析算法进行研究.我们将在第二节中分析网络中交叉冲突发生概率的大小,从
而揭示其重要性;第三节根据冲突划分标准,提岀冲突顺序解析算法CSR(CollisionSequentialResolution);
仿真结果在第四节中给岀,最后一部分对全文进行总结.
重叠区域内,即BC1[0,CW—1-j];
2)在退避阶段i,仍然有节点的BC值处于交集之
中,即BC日j,CW-1].
因此,在两个连续的退避阶段i和(i+1)之间发生交叉冲突的概率Prcr(iJ书(j)满足:
Prcr(i,iI)(j)_Pr{BC「[j,CWi-1]}
Pr{BCii•[0,CW-1-j]}
(1)
由于退避计数器值在竞争窗口上均匀分布,所以有:
CW_1_j+1
Pr{BCi■[j,CW-1]}-
CWi-11
Pr{BCi1•[0,CW_1一j]}HCCW三斗
2CWi_1+1
(3)
其中,竞争窗口大小CW满足:
CW=2iCWmin
(4)
联立方程
(1)~(4),得到:
2i2
Pr(,”(CW—j)(2CWmin—j)(5)
P「cr(i,i1)(j)212(5)
2CW222iCW;in
显然,最大交叉冲突概率函数maxPGg书(j)满足:
(2'CWmin-j)2
maxPr=r(i,i1)(J)盯177—
2CVVmin
(6)
这是一个单调递减函数,在其取值范围
j三[0,C訓f内1最大值为:
1
maxPrcr(i,i1)(0)=
2
⑺
最小值为:
2交叉冲突概率分析
1
喰讼血叽八尹歸(8)
0.
0.3
°0123456789101112131415冲突时除
图2两个连续退避阶段之间的最大交叉冲突概率
IEEE802.11DCF协议[11]规定:
在每次发送失败后,节点加倍自己的竞争窗口,重新选择BC值进行退避.假定节点当前处于退避阶段i,竞争窗口大小为CWi(0勺©max,CWmin乞CWMWmax)•倘若在第j(^j段(i1)的竞争窗口为[0,2CW-1】,图中的阴影部分表示两个退避窗口的交集.
为了便于分析,我们首先只考虑两个连续的退避阶段:
i和(i+1).在这两个连续的退避阶段之间发生交叉冲突的必要条件满足:
1)处于退避阶段(i+1)的节点选取的BC值位于
0.2
0.15
0.1
005
图2示出了在两个连续退避阶段i和(i+1)之间冲
突时隙与最大交叉冲突概率之间的关系.从图中容易看
岀:
冲突发生得越早,引发交叉冲突的概率越大
尤其当退避阶段i达到其上限值imax时,有
CW=CW1=CWmax(9)
此时,最大交叉冲突概率函数满足:
(IO)
由此可见,当满足条件
2'CWminLj
(11)
交叉冲突概率甚至可以无穷逼近1.
虽然我们推导了在两个连续退避阶段之间发生交叉冲突概率的最大值,但是应该强调的是:
交叉冲突不仅仅发生在两个连续的退避阶段之间.只要节点的退避窗口存在着交集,就有可能引发交叉冲突.所以对当前处于某一退避阶段i的节点来讲,它的交叉冲突概率应为:
i1
Prcr(i)(j)Prcr(k,i)(j)
k_Q
(12)
显然,有
Prcr(i)(j)_Prcr(i〔i)(j)
(13)
可见,交叉冲突是网络中的一类重要冲突.
同级冲突,则从概率的角度分析,也就意味着系统中发生过的冲突都得到了良好解析.基于此,我们提岀一个冲突顺序解析算法CSR.CSF采用了一种冲突的顺序转化机制从解析交叉冲突入手,实现从交叉冲突到同级冲突的有效转化,最终使得系统收敛到一个无冲突的状态.
3.1IEEE802.11DCF
我们基于IEEE802.11DCF协议实现CSR算法.图3是DCF基本接入模式示意图.
根据信道上是否有分组发送,DCF将信道分为空闲
状态与忙状态,而忙状态可以根据分组发送的结果进一步区分成传输状态和冲突状态.节点在发送数据之前首先侦测信道状态.如果信道忙,节点从当前竞争窗口上随机选取退避计数器值,以时隙为单位进行退避.只要信道连续空闲DIFS后,每空闲一个时隙,节点递减计数器值.一旦计数器递减到0,节点开始发送数据.如果在退避过程中信道由闲变忙,则退避进程挂起,直到信道再次连续空闲DIFS后继续递减计数器值.在收到发送方发来的数据分组后,接收节点经过SIFS(ShortInterframeSpace)
后回送一个确认分组ACK(Acknowledgement).如果发送
发送
节点
节点没有及时收到ACK表明传输失败,于是增大竞争窗口,重新选择退避计数器值进行新一轮退避.
DATA
SIFS—»4—
3冲突顺序解析算法CSR
接收
节点
ACK
一DIFS
其他
节点
CW
DeferAccess
BackoffAfterDefer
传统的退避算法并没有区分交叉冲突和同级冲突,
而是采用同一种方式进行处理.特别地,IEEE802.11协议通过单纯增加竞争窗口的大小来避免冲突.尽管该策
略可以有效解析同级冲突,但却引入了额外的空闲时隙,增加了分组延迟.而且,由于退避算法的随机性,只要节点的竞争窗口之间存在着交集,就有可能引发交叉冲突.尤其当竞争窗口到达最大值CWmax后,交叉冲突的概率
甚至可以无穷逼近1.
我们认为:
对于这两种不同类型的冲突应该采取不同的解析策略.同交叉冲突相比,同级冲突的解析策略比较简单,仅仅通过扩大竞争窗口值就可以有效降低冲突概率.然而,至今却还没有提岀一个针对交叉冲突的有效解决方案.
实际上,交叉冲突和同级冲突间存在着某种程度的联系.交叉冲突的存在,不仅造成自身冲突解析过程的失败,更有可能影响原本应该成功发送的节点,带来新的冲
突.可以试想,如果网络中没有交叉冲突,而是仅仅存在
图3IEEE802.11DCF基本接入模式示意图
3.2算法实现
我们从交叉冲突的定义中受到启发:
节点只有处于相互独立的竞争窗口中才能够完全消除重叠区域,从而
从根本上杜绝交叉冲突,使得网络中只有同级冲突存在,实现了冲突的有效转化.CSR算法就是基于以上思想而提岀.CSR严格按照冲突发生的时间顺序为冲突节点动态分配独立的竞争窗口,以此消除交叉冲突;同时,通过选择适当的窗口值大小来减少同级冲突概率,保证分组
延迟.CSR将节点的竞争窗口划分为一个初始竞争窗口
CMW和若干个动态分配的基本窗口EW(ElementaryWindow).系统初始化时,节点均匀分布在初始竞争窗口上.一旦发生冲突,根据冲突发生的顺序,将冲突节点依次分布在连续独立的基本窗口上,通过分布窗口的离散
化消除交叉冲突;同时设置合适的基本窗口大小,在同级冲突概率和时延之间取得权衡.
为了消除交叉冲突,我们定义竞争级别(ContentionLevel,CL)为竞争区域上发生的信道接入次数,利用CL来指导基本窗口的动态分配.事实上,CL可以看成是信道竞争状态的一种表征.
CSR算法实现如下:
1)所有节点监测信道.在信道连续空闲DIFS后,如果再空闲一个时隙,节点将其退避计数器值减1.一旦计数器到达0,节点马上发送分组.倘若信道由闲变忙,退避进程挂起直到信道再次空闲DIFS后继续递减退避计数器值.
2)一旦监测到忙状态(不管是传输状态还是冲突状态),表明信道上有分组发送,于是所有节点都将CL值加1:
CL=CL1侦测到忙状态
3)节点完成数据分组发送后,如果在规定时间内没有收到接收方发来的确认信息,则认为发生了分组冲突,于是检查其重传次数:
如果重传次数超过了最大门限值
Max_Retrans_Times,节点将分组丢弃,
并且重设竞争窗口为[0,CW0_1],同时
保留CL值以便继续指导后续的窗口分配;
如果没有超过重传门限,节点重新设置
其新的竞争窗口为:
[CW0(CL-1)EW,CW0CLEW—1]这样,冲突节点将会在当前竞争窗口末
端的一个基本窗口上随机分布,从而实现了退避空间的独立性,避免了交叉冲突.
4)在一次成功的分组传输后(数据分组传输加上ACK传输),节点将CL值加1,并据此设置其新的竞争窗口为:
[CW0(CL-1)EW,CW0CLEW-1],从而使得该节点完全独占第CL个基本窗口,保
障了其后续传输都是在无干扰的情况下进行.
同时,由于这一系列基本窗口是连续排列的,节
点需要经过一个周期的等待后才能够再次接入信道,从而为其他节点提供了接入机会,保障了算法的公平性.
图4描述了CSR算法.图中的虚线箭头表示节点的重新分布.假设节点1和2同时发送数据,产生一次冲突.此时,网络中的CL=1,这两个节点在紧接初始竞争窗口后的基本窗口1上重新分布.如果节点3发送成功,它设置CL=2,并将自己的分布范围设为紧接初始竞争窗口
后的第2个基本窗口.由于节点3独占了该窗口,保障了
它的后续传输都能够在无干扰的情况下进行.通过这种
方式,实现了退避窗口的不相交特性,完全消除了交叉冲突.同时,算法使得发送成功的节点需要经过一轮的等待后才能够再次接入信道,以此获得更多的公平性.
初始竞争窗口基本窗口1基本窗口2基本窗口3基本窗口4
MhMPPMH'
当前竞争窗口
图4冲突顺序解析算法示意图
3.3冲突概率比较
如果两个或多个节点选择在同一时隙发送分组,则
产生冲突.假定共有n个节点均匀分布在竞争窗口
[0,m-1上,可以得到分组冲突概率Pr;{冲突}为:
Prm{冲突}=[m!
-mn[m—n]!
(14)
我们定义节点的分布密度r为:
=-(15)
m
于是得到分组发送成功的概率Prm{成功}满足:
10
Prm{成功}m!
m凹(m-:
?
m)!
(16)
考虑一个典型的IEEE802.11退避场景,如图1所示.假定在退避阶段i共有n(n:
:
:
m)个节点均匀分布在窗口[cm,-上.在第j个时隙,共有
k(k•[2,min(n,2m_2n)])个节点同时发送分组,产生冲
突.于是这k个节点全部进入退避阶段(「1)并且在新的
竞争窗口[0,2m—1]上重新分布.此时,对于处于退避阶段(i1)的节点来讲,其分布密度不再是均匀的.新的竞争窗口也因此被分成两个区域:
重叠区域(Intersectio