AdHoc網絡應用論文
時間:2022-03-12 10:42:00
導語:AdHoc網絡應用論文一文來源于網友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要adhoc網絡是一種無基礎設施、無中心控制的分布式自組織對等式網絡,在緊急情況下能夠簡單迅速搭建。而傳統(tǒng)的TCP擁塞控制協(xié)議在AdHoc網絡中表現出不穩(wěn)定性,不公平性,帶寬利用率不高以及隨著跳數增加吞吐量減少等問題。eXplicitControlProtocol(XCP),即顯式控制協(xié)議,是一個基于反饋的擁塞控制協(xié)議,其通過對注入網絡的數據流設置標記并由網絡向發(fā)送端發(fā)送準確定量的反饋信息來實現擁塞控制。本文簡單闡述了TCP擁塞控制協(xié)議及其一些改進方案在AdHoc網絡中的缺陷,并主要針對XCP在AdHoc網絡中的運用WXCP進行了詳細的分析和討論。
關鍵詞AdHoc網絡;擁塞控制;顯式控制協(xié)議
引言
隨著無線技術的進步,對于建立一個提供低花費因特網接入的寬帶無線網,無線AdHoc網絡是一個很有潛力的候選者。對于這種新的網絡體系結構,需要一種能夠有效處理多跳網絡及其變形的傳輸協(xié)議。
當前,最廣泛使用的TCP協(xié)議是TCPReno及其變種。然而,最近的研究表明TCPReno在無線Adhoc網絡中遇到了公平和效率的問題。究其原因,主要有以下三個方面:
①TCP沒有區(qū)別開擁塞控制和可靠性控制。TCP通過報文丟失事件來檢測擁塞,但在AdHoc網絡中,報文丟失雖然與擁塞密切相關,但它并不是一個可靠的擁塞信號,報文丟失也可能是由于與傳輸信道有關的錯誤和與結點移動有關的路由失敗引起的。
②TCP依賴AIMD算法調節(jié)擁塞窗口使網絡收斂到公平的帶寬共享。因此,在重新路由后,它不能高效率地獲得空閑帶寬。
③AdHoc網絡的吞吐量主要取決于傳輸負載。當傳輸負載增加到超過一定門限,鏈路出錯率增加,吞吐量降低。而TCP流量控制為了填充瓶頸接口隊列,常常向網絡中注入太多的報
文。
本文設計了一種解決后兩個問題的新的擁塞控制策略去改進無線AdHoc網絡傳輸協(xié)議的性能,該策略采納了一種顯式擁塞控制體系結構,這種體系結構由中間結點作出擁塞估計并把速率反饋送回發(fā)送端,發(fā)送端基于收到的速率反饋調整其傳輸速率。這種協(xié)議叫無線顯示控制協(xié)議,即WXCP(WirelesseXplicitControlProtocol),其設計思想來自XCP(eXplicitControlProtocol),一種為高帶寬延遲網絡設計的基于窗口的擁塞控制策略。WXCP在中間結點和發(fā)送端集成了一系列機制以使XCP適用于無線網絡環(huán)境。在中間結點,WXCP做了更為精確的擁塞狀況估計,并基于多個擁塞度量值計算速率反饋。通過使用顯式速率反饋而不是搜索可用帶寬,WXCP流能夠迅速收斂并獲得良好的吞吐量。同時,WXCP流能夠比TCP流更快收斂到平穩(wěn)。另外,還在發(fā)送端引入了報文丟失發(fā)現及減緩機制用以處理小窗口和峰值問題。
1相關工作
WXCP是對為高帶寬延遲積網絡設計的XCP的擴展。同時也有許多關于為多跳無線網絡可靠數據傳輸改進TCP性能或者設計新的策略的相關研究。
①第一類方法是基于端到端的測量。Wang和Zhang[2]提出的通過檢測并響應無序報文傳遞事件以提高TCP的性能的方法。Fu等[3]提出了一個TCP友好的傳輸協(xié)議,這種協(xié)議基于端到端的測量對報文和連接行為進行多值聯合鑒定以試圖區(qū)分不同的事件,例如由于移動引發(fā)的連接斷開、重連接及網絡擁塞引起的信道錯誤等。
②也有研究者試圖通過使用來自路由層的顯式反饋來改進無線網絡中的可靠數據傳輸性能。Holland和Vaidy[4]研究由于移動造成的鏈接破壞對TCP性能的影響并提出了一種顯式鏈路失敗通知技術(ELFN)。Chandran[5]也提出了一種TCP反饋的相似機制。Liu和singh[6]在傳輸層和路由層之間引入了一個薄層用以處理來自中間結點的顯式通知并保護TCP不受AdHoc網絡潛在行為的影響。
這兩類方法通過區(qū)分與擁塞有關的報文丟失和由于信道錯誤和路由失敗引起的報文丟失來提高TCP性能,解決了上面提出的第一個問題。
③最近,研究者又提出用來自中間結點的顯式速率反饋來解決第二和第三個問題。Sundanrasan等[7]提出了一種基于速率的傳輸層協(xié)議ATP。在ATP中,發(fā)送端基于來自瓶頸結點的顯式速率反饋調整傳輸速率。Chen等[8]介紹了EXACT(ExplicitrAte-basedflowConTrol),將ATM的ABR擁塞控制使用的基于速率的反饋應用于AdHoc網絡。
本策略也是利用顯式速率反饋解決第二和第三個問題,但與這些方法不同的是,本策略在發(fā)送端使用的是基于窗口的擁塞控制而不是純基于速率的擁塞控制。與[8]相比,WXCP的中間結點并不維持每個流的信息,因此WXCP的實施將更為簡單。雖然[7]也不維持每個流的信息,但它并沒有考慮到無線傳輸信道的空間特性。而且WXCP在不同的流之間維持時間公平而不是吞吐量公平,因此WXCP能獲得一個的更高總吞吐量。
2WXCP在AdHoc網絡中的具體實現
2.1基本思想
假設MAC協(xié)議的基本機制為:1基于CSMA/CA。2單播報文確認。把XCP應用到共享信道的無線網絡是具有挑戰(zhàn)性的,為了精確計算反饋,XCP路由器必須預先知道準確的鏈路容量。然而在共享信道無線網絡中,所有的結點競爭信道,真正的吞吐能力隨著傳輸負載的變化而變化。XCP在接口處獲得鏈路容量以計算速率反饋,由此引入的容量估計會使XCP產生膨脹的反饋,從而發(fā)送端發(fā)送的報文將超過鏈路的傳輸能力,隊列建立并加長。而WXCP并不使用通過一個固定接口獲得的容量,通過局部地檢測中間結點的信道狀況,WXCP獲得合理的容量估計。另外,WXCP還在發(fā)送端加入了報文丟失發(fā)現機制和減緩機制用以處理小窗口和峰值問題。
2.2擁塞度量的描述
WXCP使用三個度量去檢測結點處的資源使用狀態(tài)和擁塞程度:可用帶寬(Availablebandwidth),接口隊列長度(interfacequeue(IFQ)length)和平均鏈路層重傳(averagelinklayerretransmission(ALR))。不失一般性,這是使用可用帶寬代表可用網絡容量。可用帶寬越小,擁塞發(fā)生的可能性越大。可用帶寬可以基于本地監(jiān)測進行估計而不需要額外控制報文的交換。如果周期性估計,信道空閑時間代表網絡容量在估計周期內仍然可用。為了把信道空閑時間轉換為傳輸速率,需要計算鏈路層吞吐量。因為在不同的位置無線信道狀況可能不同,到不同的鄰居結點的鏈路層吞吐量也可能不同。因此,雖然使用相同信道,但在WXCP中使用可用帶寬是所有路徑的平均可用帶寬。如果估計周期是T,則平均可用帶寬B:
B=(1)
是在周期T內的信道空閑時間,bw是到所有不同接收端的平均鏈路層吞吐量。該模型可以用IEEE802.11DCFMAC協(xié)議實現,該協(xié)議使用CSMA/CA機制控制多個結點訪問相同的信道。通過監(jiān)測無線電情況,可以得到,它是在觀察間隔T中結點使用信道時間,物理載波偵聽時間,虛擬載波偵聽時間的總和,可以由T-得到。在802.11DCF中,任何非廣播數據報總是伴隨著一個確認數據報,bw是每個鏈路層吞吐量測量樣本值的平均值,鏈路層吞吐量測量樣本值計算公式為:
(2)
是報文j的大小,是報文傳遞到MAC層的時間,是收到相應的ACK報文的時間。
第二個度量值是輸出接口隊列狀態(tài)。當輸入傳輸速率比輸出傳輸速率大,報文開始緩存在接口隊列(IFQ)中并且隊列的長度增加,當隊列滿時,到達隊列的后續(xù)報文被丟棄。TCP由此推斷網絡中擁塞的存在。
由于隱藏終端的問題,如果沒有任何協(xié)調措施,發(fā)送端與不在其偵聽范圍但在接收端偵聽范圍的結點競爭接收端周圍的一個信道,如果隱藏通信來自流本身,這就是眾所周知的自沖突。當一個流向網絡中注入過多的報文,自沖突會發(fā)生,傳輸延遲增加,吞吐量減小。通過調整傳輸速率,可以改變自沖突的程度。然而發(fā)送端的IFQ長度對于檢測自沖突并不是足夠的靈敏。因此,這里使用成功發(fā)送報文的平均鏈路層重傳作為第三個擁塞度量值去檢測自沖突程度。
使用ALR去偵聽自沖突會遇到許多的干擾,因為無線AdHoc網絡中的報文丟失不僅僅因為自沖突,還包括其它的無線信道錯誤(例如由于多路徑反射和來自其它信號源、路徑散射的信號沖突)和路由失敗。將自沖突與其它的無線信道錯誤區(qū)分開是很難的,有可能當網絡經歷嚴重的無線信道錯誤,結點產生大量的重傳,卻由此推斷存在嚴重自沖突,但事實上并沒有沖突。WXCP通過遵循TCP中保持最小擁塞窗口CWND大于或等于一個報文的規(guī)定處理這個問題。而事實上,一個報文大小的CWND對大多數網絡來說接近最優(yōu)值。在最壞的情況下,當嚴重的無線信道錯誤產生和WXCP偵聽自沖突不正確時,協(xié)議至少能以一個報文大小的CWND工作并獲得合理的性能。
2.3WXCP中顯式擁塞反饋的計算
在WXCP中,中間結點基于報文頭部攜帶的流信息和在上文的擁塞度量值作出擁塞控制和公平控制決定。因為在無線網絡中,不同路徑上的鏈路層吞吐量是不同的,為了達到高的總吞吐量,WXCP公平控制器在流之間維護時間公平性而不是吞吐量公平性。每個控制間隔T,T是這個結點上的所有的流的RTT的平均值,WXCP計算總反饋:
(3)
B是被該結點本身和n個相鄰結點共享的可用帶寬的估計值。n可以通過對上一個控制間隔中監(jiā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報文丟失發(fā)現
與XCP一樣,WXCP的發(fā)送端維持擁塞窗口cwnd以及往返延遲估計值rtt。當報文離開時,發(fā)送端在報文頭部填入其當前cwnd和rtt,當新的應答報文到達,發(fā)送端根據映帶報文中的反饋信息調整它的cwnd,即cwnd=max(cwnd+feedbaclk,s),s是報文的大小。對于反饋,WXCP響應報文丟失的方式與TCP一樣。[14,3]顯示當TCP以一個小的擁塞窗口工作時,窗口的大小限制了發(fā)送端可能收到的返回ACK的數量。因為TCP要求三個重復的ACK去觸發(fā)快重傳,小窗口可能阻止這些算法有效。
WXCP保持擁塞窗口的大小接近最優(yōu)值以獲得好的吞吐量。為了避免不必要的超時,WXCP發(fā)送端需要向網絡中發(fā)送足夠的報文去判斷當前報文的丟失模式。因此引入報文丟失發(fā)現狀態(tài)到發(fā)送端的WXCP狀態(tài)機。基本思想是當擁塞窗口小時,如果沒有新的ACK收到,也沒有足夠數量的重復ACK返回,發(fā)送端不是等待一個重傳超時,而是從基于窗口的控制轉換到減小傳輸速率的基于速率的控制。如圖1所示,兩個定時器,報文丟失發(fā)現定時器和減緩定時器,都加入到發(fā)送端。每次當重傳定時器復位,報文丟失發(fā)現定時器設置其超時時間為當前穩(wěn)定的RTT估計。如果沒有丟包,路徑的RTT不會有明顯增加,報文丟失發(fā)現定時器在它重置之前也不會超時。否則,當報文丟失發(fā)現定時器發(fā)生超時,就檢查當前的擁塞窗口,如果擁塞窗口比門限值Wmin小,發(fā)送端進入報文丟失發(fā)現狀態(tài)。在此狀態(tài),報文以當前傳輸速率一半的速率減緩發(fā)送(e.g.,),并且發(fā)送端每發(fā)送一個擁塞窗口的報文,傳輸速率減小一半。在報文丟失發(fā)現期間,cwnd不變,RTT估計正常更新。如圖1所示,發(fā)送端在以下情況下退出丟包發(fā)現狀態(tài):
①已有的報文注入到網絡中但仍然沒有新的ACK返回,并且重復ACK的數量小于3,即可推斷大多數的報文丟失并且發(fā)生了網絡擁塞。發(fā)送端停止向網絡注入新的報文并且等待重傳超時。
②發(fā)送端收到3個重傳ACK,說明有報文丟失,發(fā)送端退出報文丟失發(fā)現狀態(tài)開始快重傳和快恢復。
③發(fā)送端收到新的ACK,說明在網絡中沒有報文丟失和擁塞。
④重傳定時器超時。如果路徑的RTT過大,網絡中的報文增加到Wmin之前可能發(fā)生重傳定時器超時,在這種情況,發(fā)送端進入重傳超時狀態(tài)并且按與TCP相同的方法重傳丟失報文。
2.5減緩機制
基于窗口的傳輸策略具有利用ACK自時鐘的優(yōu)勢。但也有缺點,即當發(fā)送端收到大量ACK報文和以高速率發(fā)送報文時產生了峰值。這些報文會在無線信道上相互干擾,為了平滑這一峰值,減緩機制被引入到基于窗口的WXCP發(fā)送端。定義Bt為最大可容忍的峰值,WXCP發(fā)送端通過Bt為它的最大通信量整形。一般地,當可利用擁塞窗口空間為,發(fā)送端在允許范圍內盡力發(fā)送最多的報文。在WXCP中,發(fā)送端檢查Bt,如果<Bt,報文正常發(fā)送;否則,同一個擁塞窗口的報文以速率減緩發(fā)送,cwnd即為當前擁塞窗口,rtt代表上一個RTT樣本,只要減緩發(fā)送報文的應答報文中的一個被收到,減緩狀態(tài)終止,后繼報文以ACK自時鐘發(fā)送出去。
2.6參數設置
報文丟失發(fā)現門限Wmin:當擁塞窗口達到此門限,WXCP連接總是按基于窗口速率控制工作。當擁塞窗口小于此門限,WXCP連接進入報文丟失發(fā)現狀態(tài)以減少不必要的超時,設Wmin為7個報文。
減緩機制最大可容忍峰值:代表在網絡中WXCP連接能容忍的峰值,為了最小化自沖突,我門設置為2個報文。
中間結點的參數:此算法在中間結點有三個參數,α控制可用帶寬的分配,它的值在0和1之間,α值越大,WXCP利用可用帶寬的速率增加得越快。為了減少傳輸延遲,WXCP盡力在中間結點保持短的IFQ和低的自沖突,這由β和ζ控制。因此必須設置這三個參數用以平衡由于利用可用帶寬所增加的協(xié)議響應時間和IFQ排隊及自沖突所帶來的延遲時間。設α,β,ζ為0.20,0.11和67[10]。
3WXCP在AdHoc網絡中主要特點
在無線AdHoc網絡中,由于WXCP自身的特性,WXCP較TCP及其一些改進方案有許多優(yōu)點,更能適應無線AdHoc網絡的需要。
①WXCP在中間結點做了更為精確的擁塞狀況估計。通過顯式速率反饋及時調整傳輸速率,WXCP流能夠迅速收斂到平穩(wěn)并獲得良好的吞吐量,具有良好的穩(wěn)定性。
②WXCP的中間結點并不維持每個流的信息,而基于擁塞度量值和報文頭部攜帶的流信息作出擁塞控制和公平控制決定,實施將更為簡單。并且WXCP公平控制器在不同的流之間維持時間公平而不是吞吐量公平,能夠獲得更好的公平性和更高的總吞吐量。
③發(fā)送端WXCP狀態(tài)機中引入的報文丟失發(fā)現狀態(tài)和減緩機制能夠有效地處理小窗口和峰值問題。其主要利用兩個定時器,報文丟失發(fā)現定時器和減緩定時器,并根據不同的情況選擇不同的處理策略,發(fā)送端還通過為它的最大通信量整形,避免了不必要的超時,平滑了當發(fā)送端收到大量ACK報文和以高速率發(fā)送報文時產生了峰值,提高了穩(wěn)定性。
④由于無線信道存在干擾,可能會由無線信道錯誤和路由失敗造成的報文丟失錯誤地推斷出存在嚴重的自沖突,WXCP通過保持最小CWND大于或等于一個報文來處理這個問題。即便在最壞的情況下,當嚴重的無線信道錯誤產生和WXCP檢測自沖突不正確時,協(xié)議至少能以一個報文大小的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
- 上一篇:網絡模擬器NS2應用分析
- 下一篇:學校管理工作思維論文