AdHoc网络应用论文

时间:2022-03-12 10:42:00

导语:AdHoc网络应用论文一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

AdHoc网络应用论文

摘要adhoc网络是一种无基础设施、无中心控制的分布式自组织对等式网络,在紧急情况下能够简单迅速搭建。而传统的TCP拥塞控制协议在AdHoc网络中表现出不稳定性,不公平性,带宽利用率不高以及随着跳数增加吞吐量减少等问题。eXplicitControlProtocol(XCP),即显式控制协议,是一个基于反馈的拥塞控制协议,其通过对注入网络的数据流设置标记并由网络向发送端发送准确定量的反馈信息来实现拥塞控制。本文简单阐述了TCP拥塞控制协议及其一些改进方案在AdHoc网络中的缺陷,并主要针对XCP在AdHoc网络中的运用WXCP进行了详细的分析和讨论。

关键词AdHoc网络;拥塞控制;显式控制协议

引言

随着无线技术的进步,对于建立一个提供低花费因特网接入的宽带无线网,无线AdHoc网络是一个很有潜力的候选者。对于这种新的网络体系结构,需要一种能够有效处理多跳网络及其变形的传输协议。

当前,最广泛使用的TCP协议是TCPReno及其变种。然而,最近的研究表明TCPReno在无线Adhoc网络中遇到了公平和效率的问题。究其原因,主要有以下三个方面:

①TCP没有区别开拥塞控制和可靠性控制。TCP通过报文丢失事件来检测拥塞,但在AdHoc网络中,报文丢失虽然与拥塞密切相关,但它并不是一个可靠的拥塞信号,报文丢失也可能是由于与传输信道有关的错误和与结点移动有关的路由失败引起的。

②TCP依赖AIMD算法调节拥塞窗口使网络收敛到公平的带宽共享。因此,在重新路由后,它不能高效率地获得空闲带宽。

③AdHoc网络的吞吐量主要取决于传输负载。当传输负载增加到超过一定门限,链路出错率增加,吞吐量降低。而TCP流量控制为了填充瓶颈接口队列,常常向网络中注入太多的报

文。

本文设计了一种解决后两个问题的新的拥塞控制策略去改进无线AdHoc网络传输协议的性能,该策略采纳了一种显式拥塞控制体系结构,这种体系结构由中间结点作出拥塞估计并把速率反馈送回发送端,发送端基于收到的速率反馈调整其传输速率。这种协议叫无线显示控制协议,即WXCP(WirelesseXplicitControlProtocol),其设计思想来自XCP(eXplicitControlProtocol),一种为高带宽延迟网络设计的基于窗口的拥塞控制策略。WXCP在中间结点和发送端集成了一系列机制以使XCP适用于无线网络环境。在中间结点,WXCP做了更为精确的拥塞状况估计,并基于多个拥塞度量值计算速率反馈。通过使用显式速率反馈而不是搜索可用带宽,WXCP流能够迅速收敛并获得良好的吞吐量。同时,WXCP流能够比TCP流更快收敛到平稳。另外,还在发送端引入了报文丢失发现及减缓机制用以处理小窗口和峰值问题。

1相关工作

WXCP是对为高带宽延迟积网络设计的XCP的扩展。同时也有许多关于为多跳无线网络可靠数据传输改进TCP性能或者设计新的策略的相关研究。

①第一类方法是基于端到端的测量。Wang和Zhang[2]提出的通过检测并响应无序报文传递事件以提高TCP的性能的方法。Fu等[3]提出了一个TCP友好的传输协议,这种协议基于端到端的测量对报文和连接行为进行多值联合鉴定以试图区分不同的事件,例如由于移动引发的连接断开、重连接及网络拥塞引起的信道错误等。

