劉俊
(深圳信息職業(yè)技術(shù)學(xué)院電子與通信學(xué)院,廣東 深圳 518172)
基于自適應(yīng)擁塞避免算法的無線TCP性能改進(jìn)研究
劉俊
(深圳信息職業(yè)技術(shù)學(xué)院電子與通信學(xué)院,廣東 深圳 518172)
針對無線環(huán)境下TCP性能惡化的問題,在研究分析一種自適應(yīng)擁塞避免算法的基礎(chǔ)上,提出一種基于該算法的無線TCP改進(jìn)機(jī)制。該機(jī)制引入擁塞丟包與誤碼丟包的判決因子,能針對無線誤碼的判斷采取更為準(zhǔn)確的發(fā)送速率調(diào)整機(jī)制,很大程度上實現(xiàn)了擁塞控制與差錯控制的分離,從而提升了無線TCP的性能改善。仿真結(jié)果表明,基于自適應(yīng)擁塞避免算法的TCP改進(jìn)機(jī)制性能得到顯著優(yōu)化。
傳輸控制協(xié)議;無線環(huán)境;擁塞窗口;擁塞避免;差錯控制
越來越多的用戶開始選擇通過手機(jī)、平板電腦、筆記本等便攜終端實現(xiàn)移動計算,獲取移動信息服務(wù)和互聯(lián)網(wǎng)接入服務(wù),多元的用戶需求日益促進(jìn)無線業(yè)務(wù)的發(fā)展,由WiFi、移動通信、衛(wèi)星通信、Ad hoc等無線技術(shù)構(gòu)筑的無線網(wǎng)絡(luò)日益成為人們?nèi)粘I畋夭豢缮俚慕M成部分。然而,與有線網(wǎng)絡(luò)相比,無線網(wǎng)絡(luò)的高誤碼率、高移動性、有限供電與有限帶寬,使得原為有線網(wǎng)絡(luò)設(shè)計的TCP協(xié)議性能惡化,其核心問題是TCP缺乏網(wǎng)絡(luò)自適應(yīng)性,不能根據(jù)網(wǎng)絡(luò)鏈路質(zhì)量的動態(tài)變化而準(zhǔn)確調(diào)整發(fā)送速率。
近年來,產(chǎn)生了一些有意義的基于參數(shù)自適應(yīng)的無線TCP改進(jìn)機(jī)制。文獻(xiàn)[1]提出根據(jù)某種特定的隊列管理模式,進(jìn)行基于參數(shù)自適應(yīng)調(diào)節(jié)的準(zhǔn)確丟包區(qū)分,并通過反饋機(jī)制影響TCP 的窗口調(diào)控;文獻(xiàn)[2]利用802.11MAC參數(shù)的可調(diào)整性和TCP控制報文的作用,提出依據(jù)TCP報文控制段采用不同的MAC傳輸參數(shù)實現(xiàn)WLAN環(huán)境的自適應(yīng)算法,以提高TCP傳輸效率;文獻(xiàn)[3]提出一種適用于TCP端對端前向糾錯的自適應(yīng)算法,能自適應(yīng)地根據(jù)網(wǎng)絡(luò)丟包率、往返時延等參數(shù)調(diào)整前向糾錯的冗余信息度,克服TCP在無線環(huán)境下的缺陷;文獻(xiàn)[4]針對Vegas無線網(wǎng)絡(luò)慢啟動過早結(jié)束和擁塞避免階段擁塞出現(xiàn)在反向鏈路上導(dǎo)致吞吐量下降的問題,提出一種改進(jìn)算法TCP Vegas-P,可進(jìn)行較準(zhǔn)確的RTT估計,提升了Vegas在無線網(wǎng)絡(luò)的性能。
本文基于文獻(xiàn)[5]的自適應(yīng)擁塞避免算法,找出無線環(huán)境下,擁塞誤碼丟包與無線誤碼丟包的判決參數(shù),并通過仿真確定參數(shù)合理取值,取得了無線TCP性能的改善。
TCP是保證網(wǎng)絡(luò)數(shù)據(jù)發(fā)送可靠性的協(xié)議,它以擁塞窗口、接收窗口、超時計時器、分組響應(yīng)應(yīng)答(ACK)等關(guān)鍵參數(shù)進(jìn)行數(shù)據(jù)傳輸?shù)目刂疲诰W(wǎng)絡(luò)通暢與網(wǎng)絡(luò)擁塞之間不斷調(diào)整發(fā)送速率。假設(shè)接收窗口不予考慮,則數(shù)據(jù)的發(fā)送速率以擁塞窗口的大小決定。
傳統(tǒng)TCP數(shù)據(jù)發(fā)送速率的調(diào)整主要分為兩個階段。第一個階段稱為慢啟動階段,每收到一個ACK,擁塞窗口即增加1個TCP段,擁塞窗口以指數(shù)增長的速度快速占用網(wǎng)絡(luò)可用帶寬,以提高網(wǎng)絡(luò)的利用率;為避免數(shù)據(jù)發(fā)送方過快的發(fā)送速度引起網(wǎng)絡(luò)擁塞的過快出現(xiàn),延緩或阻止網(wǎng)絡(luò)擁塞的出現(xiàn),在慢啟動階段結(jié)束后,進(jìn)入第二個階段擁塞避免階段,采用擁塞避免算法,采取線性的擁塞窗口增長策略,每收到一個ACK,擁塞窗口僅增長a/cwnd,即一個完整的發(fā)送窗口完成后,擁塞窗口增長a個TCP段,在標(biāo)準(zhǔn)TCP中,a固定為1,稱為加性因子;在到達(dá)網(wǎng)絡(luò)容量極限時,會根據(jù)是超時還是三次重傳而重新進(jìn)入慢啟動階段或擁塞避免階段;不斷重復(fù)以上階段構(gòu)成了TCP算法的擁塞窗口調(diào)整機(jī)制。
在擁塞避免階段,隨著擁塞窗口的增長,一直維持一個固定的加性因子顯然不符合網(wǎng)絡(luò)的實際情況,在接近網(wǎng)絡(luò)擁塞或逼近網(wǎng)絡(luò)帶寬極限時,擁塞窗口的增長應(yīng)不斷以向下的方式調(diào)整,從而避免數(shù)據(jù)發(fā)送速率(擁塞窗口)的劇烈振蕩,現(xiàn)有TCP的問題之一即在于擁塞周期過小,一定程度上引起頻繁的擁塞窗口調(diào)整,導(dǎo)致網(wǎng)絡(luò)帶寬資源的浪費(fèi)。
文獻(xiàn)[5]提出的TCP_LN算法是一種基于網(wǎng)絡(luò)鏈路動態(tài)情況的擁塞窗口自適應(yīng)算法,構(gòu)造擁塞避免階段擁塞窗口加性因子增長曲線算法如式(1)。
與傳統(tǒng)TCP擁塞避免階段剛性的擁塞窗口加性因子固定相比,該算法隨著擁塞窗口的加大,加性因子逐漸減少,反之,加性因子以較大步距增大,實現(xiàn)了加性因子自適應(yīng)算法。從而,其擁塞避免階段擁塞窗口算法如式(2)。
式中,cwnd(n)為收到第n個ACK時的擁塞窗口,cwnd(n+1)為收到第n+1個ACK時的擁塞窗口。
該算法的優(yōu)點(diǎn)是隨著網(wǎng)絡(luò)擁塞的逼近,其探測網(wǎng)絡(luò)容量余量的數(shù)據(jù)發(fā)送速率增長幅度更為柔和,避免了快速抵達(dá)網(wǎng)絡(luò)極限引起的頻繁擁塞窗口調(diào)整,擁塞周期明顯加大,并可通過β進(jìn)行調(diào)整。
文獻(xiàn)[5]仿真實踐證明,在同樣的有線條件下,選取合適的β值,TCP_LN算法較傳統(tǒng)TCP算法性能得到明顯改善。
無線網(wǎng)絡(luò)環(huán)境下,傳統(tǒng)TCP之所以難以區(qū)分誤碼丟包與擁塞丟包的關(guān)鍵原因是在現(xiàn)有擁塞窗口調(diào)整參數(shù)中,難以引入一個判斷依據(jù),實現(xiàn)針對不同丟包類型的差異化擁塞窗口調(diào)整機(jī)制,而簡單采用有線網(wǎng)絡(luò)下TCP擁塞控制機(jī)制必然導(dǎo)致無線帶寬資源的浪費(fèi)。
TCP_LN算法在有效避免有線環(huán)境下網(wǎng)絡(luò)帶寬浪費(fèi)的同時,也對無線環(huán)境下?lián)砣麃G包與誤碼丟包的區(qū)分提供了裁決機(jī)制。
在無線環(huán)境下,誤碼的原因多種多樣,誤碼率比有線環(huán)境高得多。因此,若采用傳統(tǒng)TCP算法,對待擁塞與誤碼,均啟動擁塞控制算法,會嚴(yán)重導(dǎo)致稀缺的無線帶寬資源進(jìn)一步浪費(fèi)。
若采用TCP_LN算法,引入a(x)為判斷依據(jù),如式(3)。
式中,γ取值在0~1之間,可根據(jù)實驗數(shù)據(jù)選取合理數(shù)值。為敘述方便,新的無線TCP性能改進(jìn)機(jī)制稱為TCP_LN_W。
當(dāng)a(x)處于γ以上的高位時,說明擁塞窗口還有較大增長余地,即網(wǎng)絡(luò)發(fā)生擁塞的可能性較小,若發(fā)生丟包,多因為無線鏈路誤碼造成;當(dāng)a(x)處于γ以下的低位時,說明擁塞窗口增長余地非常有限,即網(wǎng)絡(luò)發(fā)生擁塞的可能性較大,若發(fā)生丟包,多因為網(wǎng)絡(luò)帶寬耗盡造成。
針對無線誤碼丟包,不進(jìn)行擁塞窗口的調(diào)整,繼續(xù)維持發(fā)送速率現(xiàn)狀,也不調(diào)整重傳時鐘等TCP參數(shù);針對擁塞丟包,采用傳統(tǒng)TCP算法進(jìn)行擁塞窗口的調(diào)整,實現(xiàn)網(wǎng)絡(luò)性能的自愈。
TCP_LN_W避免了傳統(tǒng)TCP無法區(qū)分網(wǎng)絡(luò)擁塞丟包與無線誤碼丟包的嚴(yán)重缺陷,能實現(xiàn)無線環(huán)境下的TCP性能改進(jìn)。
TCP_LN_W具體算法描述如下:
(1)慢啟動階段采用傳統(tǒng)TCP指數(shù)增長算法,若發(fā)生丟包,僅重傳丟包數(shù)據(jù),不調(diào)整擁塞窗口與重傳定時器等參數(shù);
(2)擁塞避免階段,首先進(jìn)行a(x)的計算,并進(jìn)行如下判斷:
①a(x)≥γ,若發(fā)生丟包,僅重傳丟包數(shù)據(jù),不調(diào)整擁塞窗口與重傳定時器等參數(shù)。
②a(x)<γ,若發(fā)生丟包,采用傳統(tǒng)TCP擁塞控制算法。
采用NS2[6]進(jìn)行算法仿真與性能驗證。構(gòu)造誤碼率分別為5%和10%的無線鏈路,在該無線鏈路上考察傳統(tǒng)TCP與TCP_LN_W的性能。
3.1 擁塞窗口對比分析
TCP_LN_W的核心是改善傳統(tǒng)TCP在無線誤碼環(huán)境下對網(wǎng)絡(luò)情況誤判導(dǎo)致的發(fā)送速率過于頻繁的抖動。圖1、圖2顯示,在不同的誤碼環(huán)境下,傳統(tǒng)TCP發(fā)送窗口呈現(xiàn)頻繁抖動,平均發(fā)送速率受到嚴(yán)重影響,而TCP_LN_W的發(fā)送速率調(diào)整明顯少于傳統(tǒng)TCP,說明因誤碼丟報而導(dǎo)致的發(fā)送速率調(diào)整得到有效改善。
圖1 誤碼率為5%下的擁塞窗口比較Fig.1 The congestion window comparison of BER 5%
圖2進(jìn)一步說明,隨著誤碼環(huán)境的惡化,TCP_ LN_W發(fā)送窗口呈現(xiàn)更明顯的優(yōu)勢,擁塞窗口的調(diào)整更多是由于網(wǎng)絡(luò)擁塞而導(dǎo)致,而避免了傳統(tǒng)所有的誤碼丟包均啟動擁塞控制的問題。
圖2 誤碼率為10%下的擁塞窗口比較Fig.2 The congestion window comparison of BER 10%
3.2 吞吐量對比分析
吞吐量比較仿真結(jié)果如圖3、圖4。
圖3 誤碼率為5%下的吞吐量性能比較Fig.3 The throughput performance comparison of BER 5%
圖4 誤碼率為10%下的吞吐量性能比較Fig.4 The throughput performance comparison of BER 10%
從圖3、圖4中可看出,無論在哪種誤碼環(huán)境中,與傳統(tǒng)TCP相比,TCP_LN_W吞吐量性能均獲得明顯改善。在誤碼率為5%的誤碼環(huán)境中,TCP_ LN_W吞吐量得到7%左右的提升,而在誤碼率為10%的誤碼環(huán)境中,TCP_LN_W吞吐量得到18%左右的提升。顯然,TCP_LN_W避免了大量的誤碼誤判,很大程度上實現(xiàn)了擁塞丟包與誤碼丟包的區(qū)分,從而能分別采取擁塞控制與差錯控制,仿真結(jié)果與本文第二部分的理論分析相符。
TCP_LN_W算法基于自適應(yīng)擁塞避免算法,引入判決因子γ,通過判決因子的變化很大程度上實現(xiàn)了無線誤碼環(huán)境下傳統(tǒng)TCP的性能改善,建立了擁塞丟包與誤碼丟包的裁決機(jī)制。仿真結(jié)果表明,該算法有效避免了傳統(tǒng)TCP因丟包誤判斷而導(dǎo)致發(fā)送窗口過于頻繁的調(diào)整,提升了無線環(huán)境的數(shù)據(jù)傳輸吞吐量。
References)
[1]葉進(jìn),王建新,龔皓.無線/有線網(wǎng)絡(luò)中基于自適應(yīng)丟包區(qū)分的TCP 改進(jìn)[J].通信學(xué)報,2007,28(5):5-21.YE Jin,WANG Jian-xin,GONG Hao.Improved TCP based on adaptive loss differentiation algorithm over wiredwireless networks.Journal on Communications,2007,28(5):5-21.(in Chinese)
[2]謝紅剛,易本順.一種基于TCP控制報文的MAC層自適應(yīng)算法[J].計算機(jī)應(yīng)用,2008,28(1):39-41.XIE Hong-gang,YI Ben-shun.MAC-layer adaptation algorithm based on TCP control segment for wireless LANs.Computer Applications,2008,28(1):39-41.(in Chinese)
[3]王建忠,唐紅.自適應(yīng)前向糾錯增強(qiáng)TCP在無線鏈路上性能研究[J].計算機(jī)應(yīng)用,2008,28(10):2597-2599.WANG Jian-zhong,TANG Hong.Research on improving TCP performance over wireless links by adaptive FEC.Computer Applications,2008,28(10):2597-2599.(in Chinese)
[4]李鵬,陳元琰,羅曉曙.無線異構(gòu)網(wǎng)絡(luò)環(huán)境中基于擁塞狀態(tài)區(qū)分的TCP Vegas改進(jìn)算法[J].計算機(jī)應(yīng)用,2010,30(2):309-311.LI Peng,CHEN Yuan-yan,LUO Xiao-shu.TCP Vegas-P:Enhanced TCP Vegas congestion control algorithm based on congestion status differentiation over wireless heterogeneous network.Computer Applications,2010,30(2):309-311.(in Chinese)
[5]劉俊.擁塞窗口自適應(yīng)的TCP擁塞避免算法[J].計算機(jī)應(yīng)用,2011,31(6):1472-1475.LIU Jun.TCP congestion avoidance algorithm based on adaptive congestion window.Computer Applications,2011,31(6):1472-1475.(in Chinese)
[6]Nsnam Sourceforge Project.The Network Simlator2[EB/OL].[2010-12-10].http://nsnam.isi.edu/nanam/.
The research on wireless TCP performance improvement based on adaptive congestion avoidance algorithm
LIU Jun
(Dept.of Electronics and Communications Technology,Shenzhen Institute of Information Technology,Shenzhen P.R.China.518172)
According to the TCP performance deterioration problems in the wireless environment,an adaptive congestion avoidance algorithm is researched and a wireless TCP improvement mechanism is put forward.The mechanism introduces a judgment factor of congestion packet loss and wireless packet loss,takes more accurate transmission rate adjustment mechanism according the wireless error judgment,realizes the separation of congestion control and error control,thereby enhances the performance of wireless TCP.The simulation results show that TCP improvement mechanism performance based on adaptive congestion avoidance was significantly optimization.
TCP;wireless environment;CWND;congestion avoidance;error control
TN925.93
:A
1672-6332(2014)03-0008-04
【責(zé)任編輯:高潮】
2014-09-08
劉俊(1969-),男(漢),湖南邵陽人,通信教授。主要研究方向:計算機(jī)網(wǎng)絡(luò)、無線通信。E-mail:liuj@sziit.com.cn
深圳信息職業(yè)技術(shù)學(xué)院學(xué)報2014年3期