摘 要:針對(duì)早期概率響應(yīng)TCP(PERT)在實(shí)際網(wǎng)絡(luò)中與基于丟包的協(xié)議(如TCP)共存時(shí)存在帶寬共享公平性方面處于弱勢(shì)的問(wèn)題,提出一種改進(jìn)的PERT協(xié)議(modified PERT, MPERT)。該協(xié)議通過(guò)動(dòng)態(tài)地調(diào)整擁塞窗口增加因子和縮減因子的方法,解決了這種基于時(shí)延的端系統(tǒng)擁塞控制機(jī)制的帶寬公平性問(wèn)題,增強(qiáng)其對(duì)網(wǎng)絡(luò)環(huán)境的自適應(yīng)性。另外,針對(duì)未來(lái)核心網(wǎng)絡(luò)將向高速化發(fā)展的趨勢(shì),對(duì)如何有效地將新機(jī)制擴(kuò)展部署于高速網(wǎng)絡(luò)進(jìn)行了探索,以期改善MPERT協(xié)議在高速網(wǎng)絡(luò)下的傳輸性能。
關(guān)鍵詞:基于時(shí)延的協(xié)議; 基于丟包的協(xié)議; 帶寬共享公平性
中圖分類(lèi)號(hào):TP394文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2010)06-2215-04
doi:10.3969/j.issn.1001-3695.2010.06.062
Adaptive delaybased congestion control mechanism
WU Yezhou, XING Wei, LU Dongming
(College of Computer Science Technology, Zhejiang University, Hangzhou 310027, China)
Abstract:In order to solve the problem of PERT such as unable to compete fair bandwidth share with a lossbased protocol, e.g. TCP, in the actual network, this paper proposed a kind of modified PERT, called MPERT. Adjusting its congestion window increased factor and decreased factor dynamically, it solved the bandwidth share fairness problem of this kind of delaybased endhost congestion control mechanism and made itself adaptive to varying network environment. Moreover, considering the tendency of the core network would become higher speed, researched and proposed the solution to the problem about how to develop the new mechanism in highspeed network, in order to improve the performance of MPERT in this kink of network.
Key words:delaybased protocol; lossbased protocol; bandwidth share fairness
多媒體應(yīng)用具有低時(shí)延、低丟包的要求,而目前的應(yīng)用主要運(yùn)用UDP或TCP作為傳輸層協(xié)議。UDP不提供擁塞控制,運(yùn)用UDP的應(yīng)用需自己解決擁塞控制問(wèn)題;而TCP的按序可靠傳輸特性對(duì)多媒體應(yīng)用來(lái)說(shuō)也不是必需的。因此,通過(guò)設(shè)計(jì)一種新的擁塞控制方法,促進(jìn)網(wǎng)絡(luò)向能夠承載更高質(zhì)量的多媒體應(yīng)用和更高鏈路帶寬的方向發(fā)展,成為近些年的研究熱點(diǎn)。
傳統(tǒng)意義上,擁塞控制協(xié)議通過(guò)兩種不同的方法來(lái)獲取網(wǎng)絡(luò)中的擁塞反饋信息:a)通過(guò)檢測(cè)數(shù)據(jù)包的丟失或中間路由器對(duì)數(shù)據(jù)包打的“標(biāo)記”;b)在端節(jié)點(diǎn)測(cè)量一些網(wǎng)絡(luò)特性(如傳輸時(shí)延)。然而,由于時(shí)延測(cè)算的準(zhǔn)確性和其他不確定因素,使基于時(shí)延的擁塞檢測(cè)方法存在可靠性問(wèn)題[1]。Bhandarkar等人[2]針對(duì)上述問(wèn)題,提出了一種新的基于時(shí)延的擁塞控制協(xié)議——早期概率響應(yīng)TCP(probabilistic early response TCP,PERT)。PERT改進(jìn)了時(shí)延測(cè)算和預(yù)測(cè)擁塞的過(guò)程,即通過(guò)對(duì)測(cè)算的時(shí)延采取以相應(yīng)的概率進(jìn)行擁塞響應(yīng),解決了存在的時(shí)延測(cè)算不確定性。PERT在發(fā)送端節(jié)點(diǎn)模擬主動(dòng)隊(duì)列管理(AQM)算法,當(dāng)測(cè)算的時(shí)延值越大就以更高的概率響應(yīng),減速慢行,以避免發(fā)生可能的擁塞事件。
雖然PERT被證明能夠有效地達(dá)到其目的,但若要在未來(lái)的實(shí)際部署發(fā)揮功效,仍存在兩個(gè)問(wèn)題:a)基于時(shí)延的協(xié)議在實(shí)際部署過(guò)程中最大的問(wèn)題是如何與傳統(tǒng)TCP進(jìn)行帶寬的競(jìng)爭(zhēng)。如今的互聯(lián)網(wǎng)環(huán)境中,仍然存在著大量承載于傳統(tǒng)TCP之上的應(yīng)用。傳統(tǒng)TCP作為一種基于丟包的協(xié)議,在發(fā)現(xiàn)有數(shù)據(jù)包丟失之前,一直維持增加擁塞窗口的大小。而另一方面,基于時(shí)延的擁塞控制協(xié)議通過(guò)提前響應(yīng)擁塞,實(shí)質(zhì)上為傳統(tǒng)TCP流“騰”出了帶寬空間。盡管大多數(shù)的基于時(shí)延的協(xié)議在同質(zhì)協(xié)議的網(wǎng)絡(luò)環(huán)境下能夠表現(xiàn)出了好的特性,但若要將其部署于真實(shí)的網(wǎng)絡(luò)中,在與傳統(tǒng)TCP共存的實(shí)際場(chǎng)景,如何保證基于時(shí)延的協(xié)議能夠獲得公平的帶寬,這在新協(xié)議的部署過(guò)渡時(shí)期是必須要面對(duì)的問(wèn)題。b)當(dāng)基于時(shí)延的擁塞控制協(xié)議的單條傳輸流存在于高帶寬大時(shí)延的鏈路中,是否能夠高效地利用充裕的帶寬資源。這類(lèi)話題已成為學(xué)術(shù)界最新的研究熱點(diǎn),并有眾多學(xué)者針對(duì)高速網(wǎng)絡(luò)的特性提出了新的傳輸協(xié)議[3~5]。
本文主要針對(duì)上述問(wèn)題,對(duì)原PERT進(jìn)行改進(jìn),期望改進(jìn)后的PERT可以自適應(yīng)地運(yùn)行于同質(zhì)或異質(zhì)協(xié)議的網(wǎng)絡(luò)環(huán)境,獲得公平帶寬,并能夠在高速網(wǎng)絡(luò)中高效利用帶寬資源。本文簡(jiǎn)要介紹PERT協(xié)議的原理和特性,對(duì)PERT協(xié)議流的穩(wěn)態(tài)吞吐率進(jìn)行了分析,提出PERT的改進(jìn)型方案——MPERT。
1 PERT的概述
PERT[2]利用平滑處理后的RTT(round trip time)測(cè)算值來(lái)表示流傳輸路徑上的擁塞程度。與其他基于時(shí)延的協(xié)議類(lèi)似,PERT假設(shè)如果觀察到的時(shí)延變大,傳輸路徑上就開(kāi)始出現(xiàn)擁塞。然而,PERT設(shè)計(jì)者意識(shí)到,由于測(cè)算時(shí)的噪聲和突發(fā)流的影響,擁塞的預(yù)測(cè)具有不確定性。為了減小這種不良效應(yīng),PERT針對(duì)測(cè)算的時(shí)延采用了一種概率響應(yīng)的方式。即當(dāng)感知到的隊(duì)列長(zhǎng)度處于較低水平時(shí),對(duì)可能發(fā)生的擁塞作出提前響應(yīng)的行為概率較小;當(dāng)感知到的隊(duì)列長(zhǎng)度增加時(shí),對(duì)可能發(fā)生的擁塞作出提前響應(yīng)的行為概率也變大了。PERT以此來(lái)減少在擁塞預(yù)測(cè)時(shí)可能發(fā)生假報(bào)警(1 positive)現(xiàn)象[1],該現(xiàn)象的產(chǎn)生會(huì)降低網(wǎng)絡(luò)的鏈路利用率。
PERT在端系統(tǒng)模仿AQM的RED算法[6]的機(jī)理。PERT的提前概率響應(yīng)函數(shù)的設(shè)計(jì)類(lèi)似于RED算法。如圖1所示,縱軸為響應(yīng)概率,橫軸為擁塞檢測(cè)信號(hào)值(srttrttmin)。其中:rttmin為當(dāng)網(wǎng)絡(luò)不存在排隊(duì)時(shí)延時(shí)的RTT值;srtt為平滑處理后的RTT值。
srtt=k×rtt-(1-k)×srtt(1)
與RED類(lèi)似,它定義了最大閾值Tmax、最小閾值Tmin和最大響應(yīng)概率Rmax。當(dāng)(srttrttmin)的值,即排隊(duì)時(shí)延低于最小閾值時(shí),響應(yīng)概率為0;當(dāng)排隊(duì)時(shí)延值超過(guò)最小閾值時(shí),縮減窗口的響應(yīng)概率線性增加,直到排隊(duì)時(shí)延的值到達(dá)最大閾值時(shí),響應(yīng)概率為Pmax。當(dāng)排隊(duì)時(shí)延值處于Tmax和兩倍Tmax之間,響應(yīng)概率的取值在Pmax與1之間變動(dòng)。當(dāng)排隊(duì)時(shí)延值超出兩倍Tmax,響應(yīng)概率的取值為1。參見(jiàn)圖1,上述擁塞預(yù)測(cè)檢測(cè)過(guò)程可以表述如下:
if((srttrttmin) 返回1; //預(yù)測(cè)無(wú)擁塞 } else if ((srttrttmin) 以概率(srttrttmin)-TminTmax-Tmin×Pmax返回true; //預(yù)測(cè)擁塞 } else if ((srttrttmin)<2Tmax) { 以概率(srttrttmin)-TmaxTmax×(1-Pmax)+Pmax返回true; } else { 返回true; } 一旦(srttrttmin)高于預(yù)設(shè)的閾值時(shí),每一個(gè)ACK包的到達(dá)都意味著一次網(wǎng)絡(luò)正處于擁塞狀態(tài)的警報(bào),直到隊(duì)列長(zhǎng)度降低于最小閾值為止。在這種情況下,需要注意的是,數(shù)據(jù)流沒(méi)有必要對(duì)每一個(gè)擁塞指示都作出響應(yīng),因?yàn)橐淮味讼到y(tǒng)擁塞響應(yīng)的效果需要通過(guò)至少一個(gè)RTT間隔后才能反映出來(lái)。所以,端系統(tǒng)的提前擁塞響應(yīng)行為被限制為在一個(gè)RTT間隔內(nèi)至多只進(jìn)行一次。 2 MPERT——對(duì)PERT的改進(jìn) 2.1 吞吐率分析 為了解決PERT相對(duì)TCP的帶寬競(jìng)爭(zhēng)力缺陷,需要對(duì)PERT流的穩(wěn)態(tài)吞吐率進(jìn)行分析。對(duì)于一條基于窗口的擁塞控制算法的傳輸流,在擁塞避免階段,它每收到一個(gè)ACK幀,發(fā)送端的擁塞窗口調(diào)整為W=W+a/W;當(dāng)進(jìn)行擁塞響應(yīng)時(shí),發(fā)送端的擁塞窗口縮減為W=(1-β)×W。其中:W為擁塞窗口大小;α和β分別為窗口調(diào)節(jié)的增加因子和縮減因子。根據(jù)上述的擁塞窗口調(diào)節(jié)機(jī)制,流處于穩(wěn)定狀態(tài)時(shí)的吞吐率可以表示為1RTTαβ×p[7]。其中p為穩(wěn)態(tài)丟包率。PERT對(duì)擁塞的響應(yīng)可以分為兩類(lèi),即PERT以p′的概率提前響應(yīng)擁塞,或在概率為p的擁塞丟包事件發(fā)生時(shí)縮減擁塞窗口。在PERT與TCP競(jìng)爭(zhēng)時(shí),TCP只會(huì)觀察到擁塞丟包率。在多流相互競(jìng)爭(zhēng)帶寬時(shí),各流觀察到的擁塞丟包率可能是不相同的,但為了簡(jiǎn)化分析,假設(shè)PERT流和TCP流擁有相同的擁塞丟包概率。 2.2 α參數(shù)的調(diào)節(jié) 因?yàn)镻ERT流可能在以下兩種情況下進(jìn)行擁塞響應(yīng):a)在擁塞發(fā)生前就進(jìn)行了提前的擁塞響應(yīng);b)如TCP一樣在真正擁塞(丟包)發(fā)生時(shí)才進(jìn)行擁塞響應(yīng)。因此,上文提及的,由文獻(xiàn)[7]得出的穩(wěn)態(tài)吞吐率公式中的穩(wěn)態(tài)丟包率對(duì)PERT而言,意味著包括提前擁塞響應(yīng)概率p′和丟包響應(yīng)概率p,即PERT流的吞吐率受到這兩個(gè)概率的影響。PERT的聯(lián)合擁塞響應(yīng)概率應(yīng)該表示為 1-(1-p)×(1-p′)=p+p′-p×p′(2) 如果MPERT在與TCP競(jìng)爭(zhēng)時(shí)要獲得公平的帶寬,那么兩種協(xié)議流的穩(wěn)態(tài)吞吐率應(yīng)該保持相等,可以得出如下等式: βMPERT×(p+p′-p×p′)/αMPERT=βTCP×p/αTCP(3) 因?yàn)橐阎罷CP=1,由式(3)可得到: αMPERT=βMPERT×(p+p′-p×p′)/(βTCP×p)(4) 若設(shè)定βMPERT=βTCP,且p′是一個(gè)接近于0的正整數(shù),可忽略不計(jì),則由式(4)得到: αMPERT=1+p′/p-p′≈1+p′/p(5) 通過(guò)上述的穩(wěn)態(tài)流吞吐率分析可知,在與TCP共存時(shí),MPERT必須在增加擁塞窗口時(shí)表現(xiàn)得更為激進(jìn),以扳回其在提前響應(yīng)擁塞時(shí)所造成的弱勢(shì),從而與TCP公平分享鏈路帶寬。因此,當(dāng)MPERT在與TCP競(jìng)爭(zhēng)帶寬時(shí),MPERT的窗口調(diào)整表示為 W=W+αMPERT/W,αMPERT=1+p′/p 2.3 β參數(shù)的調(diào)節(jié) 假設(shè)提前擁塞響應(yīng)成功,其效果是瓶頸鏈路的隊(duì)列長(zhǎng)度應(yīng)該保持在一個(gè)較低的水位。因此,對(duì)于提前擁塞響應(yīng),不一定需要將窗口縮減因子設(shè)為0.5。可以將擁塞窗口的縮減因子設(shè)置為一個(gè)動(dòng)態(tài)更新的變量: βMPERT=qc/(qc+qmax)(6) 其中:qc為響應(yīng)擁塞時(shí)測(cè)得并換算的排隊(duì)時(shí)延值;qmax為到目前為止觀察到的最大排隊(duì)時(shí)延值。可以發(fā)現(xiàn),當(dāng)qc=qmax時(shí),縮減因子βMPERT即為0.5。因?yàn)榇藭r(shí)網(wǎng)絡(luò)的排隊(duì)時(shí)延很大,MPERT認(rèn)為此時(shí)的擁塞加劇,提前擁塞響應(yīng)需要更加激進(jìn),即大幅度地縮減擁塞窗口,減輕網(wǎng)絡(luò)負(fù)載,以避免后續(xù)可能的丟包。因此,改進(jìn)后,窗口縮減因子βMPERT是根據(jù)網(wǎng)絡(luò)排隊(duì)時(shí)延的大小在0~0.5動(dòng)態(tài)取值的。 2.4 MPERT的運(yùn)行模式 在本文中還有一個(gè)重要問(wèn)題需要考慮,即如何判定MPERT何時(shí)是運(yùn)行在一個(gè)同構(gòu)環(huán)境(當(dāng)所有的流都是類(lèi)PERT流)還是異構(gòu)環(huán)境(存在TCP競(jìng)爭(zhēng)流)。雖然,激進(jìn)的窗口增加使MPERT在混合的環(huán)境中可以與TCP競(jìng)爭(zhēng)公平的帶寬,但是在同質(zhì)環(huán)境中它會(huì)增加丟包率和隊(duì)列長(zhǎng)度。可通過(guò)利用觀察的排隊(duì)時(shí)延來(lái)輔助MPERT運(yùn)行模式的選擇。 當(dāng)觀察的排隊(duì)時(shí)延變長(zhǎng)時(shí),MPERT假設(shè)它正在與一種基于丟包的協(xié)議在競(jìng)爭(zhēng),如TCP流會(huì)將隊(duì)列長(zhǎng)度推高。因此,MPERT需要在增加窗口的行為上變得更激進(jìn),以補(bǔ)償提前擁塞響應(yīng)的帶寬損失。使用0.5×qmax作為判斷是否有TCP流在與MPERT流競(jìng)爭(zhēng)帶寬的閾值。類(lèi)似地,當(dāng)排隊(duì)時(shí)延持續(xù)地位于最小閾值之下,則可以認(rèn)為MPERT流運(yùn)行在一個(gè)帶寬充裕的網(wǎng)絡(luò)環(huán)境中。在這兩種狀況下,MPERT將它的窗口增加因子α從默認(rèn)的1增加到一個(gè)更大的值。當(dāng)排隊(duì)時(shí)延變長(zhǎng)時(shí),α的增加是為了與基于丟包的協(xié)議流競(jìng)爭(zhēng)帶寬(于是增加到1+p′/p);而當(dāng)排隊(duì)時(shí)延很小時(shí),α增加的目的是為了快速地利用充裕的帶寬。 MPERT的運(yùn)行可以處于三種不同的模式:a)高速模式。當(dāng)觀察的排隊(duì)時(shí)延小于最小閾值C1,表示鏈路帶寬未被充分利用,可線性地增加α,直到α值等于閾值C2,這樣可以在擁塞避免階段,更快地增加窗口。b)穩(wěn)定模式。當(dāng)排隊(duì)時(shí)延大于最小閾值且小于觀測(cè)到的最大排隊(duì)時(shí)延的一半,表示可用帶寬被很好地利用了,且排隊(duì)時(shí)延相對(duì)較短,可認(rèn)為此時(shí)的網(wǎng)絡(luò)環(huán)境中運(yùn)行的都是與MPERT類(lèi)似的流,α可以減小直到為1。c)競(jìng)爭(zhēng)模式。當(dāng)測(cè)得的排隊(duì)時(shí)延大于最大排隊(duì)時(shí)延的一半,就表示環(huán)境中有一些異質(zhì)協(xié)議流存在,它們采取基于丟包的擁塞響應(yīng)行為,可增加α,直到其值等于αMPERT的目標(biāo)值1+p′/p。α值的調(diào)節(jié)過(guò)程將持續(xù)一段時(shí)間T,T值應(yīng)該大于一個(gè)RTT,使α值可以平滑變化,有益于隊(duì)列緩沖區(qū)狀態(tài)的平滑過(guò)渡。 2.5 MPERT算法描述 本節(jié)描述PERT和MPERT算法的運(yùn)行過(guò)程。在PERT算法描述中,以方框標(biāo)注出了MPERT針對(duì)PERT算法需要添加或改進(jìn)步驟的地方。算法描述中:rtt表示根據(jù)每個(gè)ACK包獲得的實(shí)時(shí)RTT值,srtt是當(dāng)前平滑處理的RTT估計(jì)值。 1)PERT算法描述 PERT擁塞控制包括慢啟動(dòng)和擁塞避免階段,其主要對(duì)擁塞避免階段的算法進(jìn)行了改進(jìn)。在擁塞避免階段,PERT算法可描述如下: 當(dāng)每收到一個(gè)ACK包: if (該ACK包是新到達(dá)的){ 獲得跟該ACK包相關(guān)的rtt; 根據(jù)式(1)更新srtt;//位置1 if (擁塞預(yù)測(cè)檢測(cè)過(guò)程認(rèn)為擁塞發(fā)生){ β=0.5;//位置2 cwnd=cwnd×(1-β);//以β因子縮減擁塞窗口 } else { //擁塞預(yù)測(cè)檢測(cè)過(guò)程認(rèn)為網(wǎng)絡(luò)不會(huì)擁塞 α=1;//位置3 cwnd=cwnd+α/cwnd;//以α因子增加擁塞窗口 } } else { //該ACK包是重復(fù)的第三個(gè)ACK包 β= 0.5; //位置4 cwnd=cwnd×(1-β);//以β因子縮減擁塞窗口 } 2)MPERT算法描述 MPERT算法保留了PERT算法的框架結(jié)構(gòu),并對(duì)原算法中方框標(biāo)注的部分進(jìn)行了改進(jìn)。 位置1處添加: 更新當(dāng)前排隊(duì)時(shí)延值qc; 更新最大排隊(duì)時(shí)延值qmax; 位置2處改為: β=qc/(qc+qmax) 更新提前擁塞響應(yīng)概率p′;//為位置3中的α更新作準(zhǔn)備 位置3處改為: //根據(jù)流所處的三個(gè)不同運(yùn)行模式,更新α if (距上次α更新時(shí)隔 > T) { if (qc α=min(α+0.5,C2 ); } else if (qc>0.5 qmax) { //競(jìng)爭(zhēng)模式 target=1+p′/p; α=min(min(α+ 0.1, target),C2); } else { //穩(wěn)定模式 α=max(0.9α, 1); } } 位置4處改為: β=qc/(qc+qmax) 更新丟包響應(yīng)概率p;//為位置3中的α更新作準(zhǔn)備 3 實(shí)驗(yàn)分析 本文在NS2[8]網(wǎng)絡(luò)仿真平臺(tái)上進(jìn)行模擬實(shí)驗(yàn),以檢驗(yàn)MPERT的性能。本章由四個(gè)實(shí)驗(yàn)組成:前三個(gè)實(shí)驗(yàn)分析當(dāng)有SACK協(xié)議流(一種較新的TCP版本)存在網(wǎng)絡(luò)中,原PERT流和MPERT流的性能比較;最后一個(gè)實(shí)驗(yàn)則是分析在高速網(wǎng)絡(luò)中只存在單協(xié)議流時(shí),LTCP流[3]、PERT流和MPERT流的性能比較。除非特別說(shuō)明,瓶頸鏈路的緩沖大小設(shè)為帶寬延時(shí)乘積,瓶頸鏈路和端節(jié)點(diǎn)鏈路的帶寬都保持150 Mbps,端到端的RTT,即rttmin設(shè)定為60 ms;圖1中參數(shù)Tmin、Tmax、Pmax分別使用5 ms、10 ms和0.05;式(1)中的平滑系數(shù)k為0.01;排隊(duì)時(shí)延的最小閾值C1設(shè)為5 ms,α值的閾值C2設(shè)為32,α值的調(diào)節(jié)周期T設(shè)為5RTT。模擬時(shí)間為200 s,取位于50~150 s穩(wěn)定時(shí)期內(nèi)的實(shí)驗(yàn)數(shù)據(jù)作為樣本。當(dāng)多流共享一條鏈路時(shí),它們的啟動(dòng)時(shí)間隨機(jī)分布于(0,10)s,以防同步(synchronization)現(xiàn)象的發(fā)生。所有的模擬均遵循圖2的網(wǎng)絡(luò)拓?fù)洹?/p> 3.1 流混合比例的變化 在本實(shí)驗(yàn)中,流的總數(shù)設(shè)定為100,通過(guò)改變網(wǎng)絡(luò)中同時(shí)共存的不同協(xié)議流的比例,對(duì)比原PERT流和MPERT流在相同背景下相對(duì)SACK流的帶寬競(jìng)爭(zhēng)力和丟包率。 將MPERT/PERT流在總流數(shù)中的占比調(diào)整為5%~95%,來(lái)觀察MPERT/PERT流相對(duì)SACK流的丟包率和與SACK共存時(shí)的帶寬競(jìng)爭(zhēng)能力。從圖3顯示,PERT流對(duì)SACK流的相對(duì)丟包率總是保持在“1”以下,表明PERT在混合協(xié)議環(huán)境中始終具有更低的丟包率,而MPERT也繼承了PERT低丟包率的優(yōu)點(diǎn)。另外,MPERT流的帶寬占用率始終隨著MPERT流比例的增加而增加,并且十分接近預(yù)期的(即公平的)帶寬占有率。圖3也驗(yàn)證了PERT流由于自身設(shè)計(jì)原理的限制,提前擁塞響應(yīng),把帶寬讓給了SACK流,不能獲得公平的帶寬。 3.2 在50-50混合比例下,流總數(shù)的變化 在本實(shí)驗(yàn)中,流總數(shù)的變化為20~500,設(shè)定在不同協(xié)議流的數(shù)量各占總流數(shù)一半的情況下,分析網(wǎng)絡(luò)中總流數(shù)變化時(shí),原PERT流和MPERT流對(duì)網(wǎng)絡(luò)有什么不同的影響。圖4總結(jié)了實(shí)驗(yàn)結(jié)果。如筆者預(yù)期的,不論是MPERT/SACK混合的情況還是PERT/SACK混合的情況,網(wǎng)絡(luò)的隊(duì)列長(zhǎng)度和總丟包率都隨著流總數(shù)的增加而增加。筆者還觀察到,MPERT流的帶寬占用率在流總數(shù)較少時(shí)表現(xiàn)得比較低,而當(dāng)流總數(shù)增大時(shí),它的值會(huì)增大并趨向于50%。這是因?yàn)樵诳捎脦掃€很充裕或隊(duì)列長(zhǎng)度處于較低水平時(shí),MPERT并不會(huì)總是運(yùn)行在競(jìng)爭(zhēng)模式(與SACK競(jìng)爭(zhēng))。Jain公平性指數(shù)[9]反映協(xié)議流間的公平性,取值為0~1,當(dāng)取值為1時(shí),協(xié)議流間達(dá)到最佳公平性。發(fā)現(xiàn)MPERT的Jain公平性指數(shù)的變化曲線與其流的帶寬占用率的變化曲線表現(xiàn)出類(lèi)似的形態(tài)。由圖4中可以清楚發(fā)現(xiàn),MPERT流在帶寬競(jìng)爭(zhēng)力和Jain公平性指數(shù)方面相對(duì)PERT流都有明顯改善。 3.3 在50-50混合比例下,瓶頸鏈路緩沖大小的變化 在本實(shí)驗(yàn)中,流總數(shù)仍設(shè)定為100,其中50條MPERT/PERT流,50條SACK流,瓶頸鏈路的緩沖大小變化范圍為1/4到4倍的帶寬時(shí)延乘積(簡(jiǎn)稱(chēng)BDP),分析當(dāng)瓶頸鏈路緩沖區(qū)大小變化時(shí),原PERT流和MPERT流的不同表現(xiàn)。圖5總結(jié)了MPERT/PERT相對(duì)SACK的丟包率和帶寬占用率。 可以觀察到,MPERT的帶寬占用率在瓶頸鏈路的緩沖區(qū)大小很小時(shí),優(yōu)于SACK;而只有當(dāng)緩沖大小變得很大時(shí),PERT的帶寬占用率才輸給SACK,性能退化為PERT。這是因?yàn)楫?dāng)瓶頸鏈路的緩沖大小較小時(shí),隊(duì)列長(zhǎng)度在較早階段就處于較高“水位”,促使PERT運(yùn)行在競(jìng)爭(zhēng)模式中。這表示PERT在瓶頸鏈路的緩沖大小較小時(shí),可以運(yùn)行得很好。MPERT的帶寬占用率在較大的緩沖大小(3.5倍BDP或以上)的情況下會(huì)輸給SACK的原因主要是:MPERT運(yùn)行在穩(wěn)定模式下,試圖減少隊(duì)列長(zhǎng)度,而SACK卻反之。因此,MPERT可以在較寬的緩沖區(qū)大小變化范圍中(從0.5倍BDP到3倍BDP),與SACK競(jìng)爭(zhēng)到公平的帶寬。從圖5中看到,PERT流始終不能獲得公平的帶寬。 另外還發(fā)現(xiàn),MPERT/PERT相對(duì)SACK的丟包率始終處于“1”的下方。 這些結(jié)果為MPERT協(xié)議未來(lái)的部署提供了更充分的理由,它不僅可以廣泛應(yīng)用于小緩沖區(qū)的路由設(shè)備,具有低時(shí)延要求的實(shí)時(shí)多媒體應(yīng)用也可以得益于此。 3.4 在高速網(wǎng)絡(luò)中的性能 實(shí)驗(yàn)說(shuō)明改進(jìn)后的MPERT在混合協(xié)議流環(huán)境下運(yùn)行得很好,現(xiàn)在觀察MPERT是否能夠改善PERT在高帶寬網(wǎng)絡(luò)中的性能。在本實(shí)驗(yàn)中,瓶頸鏈路的帶寬保持在2.4 Gbps不變,端節(jié)點(diǎn)的鏈路帶寬在100 Mbps~2.4 Gbps變化,端到端的RTT設(shè)定為120 ms,比較原PERT流和MPERT流在高帶寬網(wǎng)絡(luò)下的性能。圖6總結(jié)了實(shí)驗(yàn)結(jié)果。筆者觀察到單條MPERT流比PERT流能夠更充分地利用高帶寬鏈路資源并且繼承了PERT流具有低丟包率的優(yōu)點(diǎn)。對(duì)比高速網(wǎng)傳輸協(xié)議LTCP[3]的仿真結(jié)果,MPERT不但具有接近LTCP的高帶寬利用性能,而且具有明顯更低的丟包率。 4 結(jié)束語(yǔ) 本文對(duì)PERT原來(lái)的擁塞控制機(jī)制進(jìn)行了改進(jìn),改進(jìn)后的新機(jī)制根據(jù)傳輸時(shí)延感知網(wǎng)絡(luò)狀態(tài),動(dòng)態(tài)調(diào)整窗口增加系數(shù)α和窗口縮減系數(shù)β,使這種基于時(shí)延的協(xié)議在異質(zhì)的網(wǎng)絡(luò)環(huán)境中,同樣可以運(yùn)行得很好,獲得公平的帶寬、保持較少的丟包率。筆者相信,這一特性將為MPERT協(xié)議未來(lái)的部署過(guò)渡階段,在與主流協(xié)議TCP的帶寬競(jìng)爭(zhēng)中,獲得公平地位提供有力的保障。另外,本文實(shí)驗(yàn)結(jié)果還表明MPERT可以改善PERT在利用高速網(wǎng)絡(luò)的充裕帶寬方面的能力,并比同類(lèi)高速網(wǎng)絡(luò)傳輸協(xié)議[3]具有更少的丟包率。 參考文獻(xiàn): [1]REWASKAR S, KAUR J, SMITH D. Why don’t delaybased congestion estimators work in the realworld, Technical report TR06001[R].[S.l.]: Department of Computer Science, UNC Chapel Hill, 2005. [2]BHANDARKAR S, REDDY A L N, ZHANG Y, et al. Emulating AQM from end hosts[C]//Proc of ACM SIGCOMM. New York: ACM Press,2007: 349-360. [3]BHANDARKAR S, JAIN S, NARASIMHA REDDY A L. LTCP: improving the performance of TCP in highspeed networks[J]. Computer Communication Review,2006,36(1): 41-50. [4]WEI D X, JIN Cheng, LOW S H, et al. FAST TCP: motivation, architecture, algorithms, performance[C]//Proc of IEEE INFOCOM. Piscataway, NJ: IEEE Press,2006:1246-1259. [5]LEITH D J, SHORTEN R N. HTCP protocol for highspeed long distance networks[C]//Proc of the 2nd PFLDNet. 2004. [6]FENG W, KANDLUR D, SAHA D, et al. A selfconfiguring RED gateway[C]//Proc of IEEE INFOCOM’99. New York: IEEE Communications Society,1999:1320-1328. [7]BANSAL D, BALAKRISHNAN H. Binomial congestion control algorithms[C]//Proc of INFOCOM. 2001:631-640. [8]The network simulator NS-2[ EB/OL ].(2007-01). http: //www.isi.edu/nsnam/ns. [9]CHIU D M, JAIN R. Analysis of the increase and decrease algorithms for congestion avoidance in computer networks[J]. Computer Networks and ISDN Systems,1989,17(1):1-14.