②也有研究者试图通过使用来自路由层的显式反馈来改进无线网络中的可靠数据传输性能。Holland和Vaidy[4]研究由于移动造成的链接破坏对TCP性能的影响并提出了一种显式链路失败通知技术(ELFN)。Chandran[5]也提出了一种TCP反馈的相似机制。Liu和singh[6]在传输层和路由层之间引入了一个薄层用以处理来自中间结点的显式通知并保护TCP不受AdHoc网络潜在行为的影响。

这两类方法通过区分与拥塞有关的报文丢失和由于信道错误和路由失败引起的报文丢失来提高TCP性能,解决了上面提出的第一个问题。

③最近,研究者又提出用来自中间结点的显式速率反馈来解决第二和第三个问题。Sundanrasan等[7]提出了一种基于速率的传输层协议ATP。在ATP中,发送端基于来自瓶颈结点的显式速率反馈调整传输速率。Chen等[8]介绍了EXACT(ExplicitrAte-basedflowConTrol),将ATM的ABR拥塞控制使用的基于速率的反馈应用于AdHoc网络。

本策略也是利用显式速率反馈解决第二和第三个问题,但与这些方法不同的是,本策略在发送端使用的是基于窗口的拥塞控制而不是纯基于速率的拥塞控制。与[8]相比,WXCP的中间结点并不维持每个流的信息,因此WXCP的实施将更为简单。虽然[7]也不维持每个流的信息,但它并没有考虑到无线传输信道的空间特性。而且WXCP在不同的流之间维持时间公平而不是吞吐量公平,因此WXCP能获得一个的更高总吞吐量。

2WXCP在AdHoc网络中的具体实现

2.1基本思想

假设MAC协议的基本机制为:1基于CSMA/CA。2单播报文确认。把XCP应用到共享信道的无线网络是具有挑战性的,为了精确计算反馈,XCP路由器必须预先知道准确的链路容量。然而在共享信道无线网络中,所有的结点竞争信道,真正的吞吐能力随着传输负载的变化而变化。XCP在接口处获得链路容量以计算速率反馈,由此引入的容量估计会使XCP产生膨胀的反馈,从而发送端发送的报文将超过链路的传输能力,队列建立并加长。而WXCP并不使用通过一个固定接口获得的容量,通过局部地检测中间结点的信道状况,WXCP获得合理的容量估计。另外,WXCP还在发送端加入了报文丢失发现机制和减缓机制用以处理小窗口和峰值问题。

2.2拥塞度量的描述

WXCP使用三个度量去检测结点处的资源使用状态和拥塞程度:可用带宽(Availablebandwidth),接口队列长度(interfacequeue(IFQ)length)和平均链路层重传(averagelinklayerretransmission(ALR))。不失一般性,这是使用可用带宽代表可用网络容量。可用带宽越小,拥塞发生的可能性越大。可用带宽可以基于本地监测进行估计而不需要额外控制报文的交换。如果周期性估计,信道空闲时间代表网络容量在估计周期内仍然可用。为了把信道空闲时间转换为传输速率,需要计算链路层吞吐量。因为在不同的位置无线信道状况可能不同,到不同的邻居结点的链路层吞吐量也可能不同。因此,虽然使用相同信道,但在WXCP中使用可用带宽是所有路径的平均可用带宽。如果估计周期是T,则平均可用带宽B:

B=(1)

是在周期T内的信道空闲时间,bw是到所有不同接收端的平均链路层吞吐量。该模型可以用IEEE802.11DCFMAC协议实现,该协议使用CSMA/CA机制控制多个结点访问相同的信道。通过监测无线电情况,可以得到,它是在观察间隔T中结点使用信道时间,物理载波侦听时间,虚拟载波侦听时间的总和,可以由T-得到。在802.11DCF中,任何非广播数据报总是伴随着一个确认数据报,bw是每个链路层吞吐量测量样本值的平均值,链路层吞吐量测量样本值计算公式为:

(2)

是报文j的大小,是报文传递到MAC层的时间,是收到相应的ACK报文的时间。

