鮮永菊,王 宇 ,畢元梅
(1.重慶大學(xué),重慶 400065;2.重慶郵電大學(xué) 通信與信息工程學(xué)院 移動(dòng)通信重點(diǎn)實(shí)驗(yàn)室,重慶400065)
目前,國(guó)內(nèi)外的許多研究者致力于異構(gòu)網(wǎng)絡(luò)下TCP性能增強(qiáng)的研究,提出了各種改進(jìn)機(jī)制[1-5]。然而,隨著網(wǎng)絡(luò)的發(fā)展,通信環(huán)境在不斷變化。已有的大多數(shù)改進(jìn)機(jī)制都是為了解決不同情況下的性能下降問題,其結(jié)果也只是針對(duì)某一特殊的網(wǎng)絡(luò)環(huán)境進(jìn)行了優(yōu)化,目前仍未得到公認(rèn)的解決方案。
隨著無線通信的發(fā)展,網(wǎng)絡(luò)已經(jīng)不再局限于使用傳統(tǒng)TCP協(xié)議的有線、單一同構(gòu)網(wǎng)絡(luò)了,而是呈現(xiàn)高度異構(gòu)化的趨勢(shì),這給TCP帶來了新的挑戰(zhàn)。由于異構(gòu)網(wǎng)絡(luò)中TCP性能增強(qiáng)的重要性和緊迫性,出現(xiàn)了很多不同的TCP增強(qiáng)方案。如:針對(duì)隨機(jī)丟包的Westwood[6];基于RTT測(cè)量的 Vegas[7];針對(duì)大帶寬的高速 TCP(Highspeed)[8]等等。然而,由于通信環(huán)境的不斷變化,沒有一個(gè)完整的方案可以很好地適用于不同特性的網(wǎng)絡(luò)。
因此,本文從提高TCP整體性能出發(fā),設(shè)計(jì)一種新的TCP選擇方案,其目的在于:在傳輸層,通過在同一個(gè)服務(wù)器上使用不同的TCP擁塞控制算法,實(shí)現(xiàn)與實(shí)際的鏈路質(zhì)量的匹配,根據(jù)鏈路類型來調(diào)用與之相適應(yīng)的擁塞控制機(jī)制。
顯式鏈路信息獲取方案的設(shè)計(jì)如圖1所示。
發(fā)送端進(jìn)行TCP擁塞控制算法選擇標(biāo)準(zhǔn)如下:
當(dāng) Link type為fast類型時(shí),如果調(diào)用傳統(tǒng) TCP,則有兩種情況:一是每個(gè)TCP連接遇到丟包后窗口減半,然后再恢復(fù)至最大窗口的周期非常長(zhǎng)。因?yàn)榫蛦蝹€(gè)TCP連接而言,其窗口變化規(guī)律大致可用一條呈鋸齒形振蕩的三角波來描述,它的周期和連接回路的往返時(shí)間及窗口大小相關(guān)。二是對(duì)于快速網(wǎng)絡(luò)來說,傳統(tǒng)TCP窗口增加慢,當(dāng)擁塞發(fā)生時(shí),窗口急劇減小,這就導(dǎo)致了大擁塞窗口在擁塞發(fā)生后恢復(fù)慢,限制了獲取空閑帶寬的能力,鏈路則在相當(dāng)長(zhǎng)一段時(shí)間內(nèi)利用率低。因此,應(yīng)采用一種適合快速鏈路的TCP擁塞控制算法,可考慮Highspeed及其改進(jìn)算法。
用流程圖表示Link type判斷過程如圖2所示。
圖1 顯式鏈路信息獲取方案的設(shè)計(jì)流程圖
拓?fù)浣Y(jié)構(gòu)如圖3所示。send節(jié)點(diǎn)為TCP數(shù)據(jù)流發(fā)送方,receive節(jié)點(diǎn)為TCP數(shù)據(jù)流接收方。TCP連接從0時(shí)刻開始,仿真時(shí)間是 60 s。TCP數(shù)據(jù)流在 0~20 s時(shí)間內(nèi)由發(fā)送端 send經(jīng)網(wǎng)絡(luò) 1中的 R1、R2、R3節(jié)點(diǎn)到達(dá)接收端receive。在 20 s時(shí)進(jìn)行垂直切換,20~40 s內(nèi)由發(fā)送節(jié)點(diǎn)send經(jīng)網(wǎng)絡(luò)2中的R5、R6、R7節(jié)點(diǎn)到達(dá)接收端receive。40 s時(shí)又切換到網(wǎng)絡(luò) 1,在 40~60 s內(nèi)由 send節(jié)點(diǎn)經(jīng) R1、R2、R3節(jié)點(diǎn)到達(dá)接收端receive;60 s時(shí)仿真結(jié)束。在整個(gè)仿真階段,設(shè)定傳送封包的大小為1 000 B,擁塞窗口的最大值
圖2 Link type判斷流程圖
當(dāng) Link type為 satellite類型時(shí),如果采用傳統(tǒng) TCP,一是較大的傳輸時(shí)延會(huì)減緩擁塞窗口增長(zhǎng)的速度。在慢啟動(dòng)期間,用戶必須等待一個(gè)往返時(shí)延收到后才能發(fā)出新的數(shù)據(jù)包,帶來比較明顯的效率下降。較大的時(shí)延變化量也會(huì)干擾對(duì)RTT的估計(jì),從而影響TCP的定時(shí)機(jī)制,帶來不必要的超時(shí)重傳,進(jìn)而錯(cuò)誤地改變發(fā)送窗口的大小,降低帶寬利用率。二是衛(wèi)星鏈路由于受到天氣狀態(tài)、多徑效應(yīng)、陰影效應(yīng)等影響,誤碼率大大提高,而傳統(tǒng)TCP不會(huì)區(qū)分?jǐn)?shù)據(jù)包丟失是由于傳輸錯(cuò)誤還是由于擁塞造成的,丟包原因都被解釋成網(wǎng)絡(luò)擁塞。當(dāng)接收到一個(gè)損壞的數(shù)據(jù)包時(shí),即使沒有擁塞發(fā)生,窗口的大小也隨即變?yōu)樵瓉淼囊话?,容易造成誤判,對(duì)衛(wèi)星鏈路TCP性能產(chǎn)生很大的影響。因此,應(yīng)采用適合衛(wèi)星鏈路的TCP擁塞控制算法,可考慮Vegas及其改進(jìn)算法。
當(dāng)Link type為wireless類型時(shí),如果將傳統(tǒng)的基于有線環(huán)境的TCP技術(shù)應(yīng)用于無線環(huán)境,則會(huì)造成大幅度的性能減退。在無線環(huán)境中,丟包的原因不再是唯一的,它可能是由擁塞引起,也可能是由無線鏈路錯(cuò)誤引起。因此無線網(wǎng)絡(luò)中如何有效區(qū)分丟包原因并據(jù)此做出正確反應(yīng)成為提高無線網(wǎng)絡(luò)TCP性能的關(guān)鍵。在這種鏈路環(huán)境下,本文考慮調(diào)用適合無線鏈路的TCP擁塞控制算法,具代表性的有Westwood及其他改進(jìn)算法。
當(dāng)Link type為wired類型時(shí),傳統(tǒng)的 TCP最初就是面向這種網(wǎng)絡(luò)環(huán)境而設(shè)計(jì)的,所以采用的前提假設(shè)也反映了這種網(wǎng)絡(luò)承載的特點(diǎn),假定報(bào)文丟失是由于網(wǎng)絡(luò)擁塞引起的。因此,可以沿用適合有線鏈路的TCP擁塞控制算法,通常采用NewReno。
本文利用NS2[9]仿真軟件,結(jié)合提出的新方案,對(duì)基于鏈路選擇的改進(jìn)TCP機(jī)制TCP-selective的性能進(jìn)行仿真分析,將其與傳統(tǒng)的單一TCP擁塞控制算法用于所有鏈路的方式進(jìn)行對(duì)比。為10 000。采樣間隔為 0.3 s。仿真實(shí)驗(yàn)中,將改進(jìn)的擁塞控制方案與原來采取單一擁塞控制的方案進(jìn)行仿真比較。
網(wǎng) 絡(luò) 1 參 數(shù) :RTT=30 ms,BW=300 MB,PER=8×10-4; 網(wǎng)絡(luò) 2 參數(shù):RTT=10 ms,BW=1 GB,PER=1×10-4。由于網(wǎng)絡(luò) 1誤包率較高,考慮采用 Westwood,網(wǎng)絡(luò)2帶寬很大,考慮采用Highspeed。圖 中 ,v 表 示 Vegas,h 表 示 Highspeed,s 表 示 Selective,cwnd表示擁塞窗口,goodput表示接收端累積吞吐量。
分析:從圖4來看,Westwood用于誤包率較大的網(wǎng)絡(luò)1時(shí)擁塞窗口性能良好,而在圖5中,由于Highspeed對(duì)誤包率很敏感,擁塞窗口下降非常大,性能受到嚴(yán)重影響,以至后面的仿真時(shí)間里擁塞窗口幾乎為0。但是通過圖6,采用新的TCP-selective,在網(wǎng)絡(luò)1時(shí)采用Westwood,進(jìn)入網(wǎng)絡(luò) 2后,則采用 Highspeed。通過圖7的比較,不難發(fā)現(xiàn)盡管在從網(wǎng)絡(luò)1切換到網(wǎng)絡(luò)2時(shí),擁塞窗口性能比Westwood稍差,但是由于Highspeed在用于誤包率低的高速網(wǎng)絡(luò)2非常適合,平均擁塞窗口上升非常大。同時(shí),又避免了Highspeed在用于誤包率較高的網(wǎng)絡(luò)1時(shí)出現(xiàn)的嚴(yán)重性能下降。
從表1中可以看出,在此異構(gòu)網(wǎng)絡(luò)情況下,由于網(wǎng)絡(luò)1誤包率較高,使得Highspeed發(fā)送數(shù)據(jù)包很小,而采用Westwood雖然可以提高發(fā)送數(shù)據(jù)包數(shù),但丟包率也增加到了35%。而如果采用新方案selective,則不但發(fā)送數(shù)據(jù)包增加了,網(wǎng)絡(luò)利用率增大,而且丟包率也減小到了0.23%,性能得到了明顯改進(jìn)。
表1 丟包數(shù)、丟包率比較
分析:對(duì)比圖8和圖9可以看出,Westwood的接收端吞吐量高于Highspeed,這是因?yàn)閃estwood是基于帶寬估計(jì)的擁塞控制機(jī)制,受誤包率影響較小,而Highspeed在誤包率高的網(wǎng)絡(luò)環(huán)境下性能會(huì)變得非常差。而在圖10中,Highspeed在誤包率較低的網(wǎng)絡(luò)2下又獲得了比Westwood更好的吞吐量性能。從圖11中,可以清楚地看到,新方案TCP-selective從20 s進(jìn)入網(wǎng)絡(luò)2直到60 s仿真結(jié)束,接收端吞吐量性能有了2倍左右的提高。
本文重點(diǎn)研究了異構(gòu)網(wǎng)絡(luò)下基于鏈路選擇的TCP性能增強(qiáng)問題。
為了克服傳統(tǒng)TCP方案,本文提出了一種基于鏈路選擇的改進(jìn)TCP機(jī)制TCP-selective,通過在IP報(bào)文頭里面添加Link type選項(xiàng)的方法,利用路由器記錄鏈路類型信息。接收端對(duì)鏈路類型進(jìn)行判斷,并通知發(fā)送端,然后發(fā)送端根據(jù)Link type選擇合適的TCP版本,通過這種可選擇的方法,滿足不同鏈路特性的需要,從而提高異構(gòu)網(wǎng)絡(luò)下TCP的整體性能。
本文通過NS仿真軟件搭建了2種不同的網(wǎng)絡(luò)場(chǎng)景,對(duì)這種可選擇新方案的性能進(jìn)行了分析。結(jié)果表明,采用基于鏈路選擇的改進(jìn)TCP方案和原有的單一TCP版本相比,丟包率下降,減少了擁塞,吞吐量提高了,結(jié)果表明改進(jìn)方案獲得了更好的性能。
[1]QU Da Peng,XUE Jian Sheng,FAN Tie Sheng.A new way based on relative forward delay to improve TCP performance over heterogeneous networks[C].Wireless Communications,Networking and Mobile Computing,2007:1821-1824.
[2]LIN Cui,KOH S J,XIN Cui,YONG Jin Kim.Adaptive increase and adaptive decrease algorithm for wireless TCP[J].Natural Computation,2007(2):392-398.
[3]FERGNANI F,MAZZINI G.Transparent TCP improvement over satellite links[C].Software,Telecommunications and Computer Networks,2007:1-5.
[4]FEI Peng,ALNUWEIRI H,LEUNG V C M.A novel flow control scheme for improving TCP fairness and throughput over heterogeneous networks with wired and wireless links[J].Communications,2005(5):3565-3569.
[5]ROJAS O R,OTHMAN J B.A solution to improve the TCP performance in the presence of handoffs in wireless IP networks[C].Autonomic and Autonomous Systems and International Conference on Networking and Services,2005:13-14.
[6]CASETTI C,GERLA M,MASCOLO S.TCP westwood:End-to-end congestion control for wired/wireless networks[J].Wireless Networks,2002,8(5):467-479.
[7]BRAKMO L,PETERSON L.TCP Vegas:End-to-End Congestion Control in a Global Internet[J].IEEE Journal on Selected Areas in Communications,1999,53(8):1465-1480.
[8]FLOYD S.HighSpeed TCP for large congestion windows[S].IETF RFC 3649,Dec.2003.
[9]FALL K,VARADHAN K.The ns Manual[M].2000.