王志明 曾孝平 劉 學(xué) 陳 禮 郭博文
?
一種異構(gòu)網(wǎng)絡(luò)TCP擁塞控制算法
王志明*曾孝平 劉 學(xué) 陳 禮 郭博文
(重慶大學(xué)通信工程學(xué)院 重慶 400044)
針對(duì)互聯(lián)網(wǎng)中端對(duì)端帶寬、時(shí)延和丟包率等的差異性日益加劇,導(dǎo)致TCP傳輸性能?chē)?yán)重退化,該文提出一種鏈路自適應(yīng)TCP擁塞控制算法(INVS)。INVS在擁塞避免階段初期采用基于指數(shù)函數(shù)的凸窗口增長(zhǎng)函數(shù),以提高鏈路利用率;在窗口增長(zhǎng)函數(shù)中引入了自適應(yīng)增長(zhǎng)因子實(shí)現(xiàn)窗口增長(zhǎng)速率與鏈路狀態(tài)相匹配;采用了自適應(yīng)隊(duì)列門(mén)限的丟包區(qū)分策略以提高無(wú)線(xiàn)環(huán)境下TCP的性能。性能分析和評(píng)估表明,INVS提高了TCP擁塞控制算法的吞吐量、公平性、鏈路利用率和RTT公平性。
異構(gòu)網(wǎng);傳輸控制協(xié)議;擁塞控制;時(shí)延帶寬積
1 引言
隨著通信技術(shù)的發(fā)展和普及,傳統(tǒng)的通信網(wǎng)絡(luò)已發(fā)展成為包含有線(xiàn)網(wǎng)絡(luò)、無(wú)線(xiàn)網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)等多種IP網(wǎng)絡(luò)的全球異構(gòu)互聯(lián)網(wǎng)[1]。高速光鏈路、衛(wèi)星長(zhǎng)時(shí)延鏈路和各種無(wú)線(xiàn)鏈路的共存使得鏈路帶寬在無(wú)線(xiàn)鏈路中比較稀缺,在光纖鏈路中非常充足;端對(duì)端往返時(shí)延(Round Trip Time, RTT)在有線(xiàn)網(wǎng)絡(luò)中小到甚至低于1 ms,在衛(wèi)星網(wǎng)絡(luò)中大到甚至超過(guò)1 s;鏈路丟包率在光纖鏈路上可能低于,在無(wú)線(xiàn)鏈路上則可能高于1%[2]。簡(jiǎn)言之,互聯(lián)網(wǎng)中端對(duì)端帶寬、RTT和丟包率的差異很大,這也是其異構(gòu)性的具體體現(xiàn)。TCP在盡力交付的IP網(wǎng)絡(luò)中為上層業(yè)務(wù)提供可靠的端到端傳輸服務(wù),承載著約90%的互聯(lián)網(wǎng)流量。然而,隨著互聯(lián)網(wǎng)異構(gòu)性的增加,TCP協(xié)議的傳輸性能面臨嚴(yán)峻挑戰(zhàn)[2]。目前,網(wǎng)絡(luò)異構(gòu)性已成為互聯(lián)網(wǎng)擁塞控制研究的熱點(diǎn)。
目前已經(jīng)有大量針對(duì)異構(gòu)性的網(wǎng)絡(luò)擁塞控制算法研究,但大多數(shù)只針對(duì)異構(gòu)性某一方面或需要網(wǎng)絡(luò)輔助。如針對(duì)RTT差異性造成的公平性問(wèn)題,文獻(xiàn)[3]提出了Hybla,大大改善了RTT公平性,但在高速鏈路和高隨機(jī)丟包鏈路上Hybla卻不能充分利用網(wǎng)絡(luò)帶寬。針對(duì)帶寬和RTT的差異性造成傳統(tǒng)TCP在高速和大時(shí)延,即大時(shí)延帶寬積(Bandwidth-Delay Product, BDP)[4],網(wǎng)絡(luò)中不能充分利用帶寬的改進(jìn)算法有HS-TCP, STCP, Illinois, CUBIC和Compound TCP(CTCP)等,其中CUBIC和CTCP已經(jīng)在互聯(lián)網(wǎng)上廣泛部署使用。然而,這些算法不適用于隨機(jī)丟包率高的無(wú)線(xiàn)鏈路,同時(shí)也存在公平性問(wèn)題。如CUBIC, STCP和HS-TCP等在與TCP Reno共享鏈路時(shí),存在嚴(yán)重的公平性問(wèn)題[7];CTCP與CUBIC等算法共享鏈路時(shí),不足以競(jìng)爭(zhēng)到公平的帶寬資源[7]。文獻(xiàn)[8]提出了基于時(shí)延和丟包率的擁塞控制方法,其以丟包率作為衡量擁塞的指標(biāo),但這種方法在有隨機(jī)丟包的無(wú)線(xiàn)網(wǎng)絡(luò)中易造成誤判。其次,由于LTE和WIFI等網(wǎng)絡(luò)的無(wú)線(xiàn)鏈路丟包率遠(yuǎn)高于光纖鏈路,特別是3G網(wǎng)絡(luò)無(wú)線(xiàn)鏈路在信號(hào)較好時(shí)丟包都高達(dá)1%,手機(jī)、平板等無(wú)線(xiàn)設(shè)備的TCP協(xié)議(大多數(shù)默認(rèn)采用CUBIC)傳輸效率遭受?chē)?yán)重影響[9,10]。針對(duì)丟包率的差異性,如無(wú)線(xiàn)鏈路丟包造成TCP性能退化的問(wèn)題[4],目前改進(jìn)算法有Veno, JTCP, Westwood等,這些算法采用固定隊(duì)列長(zhǎng)度或者時(shí)延來(lái)區(qū)分擁塞丟包和非擁塞丟包[4]。然而,隨著鏈路緩存大小差異性的增加[11,12],采用固定隊(duì)列(或時(shí)延)門(mén)限區(qū)分丟包方法的準(zhǔn)確性日趨下降。此外,也有一些算法采用了特殊策略,如PEPsal和indirect-TCP將TCP連接分成幾段以屏蔽無(wú)線(xiàn)鏈路丟包對(duì)TCP性能的影響[4];TCP-Jersey采用路由輔助的顯式擁塞通告策略判定丟包類(lèi)型[4];網(wǎng)絡(luò)編碼TCP通過(guò)對(duì)數(shù)據(jù)包進(jìn)行編碼抵抗隨機(jī)丟包[4]。由于部署應(yīng)用對(duì)網(wǎng)絡(luò)的特殊要求,這些特殊策略難以在互聯(lián)網(wǎng)上被廣泛使用。
在同時(shí)考慮帶寬、時(shí)延和丟包差異性方面,文獻(xiàn)[13]提出了一種根據(jù)鏈路類(lèi)型選擇對(duì)應(yīng)擁塞控制算法的策略,即衛(wèi)星鏈路用Vegas,無(wú)線(xiàn)鏈路用Westwood、高速鏈路用HS-TCP和一般鏈路用NewReno。由于其鏈路信息的獲取需要中繼路由器將鏈路類(lèi)型加入IP報(bào)文,在互聯(lián)網(wǎng)上部署應(yīng)用的非常困難。文獻(xiàn)[14]基于時(shí)延抖動(dòng)將網(wǎng)絡(luò)擁塞分為5級(jí)以區(qū)分鏈路丟包、一般擁塞和嚴(yán)重?fù)砣?。由于TCP BRJ (enhanced TCP congestion control based on Bandwidth estimation and RTT Jitter for heterogeneous networks)完全依賴(lài)于時(shí)延抖動(dòng),在異構(gòu)網(wǎng)絡(luò)中不同鏈路的時(shí)延抖動(dòng)差別很大,采用固定時(shí)延抖動(dòng)分級(jí)的可靠性尚待驗(yàn)證。因此,本文提出一種鏈路自適應(yīng)TCP擁塞控制算法(INVerse Sigmoid, INVS),能夠根據(jù)鏈路自適應(yīng)調(diào)整窗口增長(zhǎng)速率和退避策略,避免TCP由于不同鏈路帶寬和時(shí)延的差異性以及高無(wú)線(xiàn)鏈路丟包造成TCP傳輸性能退化。此外,INVS只需修改發(fā)端協(xié)議,易于在互聯(lián)網(wǎng)上逐步部署應(yīng)用。
2 新的擁塞控制算法
為實(shí)現(xiàn)擁塞控制策略與鏈路狀態(tài)相匹配以取得較好的利用率和公平性,INVS采用基于指數(shù)函數(shù)的自適應(yīng)窗口增長(zhǎng)函數(shù),并引入了自適應(yīng)隊(duì)列門(mén)限的丟包區(qū)分策略。
2.1 擁塞窗口增長(zhǎng)函數(shù)
首先,為了保證在大BDP網(wǎng)絡(luò)中的傳輸效率,INVS在擁塞避免階段(Congestion Avoidance Phase, CAP)初期采用基于指數(shù)函數(shù)的凸窗口增長(zhǎng)函數(shù),在探測(cè)網(wǎng)絡(luò)階段采用凹窗口增長(zhǎng)函數(shù)?;谥笖?shù)函數(shù)的凸窗口增長(zhǎng)函數(shù)允許TCP發(fā)送端在CAP初期快速增長(zhǎng)擁塞窗口以盡快充分利用帶寬,當(dāng)接近擁塞時(shí)緩慢增長(zhǎng)窗口(如圖1)。擁塞避免階段初期時(shí)刻的窗口為
圖1 凸窗口增長(zhǎng)函數(shù)
在實(shí)際操作中,擁塞控制算法每收到一個(gè)ACK,更新一次擁塞窗口。INVS采用如下?lián)砣翱诟虏呗?,?shí)現(xiàn)在CAP初期按凸函數(shù)增長(zhǎng)擁塞窗口和在探測(cè)階段按凹函數(shù)增長(zhǎng)窗口及其過(guò)度。
其中,cwnd為擁塞窗口大小。為一個(gè)自適應(yīng)增長(zhǎng)因子,與式(1)中的關(guān)系為。
式(2)第1個(gè)表達(dá)式實(shí)現(xiàn)式中的凸函數(shù)增長(zhǎng)過(guò)程;第2個(gè)表達(dá)式實(shí)現(xiàn)到達(dá)飽和點(diǎn)后的帶寬探測(cè)過(guò)程;最后一個(gè)表達(dá)式實(shí)現(xiàn)凸函數(shù)增長(zhǎng)階段到網(wǎng)絡(luò)探測(cè)階段的過(guò)度。根據(jù)式(2), INVS在CAP開(kāi)始時(shí),快速增加cwnd,當(dāng)cwnd接近飽和點(diǎn)(cwndsp)時(shí)逐漸減慢;當(dāng)cwnd超過(guò)飽和點(diǎn)時(shí),逐漸加速探測(cè)帶寬。飽和點(diǎn)(cwndsp)為帶寬已充分利用時(shí)的窗口值。換言之,如果發(fā)送端繼續(xù)增大擁塞窗口,將可能發(fā)生擁塞;否則說(shuō)明仍有可用帶寬。
式(2)保證了在給定鏈路狀態(tài)下TCP的傳輸效率。在異構(gòu)的互聯(lián)網(wǎng)中,TCP業(yè)務(wù)流既可能由高速光纖鏈路承載,也可能由低速無(wú)線(xiàn)鏈路或大時(shí)延的洲際鏈路承載。然而,現(xiàn)有大多數(shù)TCP擁塞控制算法的窗口增長(zhǎng)策略獨(dú)立于鏈路狀態(tài),使得在高速和大時(shí)延等大BDP網(wǎng)絡(luò)中,擁塞窗口增長(zhǎng)耗時(shí)長(zhǎng),不能充分利用鏈路帶寬;在低速小時(shí)延網(wǎng)絡(luò)中,窗口增長(zhǎng)過(guò)快,導(dǎo)致網(wǎng)絡(luò)頻繁擁塞。INVS引入了自適應(yīng)增長(zhǎng)因子,實(shí)現(xiàn)在大BDP網(wǎng)絡(luò)中以較快的速率增加窗口,在低速小時(shí)延網(wǎng)絡(luò)中以較小的速率增加窗口,即窗口增長(zhǎng)速率與鏈路狀態(tài)相匹配。圖1給出了采用基于指數(shù)函數(shù)的凸窗口增長(zhǎng)函數(shù)與采用三次方函數(shù)(CUBIC)的對(duì)比。圖中INVS(1), INVS(2)和INVS(3)分別為采用不同參數(shù)的窗口增長(zhǎng)過(guò)程函數(shù)。對(duì)比INVS(1)和CUBIC可以看出,在增長(zhǎng)階段耗時(shí)相同時(shí),采用基于指數(shù)函數(shù)的凸窗口函數(shù)效率更高。從圖中可以看出,增大因子,采用指數(shù)函數(shù)可使得TCP擁塞周期變長(zhǎng),而且會(huì)較長(zhǎng)時(shí)間處于接近飽和狀態(tài),這既可以避免頻繁擁塞,又保障傳輸效率。
鏈路狀態(tài)參數(shù)主要有端對(duì)端帶寬、RTT和丟包率。對(duì)于鏈路(隨機(jī))丟包,INVS采用改進(jìn)的丟包區(qū)分策略避免無(wú)線(xiàn)鏈路丟包造成不必要的擁塞退避。因此,為實(shí)現(xiàn)因子根據(jù)鏈路自適應(yīng)調(diào)整,取為鏈路帶寬和最小RTT的函數(shù),如式(3)。其中采用對(duì)數(shù)函數(shù)實(shí)現(xiàn)將帶寬和RTT的大范圍變化轉(zhuǎn)化為較小范圍的變化,使得可作為調(diào)節(jié)增長(zhǎng)速率的比例因子。在不同鏈路上,INVS能夠通過(guò)因子獲得與其鏈路帶寬和RTT相匹配的窗口增長(zhǎng)速率。
從式(3)可以看出,隨著帶寬或RTT的增大而減小。帶寬或者RTT的增大會(huì)導(dǎo)致網(wǎng)絡(luò)BDP的增加,即允許更多的報(bào)文同時(shí)在網(wǎng)絡(luò)中傳輸。為了更有效充分利用網(wǎng)絡(luò)資源,每收到一個(gè)ACK, cwnd增加量隨著網(wǎng)絡(luò)BDP的增大而增大,結(jié)合式(2)即應(yīng)減小。因此,在式(3)中,當(dāng)BDP增大時(shí),減小。當(dāng)BWest>BWref且RTTmin>RTTref,恒為。這時(shí)由于窗口增長(zhǎng)速率已經(jīng)很快,即使帶寬和RTT增大,也不再減小。
其次,帶寬增加和時(shí)延增加都會(huì)導(dǎo)致BDP增加,但RTT增大也會(huì)導(dǎo)致接收到網(wǎng)絡(luò)擁塞信息反饋的時(shí)延增加,擁塞信息延遲會(huì)造成加劇每一次擁塞的程度,導(dǎo)致更多的丟包。因此,INVS在式(3)中引入了因子(默認(rèn)為0.75)來(lái)降低RTT增大的不利影響。越小,RTT增大的不利影響越小。
此外,由于在小時(shí)延帶寬網(wǎng)絡(luò)中,會(huì)很大,使得擁塞窗口的增長(zhǎng)速率與TCP Reno接近,甚至?xí)∮赥CP Reno。因此,為保證與TCP Reno的友好性,當(dāng)INVS的增長(zhǎng)速率小于TCP Reno時(shí),INVS使用TCP Reno的窗口值。TCP Reno的擁塞窗口表示為
其中,是CAP開(kāi)始的時(shí)間。
2.2 丟包響應(yīng)及丟包區(qū)分策略
在收到3個(gè)重復(fù)ACK時(shí),TCP會(huì)執(zhí)行擁塞退避策略。針對(duì)不同類(lèi)型的丟包,INVS按照式(5)確定新的cwnd, ssthresh和cwndsp:
在丟包區(qū)分策略中,由于不同鏈路緩存大小差異大,為避免與固定門(mén)限值相比較造成誤判,INVS以min(, maxbuffer)作為新的隊(duì)列門(mén)限值來(lái)區(qū)分擁塞丟包和非擁塞丟包。maxbuffer用于確保丟包分類(lèi)方法在小緩存鏈路上能正確判定擁塞,如式(5)所示。當(dāng)收到3個(gè)重復(fù)ACK,且當(dāng)前隊(duì)列長(zhǎng)度大于min(, maxbuffer),則判定當(dāng)前丟包由擁塞引起,并采用傳統(tǒng)的退避機(jī)制;否則,判為丟包屬于非擁塞丟包。cwnd和ssthresh的值設(shè)為BDPest和cwnd的最小值。
當(dāng)有新數(shù)據(jù)流的加入或數(shù)據(jù)傳輸終止時(shí),鏈路帶寬等會(huì)發(fā)生變化。cwndsp用于跟蹤網(wǎng)絡(luò)飽和時(shí)的cwnd。當(dāng)丟包發(fā)生時(shí),cwnd 3 性能分析 3.1 INVS的穩(wěn)態(tài)吞吐量 TCP穩(wěn)態(tài)吞吐量建模分析基于TCP的長(zhǎng)時(shí)間傳輸、不考慮慢啟動(dòng)階段和超時(shí)的情況,通過(guò)分析擁塞避免階段和發(fā)現(xiàn)丟包后的快重傳快恢復(fù)階段發(fā)送報(bào)文的總數(shù)及其持續(xù)時(shí)間,得出TCP的穩(wěn)態(tài)吞吐量。 在給定鏈路時(shí),鏈路帶寬和最小RTT不變,因此可看作常數(shù)。穩(wěn)態(tài)時(shí),cwnd周期性地從cwndsp增長(zhǎng)到cwndsp。其中,cwndsp為擁塞避免階段(CAP) cwnd的最大值。從式(2)可以得出,在第輪RTT開(kāi)始時(shí),cwnd可以表示為 其中,表示從CAP開(kāi)始經(jīng)過(guò)的RTT輪數(shù)。 記為cwnd增長(zhǎng)到cwndsp所經(jīng)過(guò)的RTT輪數(shù)。根據(jù)式(2)可以得出,當(dāng)時(shí),在第輪結(jié)束時(shí)cwnd就會(huì)等于cwndsp。因此,輪數(shù)可以表示為 因此,一個(gè)CAP階段發(fā)送的總報(bào)文數(shù)為 穩(wěn)態(tài)時(shí),一個(gè)CAP階段可以發(fā)送的報(bào)文總數(shù)也可用網(wǎng)絡(luò)擁塞概率表示為 由式(9)和式(10)可以得出 因此, 將式(8)式代入式(12),利用Lambert函數(shù)是()=e的反函數(shù)可以求得cwndsp的表達(dá)式為 其中, 因此,可以推得平均吞吐量的表達(dá)式為 圖2所示為不同網(wǎng)絡(luò)擁塞概率下INVS與其TCP擁塞控制協(xié)議的響應(yīng)函數(shù)[5]。由于目前尚無(wú)CUBIC, Illinois, Hybla和Westwood的響應(yīng)函數(shù),因此后文通過(guò)仿真對(duì)比分析。AIMD(32, 0.125)表示使用增量因子32和退避因子為0.125。INVS(500)和INVS(50)分別表示在瓶頸帶寬為500 Mbps和50 Mbps INVS流的結(jié)果。從圖中可以看出,給定擁塞概率下,INVS流在高帶寬網(wǎng)絡(luò)中取得更大的吞吐量性能。 3.2 TCP公平性 為分析INVS的公平性,圖3給出了相同鏈路上兩個(gè)INVS流的窗口變化矢量圖[15]。假設(shè)1號(hào)流先啟動(dòng),已取得較大cwnd, 2號(hào)流啟動(dòng)晚,瓶頸鏈路擁塞后退避至圖中點(diǎn)。根據(jù)式(6), 1號(hào)流的cwndsp設(shè)為0.5(1+)cwnd1, 2號(hào)流的設(shè)為cwnd2。cwnd1和cwnd2分別為上一CAP中的最大擁塞窗口。根據(jù)式(8), 2號(hào)流比1號(hào)流先將cwnd增加到cwndsp。直到再次擁塞時(shí)(圖中點(diǎn)),2號(hào)流就獲得了1號(hào)流釋放的帶寬。退避到點(diǎn)后,在下一CAP擁塞時(shí)(點(diǎn)),根據(jù)式(2), 2號(hào)流獲得更多的帶寬。通過(guò)數(shù)次擁塞和退避,1號(hào)流逐步釋放帶寬給2號(hào)流,直到它們近似平等地共享帶寬。 圖4給出了同一網(wǎng)絡(luò)下的兩個(gè)INVS流的擁塞 圖2 TCP協(xié)議的響應(yīng)函數(shù) 圖3 公平性示意圖 圖4 兩個(gè)INVS流的擁塞窗口 窗口。仿真場(chǎng)景是瓶頸容量為100 Mbps, RTT為80 ms的啞鈴網(wǎng)絡(luò)。從圖中可以看出,兩個(gè)INVS流的擁塞窗口從300 s開(kāi)始趨于相同。仿真結(jié)果也驗(yàn)證了當(dāng)丟包發(fā)生時(shí),采用式(6)加快了競(jìng)爭(zhēng)流間的窗口收斂速度。 4 性能評(píng)估 為評(píng)估INVS在異構(gòu)性網(wǎng)絡(luò)中的性能,本節(jié)使用了啞鈴?fù)負(fù)浜突旌贤負(fù)鋬煞N網(wǎng)絡(luò)拓?fù)?。啞鈴?fù)負(fù)渚W(wǎng)絡(luò)采用100 Mbps的瓶頸帶寬和1000 Mbps的支路帶寬?;旌暇W(wǎng)絡(luò)拓?fù)浜团渲萌鐖D5所示。仿真中節(jié)點(diǎn)緩沖大小默認(rèn)為鏈路BDP。 4.1 單個(gè)TCP流場(chǎng)景 為評(píng)估無(wú)線(xiàn)鏈路丟包下INVS的性能,本節(jié)分別在高速網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)兩種網(wǎng)絡(luò)拓?fù)浞抡媪藛蝹€(gè)INVS流的吞吐量。啞鈴網(wǎng)絡(luò)拓?fù)溆糜谀M高速網(wǎng)絡(luò),其瓶頸帶寬為500 Mbps, RTT為20 ms,瓶頸鏈路緩存為4 Mbit。混合網(wǎng)絡(luò)拓?fù)溆糜谀M衛(wèi)星大時(shí)延網(wǎng)絡(luò),其中衛(wèi)星前向鏈路(Satellite Forward Link, SFL)的瓶頸帶寬為4 Mbps。圖6和圖7分別為高速網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)下隨著丟包率增加時(shí)單個(gè)流的平均吞吐量。從圖中我們可以得出: (1)隨機(jī)丟包率越高,所有協(xié)議的性能都越來(lái)越差; (2)當(dāng)鏈路丟包為0時(shí)(即僅有擁塞丟包),Reno不能夠充分利用網(wǎng)絡(luò); (3)對(duì)比圖5和圖6發(fā)現(xiàn),Hybla和CUBIC在有鏈路丟包的高速網(wǎng)絡(luò)中不能充分利用網(wǎng)絡(luò)帶寬。這是因?yàn)镠ybla和CUBIC:(1)窗口增長(zhǎng)獨(dú)立于RTT;(2)均不區(qū)分擁塞丟包和鏈路丟包。 (4)隨著隨機(jī)丟包率的增加,INVS在高速網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)中均取得較好的性能。 4.2 兩個(gè)TCP流場(chǎng)景:RTT公平性 時(shí)延差異是異構(gòu)網(wǎng)絡(luò)中的一個(gè)重要方面,主要影響TCP擁塞控制算法的公平性,本節(jié)采用啞鈴網(wǎng)絡(luò)拓?fù)湓u(píng)估算法的RTT公平性,瓶頸帶寬為100 Mbps,支路帶寬為1000 Mbps,瓶頸鏈路緩存大小為3 Mbit,仿真時(shí)間持續(xù)600 s。兩個(gè)TCP流共享瓶頸帶寬,1號(hào)流的RTT為80 ms, 2號(hào)流的RTT從20 ms到320 ms變化。2號(hào)流在1號(hào)流啟動(dòng)20 s后啟動(dòng)。 圖8為兩個(gè)流中吞吐量中較高的與較低的比值。圖中比值越接近1,則該協(xié)議的RTT公平性越好。從圖中可以看出,當(dāng)兩個(gè)流的RTT相等時(shí),Reno和CTCP的公平性最好;由于采用完全RTT 圖5 混合網(wǎng)絡(luò)拓?fù)?圖6 高速網(wǎng)絡(luò)吞吐量 獨(dú)立的增長(zhǎng)速率,Hybla的RTT公平性最好;當(dāng)兩個(gè)流的RTT差增大時(shí),INVS的公平性比除Hybla外的其他協(xié)議公平性好,這是因?yàn)镮NVS在窗口增長(zhǎng)階段引入了自適應(yīng)增長(zhǎng)因子等。 4.3 混合TCP流場(chǎng)景 本節(jié)在混合網(wǎng)絡(luò)拓?fù)湎虏捎没旌蟃CP背景流評(píng)估了INVS的性能。為模擬實(shí)際網(wǎng)絡(luò)流量,基于文獻(xiàn)[16]對(duì)互聯(lián)網(wǎng)上服務(wù)器使用TCP協(xié)議的估計(jì)結(jié)果,結(jié)合Windows7以上系統(tǒng)(默認(rèn)CTCP)和智能手機(jī)(默認(rèn)CUBIC)的廣泛使用,背景流由Reno流(20%), Cubic流(50%)和CTCP流(30%)組成。仿真中在客戶(hù)端C1和服務(wù)器S1之間建立5個(gè)測(cè)試協(xié)議流,在C3和S2之間建立20個(gè)背景流,所有的TCP流都在0 s到5 s內(nèi)隨機(jī)啟動(dòng)。當(dāng)SFL帶寬分別為10 Mbps, 40 Mbps和80 Mbps時(shí),衛(wèi)星TCP流的平均帶寬為2 Mbps, 8 Mbps和16 Mbps,有線(xiàn)瓶頸鏈路上TCP流的平均帶寬為4 Mbps。 圖9和10分別為衛(wèi)星鏈路和有線(xiàn)鏈路上TCP流的平均吞吐量。對(duì)比可見(jiàn),隨著SFL帶寬的增加,即SFL不再是衛(wèi)星TCP流的瓶頸鏈路,衛(wèi)星INVS流逐漸獲得與有線(xiàn)TCP流相近的平均吞吐量;當(dāng)SFL帶寬充足時(shí),衛(wèi)星CUBIC和Hybla流嚴(yán)重?fù)屨剂擞芯€(xiàn)鏈路TCP流的帶寬,而其它衛(wèi)星TCP流(CTCP, Illinois, Reno和Westwood)又不足以與有線(xiàn)鏈路背景流競(jìng)爭(zhēng)。圖11為公平性指標(biāo),結(jié)果顯示,當(dāng)SFL帶寬為10 Mbps和80 Mbps時(shí),INVS的公平性最好;當(dāng)SFL帶寬為40 Mbps時(shí)CUBIC的公平性最好。圖12為異構(gòu)網(wǎng)絡(luò)下總的鏈路利用率,為了衡量衛(wèi)星鏈路和有線(xiàn)鏈路的總利用率,結(jié)果為衛(wèi)星鏈路利用率和有線(xiàn)鏈路利用率的平均值。從圖中可以看出,INVS的總鏈路利用率最高。總的來(lái)說(shuō),在混合網(wǎng)絡(luò)拓?fù)湎翴NVS提高了混合TCP流的公平性和總鏈路利用率。 5 總結(jié) 圖7 衛(wèi)星網(wǎng)絡(luò)吞吐量 圖8 RTT公平性 圖9 衛(wèi)星鏈路吞吐量 圖10 有線(xiàn)鏈路吞吐量 圖11 公平性 圖12 總鏈路利用率 實(shí)驗(yàn)表明:在有無(wú)線(xiàn)鏈路丟包的高速網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)的場(chǎng)景中,相對(duì)于Westwood, CUBIC, CTCP等算法,INVS的吞吐量性能最好;在兩個(gè)流和混合流場(chǎng)景中,INVS取得很好的RTT公平性、總鏈路利用率、有效吞吐量和公平性。 [1] LI P and FANG Y G. On the throughput capacity of heterogeneous wireless networks[J]., 2012, 11(12): 2073-2086. doi: 10.1109/ TMC.2011.239. [2] PAPADIMITRIOU D, WELZL M, SCHARF M,. Open research issues in Internet congestion control[R]. RFC 6077: Internet Research Task Force (IRTF), 2011. [3] CAINI C and FIRRINCIELI R. TCP Hybla: a TCP enhancement for heterogeneous networks[J]., 2004, 22(5): 547-566. doi: 10.1002/sat.799. [4] ALRSHAH M A, OTHMAN M, ALI B,. Comparative study of high-speed Linux TCP variants over high-BDP networks[J]., 2014, 43: 66-75. doi: 10.1016/j.jnca.2014.04.007. [5] AFANASYEV A, TILLEY N, REIHER P,. Host-to-host congestion control for TCP[J].&, 2010, 12(3): 304-342. doi: 10.1109/ SURV.2010.042710.00114. [6] MOLIA H K and AGRAWAL R. A conceptual exploration of TCP variants[C]. 2014 2nd International Conference on Emerging Technology Trends in Electronics, Communication and Networking (ET2ECN), Surat, 2014: 1-6. doi: 10.1109/ ET2ECN.2014.7044985. [7] WANG J Y, WEN J T, HAN Y X,. CUBIC-FIT: a high performance and TCP CUBIC friendly congestion control algorithm[J]., 2013, 17(8): 1664-1667. doi: 10.1109/LCOMM.2013.060513. 130664. [8] 謝鈞, 俞璐, 金鳳林. 基于排隊(duì)時(shí)延和丟包率的擁塞控制[J]. 電子與信息學(xué)報(bào), 2010, 32(9): 2058-2064. doi: 10.3724/ SP.J.1146.2009.01228. XIE J, YU L, and JIN F L. Congestion control based on queuing delay and packet loss probability[J].&, 2010, 32(9): 2058-2064. doi: 10.3724/SP.J.1146.2009.01228. [9] WAN Y J, ZHANG L, WU Z M,. Uplink performance in 3G networks[C]. 2014 IEEE Workshop on Advanced Research and Technology in Industry Applications (WARTIA), Ottawa, 2014: 1213-1216. doi: 10.1109/WARTIA.2014.6976498. [10] CHEN Y. C, Nahum E M, Gibbens R J,. Measuring cellular networks: Characterizing 3G, 4G, and path diversity[R]. Technical Report, UMass Amherst Technical Report: UM-CS-2012-022. [11] LI M, LUKYANENKO A, TARKOMA S,. Tolerating path heterogeneity in multipath TCP with bounded receive buffers[J]., 2014, 64(0): 1-14. doi: 10.1016/j.comnet.2014.01.011. [12] 劉偉彥, 孫雁飛, 張順頤, 等. 一種參數(shù)自適應(yīng)的主動(dòng)隊(duì)列管理算法自適應(yīng)BLUE[J]. 電子與信息學(xué)報(bào), 2009, 31(2): 462-466. LIU W Y, SUN Y F, ZHANG S Y,. An adaptive active queue management algorithmself-adaptive BLUE[J].&, 2009, 31(2): 462-466. [13] 畢元梅. 異構(gòu)網(wǎng)絡(luò)下的TCP性能增強(qiáng)技術(shù)研究[D]. [碩士學(xué)位], 重慶大學(xué), 2009. BI Y M. A study of enhancing TCP performance over heterogeneous networks[D]. [Master dissertation], Chongqing University, 2009. [14] DING N, WU R Q, and JIE H. TCP BRJ: Enhanced TCP congestion control based on bandwidth estimation and RTT jitter for heterogeneous networks[C]. The Proceedings of the Third International Conference on Communications, Signal Processing, and Systems. Switzerland, 2015: 623-632. doi: 10.1007/978-3-319-08991-1_64. [15] BERTRAN R, GONZàLEZ M, MARTORELL X,. Counter-based power modeling methods: Top-down vs. bottom-up[J]., 2013, 56(2): 198-213. doi: 10.1093/comjnl/bxs116. [16] YANG P, SHAO J, LUO W,. TCP congestion avoidance algorithm identification[J]./, 2014, 22(4): 1311-1324. doi: 10.1109/TNET. 2013.2278271. 王志明: 男,1986年生,博士,研究方向?yàn)門(mén)CP擁塞控制與建模分析、航空自組網(wǎng)組網(wǎng)及優(yōu)化. 曾孝平: 男,1956年生,教授,研究方向?yàn)楹娇找苿?dòng)通信、計(jì)算機(jī)網(wǎng)絡(luò)、信號(hào)與信息處理. 劉 學(xué): 男,1983年生,博士生,研究方向?yàn)楹娇兆越M網(wǎng)連通性研究、計(jì)算機(jī)網(wǎng)絡(luò). 陳 禮: 男,1982年生,博士生,研究方向?yàn)槊裼煤娇找苿?dòng)通信網(wǎng)絡(luò). 郭博文: 男,1992年生,碩士生,研究方向?yàn)楹娇兆越M網(wǎng)MAC協(xié)議及資源調(diào)度算法. Foundation Items: The National Natural Science Foundation of China (61171089, 61302054), The Training Program of the Major Research Plan of the National Natural Science Foundation of China (91438104), The Scientific Research Innovation Program of Chongqing University for Graduate Students (CYS14005) TCP Congestion Control Algorithm for Heterogeneous Networks WANG Zhiming ZENG Xiaoping LIU Xue CHEN Li GUO Bowen (College of Communication Engineering, Chongqing University, Chongqing 400044, China) The end-to-end bandwidth, the Round Trip Time (RTT) and the packet loss rate vary over many orders of magnitude in Internet, which cause significant performance degradation of Transmission Control Protocol (TCP). To cope with this, a path-adaptive TCP congestion control protocol, called INVerse Sigmoid (INVS), is proposed. INVS employs an exponential function based convex growth function of congestion window to improve the path utilization. An adaptive increase factor in the growth function is introduced to match the window growth rate with the path condition. An adaptive queue-threshold in the loss distinguishing scheme is used to enhance the performance of TCP over wireless links. The performance analysis and evaluation show that INVS improves the throughput, the fairness, the total link utilization and the RTT-fairness of TCP congestion control algorithm. Heterogeneous networks; Transmission Control Protocol (TCP); Congestion control; Bandwidth Delay Product (BDP) TP393 A 1009-5896(2016)04-0780-07 10.11999/JEIT150774 2015-06-29;改回日期:2015-11-17;網(wǎng)絡(luò)出版:2016-01-04 王志明 jamewzm@163.com 國(guó)家自然科學(xué)基金(61171089, 61302054),國(guó)家自然科學(xué)基金項(xiàng)目重大研究計(jì)劃(91438104),重慶大學(xué)研究生科研創(chuàng)新基金(CYS14005)