第二个度量值是输出接口队列状态。当输入传输速率比输出传输速率大,报文开始缓存在接口队列(IFQ)中并且队列的长度增加,当队列满时,到达队列的后续报文被丢弃。TCP由此推断网络中拥塞的存在。

由于隐藏终端的问题,如果没有任何协调措施,发送端与不在其侦听范围但在接收端侦听范围的结点竞争接收端周围的一个信道,如果隐藏通信来自流本身,这就是众所周知的自冲突。当一个流向网络中注入过多的报文,自冲突会发生,传输延迟增加,吞吐量减小。通过调整传输速率,可以改变自冲突的程度。然而发送端的IFQ长度对于检测自冲突并不是足够的灵敏。因此,这里使用成功发送报文的平均链路层重传作为第三个拥塞度量值去检测自冲突程度。

使用ALR去侦听自冲突会遇到许多的干扰,因为无线AdHoc网络中的报文丢失不仅仅因为自冲突,还包括其它的无线信道错误(例如由于多路径反射和来自其它信号源、路径散射的信号冲突)和路由失败。将自冲突与其它的无线信道错误区分开是很难的,有可能当网络经历严重的无线信道错误,结点产生大量的重传,却由此推断存在严重自冲突,但事实上并没有冲突。WXCP通过遵循TCP中保持最小拥塞窗口CWND大于或等于一个报文的规定处理这个问题。而事实上,一个报文大小的CWND对大多数网络来说接近最优值。在最坏的情况下,当严重的无线信道错误产生和WXCP侦听自冲突不正确时,协议至少能以一个报文大小的CWND工作并获得合理的性能。

2.3WXCP中显式拥塞反馈的计算

在WXCP中,中间结点基于报文头部携带的流信息和在上文的拥塞度量值作出拥塞控制和公平控制决定。因为在无线网络中,不同路径上的链路层吞吐量是不同的,为了达到高的总吞吐量,WXCP公平控制器在流之间维护时间公平性而不是吞吐量公平性。每个控制间隔T,T是这个结点上的所有的流的RTT的平均值,WXCP计算总反馈:

(3)

B是被该结点本身和n个相邻结点共享的可用带宽的估计值。n可以通过对上一个控制间隔中监听到的报文的不同的源端进行计数得到,代表在控制间隔中观察到的接口队列最小长度。代表上一控制间隔中对所有目的结点成功传输报文的ALR。是常数。

当总反馈为正,即对所有的流增加相同的活动时间。因此,任意流i的活动时间的改变,将与同一常量成正比,假设流i流过路径k的链路层吞吐量为,因为与该流吞吐量的变化成正比,并与链路吞吐量成反比(i.e.,=)。流i吞吐量的变化与路径的链路层吞吐量成正比。另外,流i拥塞窗口的改变即是其吞吐量与RTT乘积的改变。因此,流i拥塞窗口的改变应该与该流的RTT和链路层吞吐量成正比,即(i.e.,∝)。一个流的拥塞窗口总的改变是它收到的每个报文反馈的总和。在控制间隔T中,经过路由器的流i的报文的期望数量正比于该流的拥塞窗口,反比于其往返延迟时间和报文大小(i.e.,)。故每个报文的正反馈Pi:

Pi=(4)

是常数。因为总的通信速率的增加等于所有流速率增加的总和。可以由(5)得到,

=(5)

L代表该结点上所有的流。相似地,当总的反馈为负时,计算每个流的负反馈。在这种情况下,让流i的活动时间的减少与流i的当前活动时间成正比。(i.e.,∝)。同时,与流i的吞吐量成正比并与成反比。就可以得到流i吞吐量的减少与其当前吞吐量成正比(i.e.,∝)。这与XCP是相同的,根据XCP,每个报文的负反馈由下面公式得到,

(6)

常量可以由下面的式子(7)得到,

=(7)

2.4报文丢失发现

与XCP一样,WXCP的发送端维持拥塞窗口cwnd以及往返延迟估计值rtt。当报文离开时,发送端在报文头部填入其当前cwnd和rtt,当新的应答报文到达,发送端根据映带报文中的反馈信息调整它的cwnd,即cwnd=max(cwnd+feedbaclk,s),s是报文的大小。对于反馈,WXCP响应报文丢失的方式与TCP一样。[14,3]显示当TCP以一个小的拥塞窗口工作时,窗口的大小限制了发送端可能收到的返回ACK的数量。因为TCP要求三个重复的ACK去触发快重传,小窗口可能阻止这些算法有效。

WXCP保持拥塞窗口的大小接近最优值以获得好的吞吐量。为了避免不必要的超时,WXCP发送端需要向网络中发送足够的报文去判断当前报文的丢失模式。因此引入报文丢失发现状态到发送端的WXCP状态机。基本思想是当拥塞窗口小时,如果没有新的ACK收到,也没有足够数量的重复ACK返回,发送端不是等待一个重传超时,而是从基于窗口的控制转换到减小传输速率的基于速率的控制。如图1所示,两个定时器,报文丢失发现定时器和减缓定时器,都加入到发送端。每次当重传定时器复位,报文丢失发现定时器设置其超时时间为当前稳定的RTT估计。如果没有丢包,路径的RTT不会有明显增加,报文丢失发现定时器在它重置之前也不会超时。否则,当报文丢失发现定时器发生超时,就检查当前的拥塞窗口,如果拥塞窗口比门限值Wmin小,发送端进入报文丢失发现状态。在此状态,报文以当前传输速率一半的速率减缓发送(e.g.,),并且发送端每发送一个拥塞窗口的报文,传输速率减小一半。在报文丢失发现期间,cwnd不变,RTT估计正常更新。如图1所示,发送端在以下情况下退出丢包发现状态:

①已有的报文注入到网络中但仍然没有新的ACK返回,并且重复ACK的数量小于3,即可推断大多数的报文丢失并且发生了网络拥塞。发送端停止向网络注入新的报文并且等待重传超时。

②发送端收到3个重传ACK,说明有报文丢失,发送端退出报文丢失发现状态开始快重传和快恢复。

③发送端收到新的ACK,说明在网络中没有报文丢失和拥塞。

④重传定时器超时。如果路径的RTT过大,网络中的报文增加到Wmin之前可能发生重传定时器超时,在这种情况,发送端进入重传超时状态并且按与TCP相同的方法重传丢失报文。

2.5减缓机制

基于窗口的传输策略具有利用ACK自时钟的优势。但也有缺点,即当发送端收到大量ACK报文和以高速率发送报文时产生了峰值。这些报文会在无线信道上相互干扰,为了平滑这一峰值,减缓机制被引入到基于窗口的WXCP发送端。定义Bt为最大可容忍的峰值,WXCP发送端通过Bt为它的最大通信量整形。一般地,当可利用拥塞窗口空间为,发送端在允许范围内尽力发送最多的报文。在WXCP中,发送端检查Bt,如果<Bt,报文正常发送;否则,同一个拥塞窗口的报文以速率减缓发送,cwnd即为当前拥塞窗口,rtt代表上一个RTT样本,只要减缓发送报文的应答报文中的一个被收到,减缓状态终止,后继报文以ACK自时钟发送出去。

2.6参数设置

报文丢失发现门限Wmin:当拥塞窗口达到此门限,WXCP连接总是按基于窗口速率控制工作。当拥塞窗口小于此门限,WXCP连接进入报文丢失发现状态以减少不必要的超时,设Wmin为7个报文。

减缓机制最大可容忍峰值:代表在网络中WXCP连接能容忍的峰值,为了最小化自冲突,我门设置为2个报文。

中间结点的参数:此算法在中间结点有三个参数,α控制可用带宽的分配,它的值在0和1之间,α值越大,WXCP利用可用带宽的速率增加得越快。为了减少传输延迟,WXCP尽力在中间结点保持短的IFQ和低的自冲突,这由β和ζ控制。因此必须设置这三个参数用以平衡由于利用可用带宽所增加的协议响应时间和IFQ排队及自冲突所带来的延迟时间。设α,β,ζ为0.20,0.11和67[10]。

3WXCP在AdHoc网络中主要特点

在无线AdHoc网络中,由于WXCP自身的特性,WXCP较TCP及其一些改进方案有许多优点,更能适应无线AdHoc网络的需要。

①WXCP在中间结点做了更为精确的拥塞状况估计。通过显式速率反馈及时调整传输速率,WXCP流能够迅速收敛到平稳并获得良好的吞吐量,具有良好的稳定性。

②WXCP的中间结点并不维持每个流的信息,而基于拥塞度量值和报文头部携带的流信息作出拥塞控制和公平控制决定,实施将更为简单。并且WXCP公平控制器在不同的流之间维持时间公平而不是吞吐量公平,能够获得更好的公平性和更高的总吞吐量。

③发送端WXCP状态机中引入的报文丢失发现状态和减缓机制能够有效地处理小窗口和峰值问题。其主要利用两个定时器,报文丢失发现定时器和减缓定时器,并根据不同的情况选择不同的处理策略,发送端还通过为它的最大通信量整形,避免了不必要的超时,平滑了当发送端收到大量ACK报文和以高速率发送报文时产生了峰值,提高了稳定性。

④由于无线信道存在干扰,可能会由无线信道错误和路由失败造成的报文丢失错误地推断出存在严重的自冲突,WXCP通过保持最小CWND大于或等于一个报文来处理这个问题。即便在最坏的情况下,当严重的无线信道错误产生和WXCP检测自冲突不正确时,协议至少能以一个报文大小的CWND工作并获得合理的性能。

4结束语

本文指出了TCP及相关策略在无线AdHoc网络存在的主要不足,对XCP在无线AdHoc网络中的应用WXCP进行了详细的分析和讨论,给出了WXCP具体实施方法,分析了WXCP在无线AdHoc网络中的主要特点。

参考文献

[1]Katabi,D.andHandley,M.andRohrs,C.:CongestionControlforHighBandwidth-DelayProductNetworks.ProceedingsofACMSIGCOMM,2002

[2]Wang,F.andZhang,Y.:ImprovingTCPPerformanceoverMobileAd-HocNetworkswithOut-of-OrderDetectionandResponse,ProceedingsofACMMOBIHOC,2002

[3]Fu,ZandGreenstein,B.andMeng,X.andLu,S.:DesignandImplementationofaTCP-FriendlyTransportProtocolforAdHocWirelessNetworks.ProceedingsofIEEEICNP,2002

[4]Holland,G.andVaidya,N.:AnalysisofTCPPerformanceoverMobileAdHocNetworks.ProceedingsofACMMobicom,1999

[5]Chandran,K.andRaghunathan,S.andVenkatesan,S.andPrakash,R.:AFeedback-basedSchemeforImprovingTCPPerformanceinAdHocWirelessNetworks.ProceedingsofICDCS,1998

[6]Liu,J.andSingh,S.:ATCP:TCPforMobileAdHocNetworks,IEEEJournalonSelectedAreasinCommunications,2001

[7]Sundaresan,K.andAnantharaman,V.andHsieh,H-Y.andSivakumar,R.:ATP:AReliableTransportProtocolforAd-hocNetworks,ProceedingsofACMMOBIHOC,2003

[8]Chen,K.andNahrstedt,K.andVaidya,N.:TheUtilityofExplicitRate-BasedFlowControlinMobileAdHocNetworks.ProceedingsofIEEEWCNC,2004

[9]YangSuandThomasGross:WXCP:ExplicitCongestionControlforWirelessMulti-hopNerworks,2005

[10]Su,Y.andGross,T.:WXCP:ExplicitCongestionControlforWirelessMulti-HopNetworks,TechnicalReport,ETHZurich,Feb.2005