mpstart基于帶寬測(cè)量的分階段tcp慢啟動(dòng)機(jī)制_第1頁(yè)
mpstart基于帶寬測(cè)量的分階段tcp慢啟動(dòng)機(jī)制_第2頁(yè)
mpstart基于帶寬測(cè)量的分階段tcp慢啟動(dòng)機(jī)制_第3頁(yè)
mpstart基于帶寬測(cè)量的分階段tcp慢啟動(dòng)機(jī)制_第4頁(yè)
mpstart基于帶寬測(cè)量的分階段tcp慢啟動(dòng)機(jī)制_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、MP-Start:基于帶寬測(cè)量的分階段TCP慢啟動(dòng)機(jī)制鄧曉衡1,2, 陳志剛1, 張連明1, 曾碧卿1(1. 中南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長(zhǎng)沙 410083;2. 國(guó)防科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)學(xué)院, 湖南 長(zhǎng)沙 410073)摘 要:針對(duì)TCP慢啟動(dòng)機(jī)制門限值參數(shù)難于設(shè)置以及突發(fā)流量引起網(wǎng)絡(luò)抖動(dòng)的問(wèn)題,提出了一種基于帶寬測(cè)量及分階段實(shí)施的TCP慢啟動(dòng)改進(jìn)算法。該方法利用在線網(wǎng)絡(luò)帶寬測(cè)量技術(shù),探測(cè)出網(wǎng)絡(luò)帶寬,從而根據(jù)網(wǎng)絡(luò)狀態(tài)的動(dòng)態(tài)變化實(shí)現(xiàn)慢啟動(dòng)門限值的動(dòng)態(tài)更新,同時(shí),采用分階段方法調(diào)節(jié)擁塞窗口的增加,在擁塞窗口大于門限值一半時(shí),擁塞窗口增幅為門限值和擁塞窗口差值的一半,逐步迭代逼近門限值,使

2、擁塞窗口在連接啟動(dòng)和過(guò)渡到擁塞避免階段增加幅度比較小,而在中間階段窗口增加幅度比較大。有效避免了多個(gè)分組丟失現(xiàn)象的發(fā)生,實(shí)現(xiàn)了連接的平滑接入和過(guò)渡到擁塞避免階段;為提高改進(jìn)算法的性能,設(shè)計(jì)了一種靈活的參數(shù)化的模型和自適應(yīng)參數(shù)設(shè)置方案。大量仿真實(shí)驗(yàn)結(jié)果表明MP-Start能在多種網(wǎng)絡(luò)環(huán)境下有效改善網(wǎng)絡(luò)性能,如降低分組丟棄數(shù)、減少數(shù)據(jù)傳輸時(shí)間、降低共享鏈路分組隊(duì)列長(zhǎng)度、保持連接的傳輸平滑性。關(guān)鍵詞:TCP;擁塞控制;慢啟動(dòng);測(cè)量;分階段中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1000-436X(2007)11-0092-11MP-Start: bandwidth measurement

3、based andphase-divided TCP slow start mechanism DENG Xiao-heng1,2, CHEN Zhi-gang1, ZHANG Lian-ming1, ZENG Bi-qing1(1.College of Information Science and Technology, Central South University,Changsha 410083,China;2.School of Computer, National University of Defense Technology, Changsha 410073,China)Ab

4、stract: To set appropriate threshold value(ssthresh) of slow start and eliminate network oscillation caused by bursty traffic, a new measurement-based and phase-divided slow start mechanism was proposed, which was called MP-Start. MP-Start employs effective online bandwidth measurement technology to

5、 update the ssthresh with appropriate value dynamically, and adjusts the increment of congestion window(cwnd) in different phase of the startup. MP-Start increases cwnd with half of the difference between ssthesh and cwnd, iterates and gradually closes up ssthresh, of which the increment is small at

6、 start phase and end phase and comparatively large at the middle phase of the startup of a connection, the largest increment is no more than one quarter of ssthresh. In order to improve the performance of this algorithm, a flexible parameterized model and an adaptive parameter setting solution are d

7、esigned. And series simulation experiments indicate that MP-Start significantly decreases dropped packets, data transforming time, packet queue length of shared link, and also improves network performance and smoothness of connections.Key words: TCP; congestion control; slow start; measurement; phas

8、e-divided收稿日期:2006-04-30;修回日期:2007-08-17基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(60573127);國(guó)家重點(diǎn)基礎(chǔ)研究發(fā)展計(jì)劃(“973”計(jì)劃)基金資助項(xiàng)目(2005CB321801);湖南省自然科學(xué)基金資助項(xiàng)目(06JJ30032); 中國(guó)博士后科學(xué)基金資助項(xiàng)目(20060400879)Foundation Items: The National Natural Science Foundation of China (60573127); The National Basic Research Program of China (973 Program)

9、(2005CB321801); The Natural Science Foundation of Hunan Province (06JJ30032); The China Postdoctoral Science Foundation(20060400879)1 引言傳輸控制協(xié)議(TCP)提供了可靠的端到端的互聯(lián)網(wǎng)服務(wù),隨著互聯(lián)網(wǎng)應(yīng)用的不斷增加,網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,TCP成為一種最為廣泛配置的協(xié)議。TCP之所以能適應(yīng)互聯(lián)網(wǎng)的發(fā)展而成為一種主流的傳輸控制技術(shù)是因?yàn)槠洳扇×讼盗杏行У臋C(jī)制保證數(shù)據(jù)可靠傳輸和互聯(lián)網(wǎng)的穩(wěn)定運(yùn)行。自TCP產(chǎn)生以來(lái),研究者對(duì)擁塞控制進(jìn)行了大量的研究,產(chǎn)生了一系列改進(jìn)版本

10、13。最初的TCP Tahoe采用慢啟動(dòng)和擁塞避免機(jī)制1,TCP Reno2實(shí)現(xiàn)了丟包快速重傳和從擁塞狀態(tài)中快速恢復(fù),TCP New-Reno和TCP SACK3通過(guò)應(yīng)答消息返回發(fā)送端更完全的信息,可確定哪一個(gè)包丟失,解決了一個(gè)窗口中多個(gè)包丟失的問(wèn)題。TCP協(xié)議采用滑動(dòng)窗口機(jī)制,其中,慢啟動(dòng)主要應(yīng)用于連接的建立和分組超時(shí)丟棄后快速恢復(fù)階段。慢啟動(dòng)機(jī)制防止在建立TCP連接時(shí)發(fā)送速率過(guò)大導(dǎo)致網(wǎng)絡(luò)擁塞,將擁塞窗口從一個(gè)分組大小逐漸增加到一個(gè)門限閾值,有效避免了新連接加入時(shí)的突發(fā)流量導(dǎo)致網(wǎng)絡(luò)擁塞的發(fā)生。根據(jù)從建立到數(shù)據(jù)傳輸結(jié)束連接終止經(jīng)歷時(shí)間的長(zhǎng)短將連接分為長(zhǎng)生存期和短生存期連接。有研究表明4,互聯(lián)網(wǎng)

11、上數(shù)據(jù)傳輸大多數(shù)為短生存期連接(如Web請(qǐng)求),但是數(shù)量占少數(shù)的長(zhǎng)生存期連接(如FTP)傳送了大部分的數(shù)據(jù)量。短生存期連接的傳輸過(guò)程往往還沒(méi)有進(jìn)入穩(wěn)定運(yùn)行狀態(tài)就已經(jīng)終止,即連接經(jīng)常處于慢啟動(dòng)階段,顯然,慢啟動(dòng)機(jī)制的性能直接影響了短生存期連接的傳輸效率,而在實(shí)際應(yīng)用中,短生存期連接卻對(duì)帶寬和延遲都有較高的要求,從而對(duì)互聯(lián)網(wǎng)用戶產(chǎn)生了巨大的影響。對(duì)于長(zhǎng)生存期連接,慢啟動(dòng)機(jī)制將作用于連接啟動(dòng)階段和分組傳輸超時(shí)重傳階段,在網(wǎng)絡(luò)擁塞狀況下,對(duì)于長(zhǎng)生存期連接的性能也有一定的影響,因此,盡管慢啟動(dòng)經(jīng)歷的時(shí)間很短,但改善和提高慢啟動(dòng)的性能仍具有重要意義。TCP慢啟動(dòng)階段在分組正確應(yīng)答時(shí),擁塞窗口C變化規(guī)律如(

12、1)其中,C為擁塞窗口大小,S為慢啟動(dòng)門限值,T為分組的往返延遲。為了有效提高短生存期連接的傳送效率以及改善長(zhǎng)生存期連接的啟動(dòng)過(guò)程和丟包重啟過(guò)程的傳輸效率,研究者提出了系列改進(jìn)方法510。其中,M. Allman等設(shè)計(jì)一個(gè)更大的初始窗口,減少慢啟動(dòng)經(jīng)歷的時(shí)間且大大提高了短生存期連接的慢啟動(dòng)開(kāi)始階段的效率5;Padmanabhan提出TCP Fast-start6利用緩存最近的網(wǎng)絡(luò)參數(shù)保存網(wǎng)絡(luò)狀態(tài)來(lái)縮短新的一次慢啟動(dòng)的時(shí)間,從而顯著減少了短的突發(fā)的傳輸延遲,在網(wǎng)絡(luò)狀態(tài)比較穩(wěn)定的情況下,TCP Fast-start能減少了網(wǎng)絡(luò)性能的降低;SPAND(shared passive network d

13、iscovery)7通過(guò)提取當(dāng)前網(wǎng)絡(luò)狀態(tài)信息,獲得優(yōu)化的初始TCP參數(shù);J. Hoe采用將初始門限值(Sinit)設(shè)定網(wǎng)絡(luò)帶寬延遲乘積,以確保擁塞窗口增長(zhǎng)至一合適的值8;文獻(xiàn)9提出一種結(jié)合使用歷史連接參數(shù)和令牌技術(shù)的算法改善TCP協(xié)議的性能;TCP Vegas10采用了一定程度限制慢啟動(dòng)窗口的指數(shù)增長(zhǎng),即每2個(gè)往返時(shí)間間隔(T)把擁塞窗口增大一倍。以上方法從不同方面對(duì)TCP慢啟動(dòng)進(jìn)行了優(yōu)化,但均存在局限性,TCP Fast-start要求網(wǎng)絡(luò)運(yùn)行比較平穩(wěn),而隨著互聯(lián)網(wǎng)規(guī)模擴(kuò)大,帶寬的提高,網(wǎng)絡(luò)的振蕩幅度往往比較大;J. Hoe的方法在實(shí)際應(yīng)用中存在問(wèn)題,主要表現(xiàn)在對(duì)網(wǎng)絡(luò)的負(fù)荷變化不敏感,當(dāng)多個(gè)

14、數(shù)據(jù)流同時(shí)啟動(dòng)或新的流量注入網(wǎng)絡(luò),將導(dǎo)致多個(gè)分組丟失;基于歷史連接參數(shù)的方法還需進(jìn)一步探索網(wǎng)絡(luò)流量模式;TCP Vegas協(xié)議雖然限制了窗口的指數(shù)增長(zhǎng),但仍無(wú)法避免一個(gè)窗口中多個(gè)分組丟棄,并且在一定程度上降低了網(wǎng)絡(luò)的傳輸性能??紤]上述方法的局限性,本文提出了一種基于源端實(shí)時(shí)在線帶寬測(cè)量的分階段逐步逼近的慢啟動(dòng)算法MP-Start。其主要思想是通過(guò)源端在線測(cè)量網(wǎng)絡(luò)帶寬,對(duì)S動(dòng)態(tài)更新,基于此,在不同階段采用不同的調(diào)節(jié)策略,在連接啟動(dòng)之初采用標(biāo)準(zhǔn)的慢啟動(dòng)機(jī)制,窗口大小呈指數(shù)增長(zhǎng),當(dāng)C大于等于S/2時(shí),Ci1并不像標(biāo)準(zhǔn)慢啟動(dòng)那樣直接增加到S,而是增加(SCi)/2,并依此規(guī)律不斷循環(huán)下去,直到(SCi

15、)小于一設(shè)定的門限值,從而進(jìn)入擁塞避免階段。結(jié)合窗口指數(shù)增長(zhǎng)和負(fù)指數(shù)增長(zhǎng)逐步逼近的方法改變擁塞窗口變化規(guī)律,提高了慢啟動(dòng)的平滑性。2 基于帶寬測(cè)量的分階段TCP慢啟動(dòng)網(wǎng)絡(luò)數(shù)據(jù)傳輸中一個(gè)關(guān)鍵問(wèn)題是已加入和正在加入的網(wǎng)絡(luò)用戶是動(dòng)態(tài)變化的,導(dǎo)致對(duì)網(wǎng)絡(luò)帶寬資源使用和需求的不確定性,從而導(dǎo)致網(wǎng)絡(luò)帶寬的供需矛盾,如果能采取有效措施實(shí)時(shí)在線地測(cè)量出網(wǎng)絡(luò)的可用帶寬,為網(wǎng)絡(luò)流量管理提供依據(jù),保證帶寬的合理分配,將有利于網(wǎng)絡(luò)整體性能的提高。 實(shí)現(xiàn)有效TCP慢啟動(dòng)的困難TCP慢啟動(dòng)機(jī)制探測(cè)網(wǎng)絡(luò)帶寬,由于窗口從一開(kāi)始按指數(shù)增長(zhǎng)的固有特性,導(dǎo)致了2個(gè)主要問(wèn)題:第一,慢啟動(dòng)的窗口由一個(gè)分組開(kāi)始增加,達(dá)到一個(gè)合適的值,將耗

16、費(fèi)多個(gè)往返時(shí)間周期,此過(guò)程導(dǎo)致了短生存期連接對(duì)可用帶寬的低利用率,使窗口大小遠(yuǎn)小于路徑帶寬延遲乘積。因此,研究者提出使用一個(gè)更大的初始窗口和采用快啟動(dòng)5,6來(lái)減少慢啟動(dòng)過(guò)程所經(jīng)歷的時(shí)間,改善慢啟動(dòng)對(duì)網(wǎng)絡(luò)性能的影響。第二,源節(jié)點(diǎn)并不知道網(wǎng)絡(luò)可用資源的容量,在開(kāi)始階段使用系統(tǒng)默認(rèn)參數(shù),擁塞窗口的指數(shù)增長(zhǎng)往往誤導(dǎo)太快地發(fā)送過(guò)多的分組,使瓶頸鏈路緩存區(qū)嚴(yán)重溢出,出現(xiàn)一個(gè)發(fā)送窗口中多個(gè)分組丟棄,使TCP發(fā)送端失去自時(shí)鐘,接著,引發(fā)重傳超時(shí),導(dǎo)致網(wǎng)絡(luò)的全局同步;全局同步又將整個(gè)網(wǎng)絡(luò)的流量負(fù)載和排隊(duì)延遲的抖動(dòng),TCP性能大幅下降。因此利用有效的測(cè)量技術(shù),偵聽(tīng)網(wǎng)絡(luò)的可用帶寬,動(dòng)態(tài)修正慢啟動(dòng)窗口的S,克服靜態(tài)的

17、參數(shù)設(shè)置的缺陷,成為一種可能的途徑,但由于網(wǎng)絡(luò)中的數(shù)據(jù)流處于動(dòng)態(tài)變化,系統(tǒng)反應(yīng)具有滯后性,即使利用有效的測(cè)量機(jī)制也很難保證門限閾值與網(wǎng)絡(luò)可用帶寬的完全匹配,而慢啟動(dòng)的發(fā)送窗口是隨時(shí)間呈指數(shù)增長(zhǎng),最后一個(gè)T,其發(fā)送窗口增加幅度往往接近S/2,增加量最大,而此時(shí)發(fā)送端的發(fā)送速率卻比較接近網(wǎng)絡(luò)的可用帶寬,窗口增加過(guò)大容易造成大量分組丟失。因此在利用帶寬測(cè)量技術(shù)的基礎(chǔ)上,還應(yīng)改進(jìn)慢啟動(dòng)窗口增長(zhǎng)規(guī)律,才能有效解決慢啟動(dòng)性能低下問(wèn)題。目前標(biāo)準(zhǔn)的慢啟動(dòng)的窗口增加的速度如圖1中曲線a所示,窗口增加幅度越來(lái)越大。其實(shí),連接啟動(dòng)時(shí),避免初始發(fā)送窗口過(guò)大,導(dǎo)致網(wǎng)絡(luò)擁塞發(fā)生,應(yīng)從一個(gè)較小的窗口,逐漸增大,當(dāng)發(fā)送速率接

18、近網(wǎng)絡(luò)帶寬時(shí),發(fā)送窗口增大幅度應(yīng)逐漸減少,確保平滑接近網(wǎng)絡(luò)的帶寬過(guò)渡到擁塞避免階段(其增加速度應(yīng)超過(guò)擁塞避免階段的線性增加),如圖1中的曲線b所示。圖1 慢啟動(dòng)窗口增加速度2.2 基于TCP的實(shí)時(shí)在線帶寬測(cè)量帶寬測(cè)量技術(shù)應(yīng)用于端到端的流量控制主要是通過(guò)在線獲得網(wǎng)絡(luò)的狀態(tài) 從而對(duì)網(wǎng)絡(luò)行為進(jìn)行調(diào)節(jié),充分利用網(wǎng)絡(luò)資源,可分為被動(dòng)和主動(dòng)測(cè)量2種方式,被動(dòng)測(cè)量的主要功能在于記錄并統(tǒng)計(jì)網(wǎng)絡(luò)的行為,不增加和修改通過(guò)網(wǎng)絡(luò)的數(shù)據(jù)負(fù)載,對(duì)網(wǎng)絡(luò)的實(shí)際行為沒(méi)有影響;主動(dòng)測(cè)量注入網(wǎng)絡(luò)特定的帶寬探測(cè)分組,對(duì)網(wǎng)絡(luò)的運(yùn)行的流量產(chǎn)生影響,要基于TCP協(xié)議實(shí)現(xiàn)主動(dòng)帶寬測(cè)量,必須使探測(cè)流量符合TCP行為特征,對(duì)現(xiàn)有帶寬測(cè)量算法進(jìn)行

19、改進(jìn)。TCP Vegas10通過(guò)擁塞窗口與實(shí)際測(cè)量的T的比值(C/T)計(jì)算出實(shí)際傳送速率與期望的傳送速率的最大值(C/Tbase),將兩者的差值與兩門限值比較,調(diào)整發(fā)送端的發(fā)送速率,使傳送帶寬收斂于網(wǎng)絡(luò)可用帶寬。測(cè)量表達(dá)式Rt=Wt/T,Wt為擁塞窗口的大小,T為分組往返時(shí)間,通過(guò)計(jì)算上一個(gè)分組傳送的速率,作為計(jì)算當(dāng)前C大小和慢啟動(dòng)門限值S的依據(jù)。TCP Vegas的測(cè)量方法比較粗糙,在某種意義上來(lái)說(shuō)它只是用來(lái)判斷源端發(fā)送速率改變的趨勢(shì)。帶寬測(cè)量的算法主要有基于數(shù)據(jù)包對(duì)(packet pair)11和Pathchar算法12,基于數(shù)據(jù)包對(duì)算法由于其原理和實(shí)現(xiàn)簡(jiǎn)單,對(duì)網(wǎng)絡(luò)影響小,在帶寬測(cè)量中得到

20、廣泛應(yīng)用。數(shù)據(jù)包對(duì)算法的改進(jìn)算法多分組(multi-packet)模型考慮了一個(gè)流中其他分組情形和端到端的延遲,本研究將multi-packet模型與TCP協(xié)議結(jié)合,構(gòu)成一種基于TCP的multi-packet模型,嵌入到TCP協(xié)議中,只需源端進(jìn)行修改,對(duì)網(wǎng)絡(luò)中間節(jié)點(diǎn)和終端透明,基本原理如下:端到端的數(shù)據(jù)傳輸可以看作源端N1發(fā)送數(shù)據(jù)通過(guò)系列中間節(jié)點(diǎn)Ni和到達(dá)目的節(jié)點(diǎn)Nn,如圖2所示,其中N1為源節(jié)點(diǎn),Nn為目標(biāo)節(jié)點(diǎn),路徑R由n1條鏈路連接而成分別為li(1n1),帶寬分別為Bi,其中瓶頸鏈路lmin的帶寬為Bmin,分組的大小為P,假設(shè)數(shù)據(jù)傳輸過(guò)程中,路徑R沒(méi)有任何其他干擾流量,同時(shí)忽略目標(biāo)節(jié)

21、點(diǎn)返回應(yīng)答分組的延遲對(duì)網(wǎng)絡(luò)帶寬的影響,N1發(fā)送分組的時(shí)間間隔為,Tk為分組k的往返延遲,其他變量約定依此類推。圖2 網(wǎng)絡(luò)模型源節(jié)點(diǎn)N1發(fā)送分組k經(jīng)由各中間節(jié)點(diǎn)及鏈路到達(dá)目標(biāo)節(jié)點(diǎn)Nn,分組到達(dá)節(jié)點(diǎn)Ni的經(jīng)歷時(shí)間為前i1個(gè)節(jié)點(diǎn)上的排隊(duì)時(shí)間(源節(jié)點(diǎn)N1沒(méi)有排隊(duì)延遲)、在前i1條鏈路上的傳輸時(shí)間以及前i1條鏈路的處理時(shí)延之和11,即(2)其中,為分組k到達(dá)Ni的時(shí)間,為分組k在N1開(kāi)始發(fā)送的時(shí)間,P為分組的大小,bj為鏈路j的帶寬,tdj為分組在鏈路j傳播延遲,為分組k在鏈路j的排隊(duì)延遲。根據(jù)前述約定分析分組k在鏈路i的排隊(duì)延遲,由于沒(méi)有其他流量干擾,數(shù)據(jù)包在所有鏈路的起始端節(jié)點(diǎn)的排隊(duì)時(shí)間為0,即。如

22、果在第k+1個(gè)數(shù)據(jù)包到達(dá)第i個(gè)節(jié)點(diǎn)時(shí),第k個(gè)分組已經(jīng)離開(kāi)第i個(gè)節(jié)點(diǎn),那么第k+1個(gè)分組在節(jié)點(diǎn)i的排隊(duì)時(shí)間;否則,分組k到達(dá)節(jié)點(diǎn)i+1的時(shí)間為分組k+1到達(dá)節(jié)點(diǎn)i的時(shí)間、在鏈路i的傳播時(shí)間和鏈路i的排隊(duì)延遲之和,即 (3)基于上述2種情況,有分組k+1在鏈路i的排隊(duì)延遲為(4)分組k、k+1到達(dá)Nn的時(shí)間間隔為i=第k個(gè)分組沒(méi)有完全離開(kāi)瓶頸鏈路,第k+1個(gè)分組就到達(dá)瓶頸鏈路,兩分組到達(dá)目標(biāo)節(jié)點(diǎn)的時(shí)間間隔將由2個(gè)分組離開(kāi)瓶頸鏈路的時(shí)間差決定,如圖3所示,i=P/Bmin,有端到端的帶寬,即為瓶頸鏈路帶寬Be2e=Bmin=P/()=P/i(5)圖3 瓶頸鏈路與端到端分組間隔情況在實(shí)際的網(wǎng)絡(luò)帶寬測(cè)量

23、過(guò)程中,存在干擾流量,前述模型的假設(shè)條件無(wú)法滿足,網(wǎng)絡(luò)中的干擾流量會(huì)影響測(cè)量結(jié)果,干擾分組與探測(cè)分組混雜在一起,可以處于探測(cè)分組之前、之后對(duì)測(cè)量結(jié)果產(chǎn)生不同的影響。例如,采用分組對(duì)(packet pair)或多分組(multi-packet)技術(shù)測(cè)量鏈路的瓶頸帶寬時(shí),探測(cè)分組和其他分組在瓶頸鏈路處公平地排隊(duì),不能彼此相鄰排隊(duì),干擾分組處于探測(cè)分組之間將引起時(shí)間擴(kuò)展,導(dǎo)致低估瓶頸鏈路帶寬,干擾分組插入在瓶頸鏈路中的第一個(gè)分組之前將引起導(dǎo)致時(shí)間壓縮、高估瓶頸鏈路帶寬;同時(shí),不同TCP實(shí)現(xiàn)中存在有應(yīng)答壓縮現(xiàn)象,一個(gè)應(yīng)答表明多個(gè)分組正確傳送,業(yè)務(wù)量應(yīng)為多個(gè)分組大小之和,若不予以區(qū)分將導(dǎo)致低估網(wǎng)絡(luò)帶寬。

24、消除干擾流量對(duì)測(cè)量結(jié)果的影響成為分組對(duì)算法亟需解決的問(wèn)題,一般采用多次測(cè)量統(tǒng)計(jì)求平均值的方法,包括:直接求平均值,柱狀圖法或非參數(shù)估計(jì)方法,即核密度(kernel density)估計(jì)算法11;以上方法存在誤差大或計(jì)算復(fù)雜的缺陷,本研究引入指數(shù)移動(dòng)平均濾波器減少突發(fā)流量對(duì)網(wǎng)絡(luò)測(cè)量值的影響,指數(shù)平均系數(shù)取值一般為7/8左右2,采樣值中所占比例少的突發(fā)流量的影響將減少,同時(shí)確保了一定大小的取樣窗口,有測(cè)量帶寬Bt(6)其中,Bt_cur為據(jù)式(5)的瞬時(shí)測(cè)量值,Bt1為t1時(shí)刻帶寬測(cè)量值,慢啟動(dòng)門限值為帶寬和該窗口那所有分組的平均往返時(shí)間乘積與分組長(zhǎng)度的比值(7)其中,Tmean為平均往返時(shí)間,P

25、為分組大小。 基于帶寬測(cè)量的分階段慢啟動(dòng)機(jī)制MP-Start的核心思想是通過(guò)實(shí)時(shí)在線帶寬測(cè)量技術(shù)確定門限閾值S,在擁塞窗口小于門限值的一半的情況下遵循指數(shù)增長(zhǎng)規(guī)律,否則,擁塞窗口每次增加門限值與擁塞窗口之差的一半(SC)/2,逐步逼近門限值,直到其差值小于調(diào)節(jié)因子,同時(shí)將擁塞窗口設(shè)為門限值,從而進(jìn)入擁塞避免階段。與TCP Vegas的慢啟動(dòng)比較,當(dāng)取最小值,即=2時(shí),其經(jīng)歷的時(shí)間相同,即最長(zhǎng)慢啟動(dòng)時(shí)間與TCP Vegas相同,卻能有效降低窗口中多個(gè)分組丟棄的概率。C可以由式(8)表示(8)這種方法最大特點(diǎn)是在連接開(kāi)始啟動(dòng)和進(jìn)入擁塞避免的2個(gè)鄰近階段擁塞窗口增加幅度較小,變化比較平滑,能減少網(wǎng)絡(luò)

26、中其他共享連接的影響,保持了網(wǎng)絡(luò)運(yùn)行的穩(wěn)定,減少了網(wǎng)絡(luò)的抖動(dòng)。具體算法實(shí)現(xiàn)如圖4所示。1.初始化,C=2, S=Sinit,設(shè)置,;2.初始化k=1, Tmean = Tinit;3.發(fā)送C個(gè)分組;記錄每個(gè)分組發(fā)送時(shí)間;4.如果第k個(gè)分組正確應(yīng)答4.1 記錄分組返回時(shí)間,計(jì)算;if k=1 then Tmean =T1;4.2 else if k1計(jì)算Tmean,Tmean(k1)Tmean + Tk)/k根據(jù)式(5)計(jì)算當(dāng)前瞬時(shí)測(cè)量帶寬Bt_cur;if k=2 then Bt= Bt_cur ;計(jì)算測(cè)量帶寬Bt=Bt1+(1)Bt_cur ;估測(cè)慢啟動(dòng)門限值; k=k+1;4.4 if k

27、 = C then go to 4;4.5 if CS then C=S;轉(zhuǎn)5;4.7 else if (CS/2 & SC) thenC=(C + S)/2,轉(zhuǎn)2;4.8 else C=S ;5. 如果接收3個(gè)重復(fù)應(yīng)答或應(yīng)答超時(shí),則重新進(jìn)入慢啟動(dòng)階段;轉(zhuǎn)1;6.進(jìn)入擁塞避免階段;圖4 基于帶寬測(cè)量的分階段慢啟動(dòng)算法下面來(lái)比較最初的TCP13協(xié)議慢啟動(dòng)與MP-Start的窗口變化情況。首先,假設(shè)所有的分組都正確應(yīng)答,為分析方便令,根據(jù)慢啟動(dòng)原理,慢啟動(dòng)經(jīng)歷的時(shí)間,窗口變化情況如圖5所示,連接啟動(dòng)擁塞窗口C由1開(kāi)始隨T呈指數(shù)增長(zhǎng),前(N1)個(gè)T時(shí)間C增加到S/4,最后2個(gè)T時(shí)間周期里C分別增加S

28、/4和S/2,增幅達(dá)門限值S的3/4,尤其最后一個(gè)往返延時(shí)周期增加S/2,對(duì)于現(xiàn)在的高速網(wǎng)絡(luò),擁塞窗口都比較大,這種網(wǎng)絡(luò)的突發(fā)流量將對(duì)網(wǎng)絡(luò)的穩(wěn)定性造成極大影響,引起所有網(wǎng)絡(luò)連接的分組丟棄,形成網(wǎng)絡(luò)全局同步,網(wǎng)絡(luò)性能大幅下降。在MP-Start中,如圖6所示,在=2時(shí),C的最大增幅會(huì)出現(xiàn)兩次為S/4,大大減少了網(wǎng)絡(luò)突發(fā)流量,并且在連接啟動(dòng)的2個(gè)臨界區(qū)域變化平緩,雖然其性能較標(biāo)準(zhǔn)慢啟動(dòng)過(guò)程性能有所降低,但它結(jié)合在線帶寬測(cè)量技術(shù)能很好根據(jù)網(wǎng)絡(luò)狀態(tài)進(jìn)行調(diào)節(jié),克服了對(duì)網(wǎng)絡(luò)資源利用情況的不正確估計(jì),確保網(wǎng)絡(luò)的性能與效率。其實(shí),MP-Start是一種更通用的慢啟動(dòng)機(jī)制,其適用范圍更廣,當(dāng)參數(shù)取值為S/2時(shí),

29、MP-Start就轉(zhuǎn)變?yōu)闃?biāo)準(zhǔn)慢啟動(dòng),適當(dāng)取其他大于1的值可以在一定程度上減少慢啟動(dòng)經(jīng)歷的時(shí)間,并能適度提高網(wǎng)絡(luò)性能。與TCP Vegas相比,MP-Start的擁塞窗口的最大增幅小于TCP Vegas,變化更加平滑,且傳輸速率明顯高于TCP Vegas;MP-Start所作的工作只是將窗口增加幅度的分布范圍進(jìn)行了調(diào)整。圖5 TCP協(xié)議慢啟動(dòng)窗口大小變化圖6 MP-Start窗口大小變化(=2) 靈活的慢啟動(dòng)參數(shù)模型當(dāng)=2時(shí),算法MP-Start與TCP Vegas慢啟動(dòng)所經(jīng)歷的時(shí)間基本相同,不過(guò)MP-Start將窗口增加的粒度減少了,改變了分布時(shí)間段;與標(biāo)準(zhǔn)慢啟動(dòng)比較,C小于S/2時(shí),C隨T數(shù)

30、按2的指數(shù)增長(zhǎng),C大于S/2時(shí),C隨T數(shù)按C與S之和的指數(shù)的倒數(shù)增長(zhǎng),所經(jīng)歷時(shí)間約為標(biāo)準(zhǔn)慢啟動(dòng)的2倍,這將導(dǎo)致MP-Start性能降低,因此,有必要保證平滑啟動(dòng)和過(guò)渡的同時(shí)進(jìn)一步提高傳輸性能,引入了增長(zhǎng)因子為大于等于1的整數(shù)(1),表示源端每接收一個(gè)應(yīng)答,C增加的分組數(shù),可以用來(lái)反映慢啟動(dòng)窗口增加的快慢,例如,當(dāng)=1,=2時(shí),即為節(jié)所述算法;如果=3,=2,當(dāng)CS/2時(shí),每個(gè)T時(shí)間間隔C增加幅度為3(S-C)/4,直到S-C小于,如圖7所示。因此,MP-Start窗口變化的通用表達(dá)式如式(9)(9)圖7 各種慢啟動(dòng)機(jī)制的比較這種慢啟動(dòng)窗口改變算法,通過(guò)改變?cè)鲩L(zhǎng)因子的大小使窗口變化具有較大的靈活

31、性,在提高傳輸性能的同時(shí),還能有效克服采用較大初始窗口方法帶來(lái)突發(fā)流量的缺陷。MP-Start算法有利于改善在網(wǎng)絡(luò)中剩余帶寬足夠的條件下的短生命期連接的性能,如Web請(qǐng)求等;同時(shí)也適用于高帶寬長(zhǎng)延遲網(wǎng)絡(luò),即帶寬延遲乘積大的網(wǎng)絡(luò)中的數(shù)據(jù)傳輸,TCP協(xié)議的S的初始值一般設(shè)置為32或64 Kbyte,致使TCP流要經(jīng)過(guò)一段很長(zhǎng)的擁塞避免階段,才能使發(fā)送速率接近網(wǎng)絡(luò)帶寬,而MP-Start在慢啟動(dòng)過(guò)程中通過(guò)測(cè)量可以獲得較精確的帶寬延遲乘積,從而動(dòng)態(tài)改變S,通過(guò)慢啟動(dòng)階段可較快地達(dá)到網(wǎng)絡(luò)容量的發(fā)送速率。 自適應(yīng)參數(shù)設(shè)置前面已經(jīng)分析了引入增長(zhǎng)因子和限制因子能實(shí)現(xiàn)一個(gè)靈活的慢啟動(dòng)參數(shù)模型,能夠結(jié)合網(wǎng)絡(luò)帶寬測(cè)

32、量方法,改善網(wǎng)絡(luò)的性能,提高網(wǎng)絡(luò)的吞吐量,降低網(wǎng)絡(luò)的抖動(dòng)。然而,靜態(tài)的參數(shù)設(shè)置會(huì)使這種參數(shù)模型無(wú)法適應(yīng)網(wǎng)絡(luò)環(huán)境的變化,對(duì)于慢啟動(dòng)的改進(jìn)只能限于一種的特定的模式的優(yōu)化,使得該參數(shù)模型的應(yīng)用受到限制。因此,有必要實(shí)現(xiàn)自適應(yīng)的參數(shù)設(shè)置,滿足不同網(wǎng)絡(luò)環(huán)境需求,在此我們采用的方法與大多數(shù)網(wǎng)絡(luò)協(xié)議設(shè)計(jì)一樣是基于經(jīng)驗(yàn)的,一般連接的慢啟動(dòng)歷時(shí)不超過(guò)10個(gè)往返周期,即擁塞窗口小于1 024個(gè)分組大小,MP-Start也應(yīng)該滿足該約定。根據(jù)圖7和MP-Start的基本原理,假定往返時(shí)間,慢啟動(dòng)門限閾值為固定不變,各慢啟動(dòng)機(jī)制歷時(shí)情況如表1所示。表1啟動(dòng)階段經(jīng)歷時(shí)間Slow-startTCP VegasMP-Sta

33、rt =1, =2 =3, =2任意給定 , 參考中間節(jié)點(diǎn)采用的分組丟棄策略的隨機(jī)早期檢測(cè)(RED)算法14,其思想是中間節(jié)點(diǎn)緩存區(qū)的占用低于下限閾值時(shí),分組全部通過(guò);在下限閾值與上限閾值之間分組的丟棄率由60線性增加到一設(shè)定值Pmax;分組占有率高于上限閾值,全部丟棄分組。MP-Start算法采用下面自適應(yīng)參數(shù)設(shè)置方法:1) 參數(shù)的設(shè)定保持與較大的初始慢啟動(dòng)窗口5選項(xiàng)一致。2) 當(dāng)S足夠大,即,基于性能考慮MP-Start經(jīng)歷時(shí)間不能超過(guò)10T,因此,參數(shù),滿足下面條件3) 當(dāng)S比較小,標(biāo)準(zhǔn)慢啟動(dòng)所經(jīng)歷時(shí)間不超過(guò)5個(gè)往返時(shí)間周期,即S小于等于32個(gè)分組大小,MP-Start保持與標(biāo)準(zhǔn)慢啟動(dòng)相

34、同的擁塞窗口增長(zhǎng)率。4) 當(dāng)S在這2個(gè)門限值之間,即,的取值在情況2)、3)兩種取值之間逐漸增加,取這樣 的值可以保持相對(duì)比較平滑的變化。基于上述的自適應(yīng)策略,在S較小的情況下基本沒(méi)有發(fā)生作用,而在高帶寬長(zhǎng)延遲的網(wǎng)絡(luò)環(huán)境下,具有顯著效果。這種自適應(yīng)參數(shù)設(shè)置還不夠完善,不同網(wǎng)絡(luò)環(huán)境下?lián)砣翱谠黾恿6韧蛔儑?yán)重,高效平滑調(diào)節(jié)的自適應(yīng)機(jī)制還有待進(jìn)一步的研究。 3 網(wǎng)絡(luò)仿真與分析為了驗(yàn)證分階段慢啟動(dòng)算法的有效性,本文采用目前網(wǎng)絡(luò)研究廣泛使用的網(wǎng)絡(luò)模擬器15,操作系統(tǒng)為,實(shí)現(xiàn)了MP-Start算法,實(shí)驗(yàn)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖8所示,對(duì)包括TCP Reno標(biāo)準(zhǔn)慢啟動(dòng),TCP Vegas慢啟動(dòng)和MP-Start慢

35、啟動(dòng)機(jī)制進(jìn)行仿真實(shí)驗(yàn)。為綜合考察基于測(cè)量的分階段慢啟動(dòng)的性能,設(shè)計(jì)了多個(gè)實(shí)驗(yàn)方案,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了比較分析。圖8 網(wǎng)絡(luò)仿真拓?fù)鋵?shí)驗(yàn)網(wǎng)絡(luò)模型如圖8所示,假設(shè)有N個(gè)連接經(jīng)過(guò)一段共享鏈路,即路由器R1,R2構(gòu)成的鏈路為這N個(gè)連接的共同瓶頸,路由器所在瓶頸鏈路的帶寬B為,圖8中標(biāo)記的時(shí)間均為鏈路傳播延遲。分組大小為1KB。緩存區(qū)容量L為25個(gè)分組的大小,網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)類型為FTP。在實(shí)驗(yàn)1中,在鏈路中注入固定的背景流量,使得TCP會(huì)話分享1Mbit/s帶寬和8個(gè)分組大小的緩存區(qū),路由器使用FIFO(first in first out)的分組調(diào)度算法,瓶頸鏈路采用去尾(droptail)分組丟棄策略

36、,根據(jù)網(wǎng)絡(luò)的特點(diǎn)可以計(jì)算出網(wǎng)絡(luò)的帶寬延遲乘積(PBD)由于分組大小為1KB,故PBD約為12個(gè)分組,整個(gè)管道中總共能容納的分組數(shù)為帶寬延遲乘積與緩存容量?jī)烧咧?0。網(wǎng)絡(luò)傳送的文件大小為60KByte。在TCP協(xié)議中,源端發(fā)送窗口W取值為擁塞窗口C和接收端通告窗口Wr中的較小者,即Wmin( C , Wr )本實(shí)驗(yàn)Wr分別取18、20、24、36、64個(gè)分組,用以約束發(fā)送窗口的最大值不超過(guò)Wr,利用Wr來(lái)限定S的值,分別處于大于、等于和小于網(wǎng)絡(luò)的實(shí)際帶寬情況。圖9顯示了各慢啟動(dòng)機(jī)制分組丟棄數(shù)與窗口大小的關(guān)系,實(shí)驗(yàn)結(jié)果表明MP- Start能夠較準(zhǔn)確估測(cè)網(wǎng)絡(luò)帶寬,動(dòng)態(tài)設(shè)定S滿足網(wǎng)絡(luò)傳輸?shù)臈l件,尤

37、其在設(shè)定網(wǎng)絡(luò)允許發(fā)送速率大于網(wǎng)絡(luò)帶寬的情況下大大降低了分組數(shù)。圖9 分組丟棄數(shù)與最大發(fā)送窗口關(guān)系在上述網(wǎng)絡(luò)環(huán)境中,改變傳輸文件的大小,同時(shí)將接收端的通告窗口設(shè)置為足夠大,丟包情況如圖10所示,在傳輸文件較小時(shí),數(shù)據(jù)流還沒(méi)有注滿整個(gè)連接管道,文件已經(jīng)傳輸完成,因此沒(méi)有分組丟棄,當(dāng)傳輸文件不斷增大,標(biāo)準(zhǔn)慢啟動(dòng)和TCP Vegas由于不能準(zhǔn)確判斷網(wǎng)絡(luò)的狀態(tài),發(fā)送過(guò)量數(shù)據(jù)超過(guò)網(wǎng)絡(luò)的容量,導(dǎo)致緩存區(qū)溢出,而導(dǎo)致更多分組丟棄,MP-Start通過(guò)在線估測(cè)網(wǎng)絡(luò)帶寬和平滑增加發(fā)送速率,分組丟棄數(shù)大大降低,當(dāng)文件進(jìn)一步增大,連接將快速恢復(fù),并進(jìn)入擁塞避免階段,丟棄分組數(shù)不再明顯增加。圖10 分組丟棄數(shù)與傳輸文件

38、大小的關(guān)系在實(shí)驗(yàn)2中,考察慢啟動(dòng)階段的網(wǎng)絡(luò)的性能、利用率和吞吐量。根據(jù)前面分析,在網(wǎng)絡(luò)沒(méi)有發(fā)生擁塞的情況下,各慢啟動(dòng)經(jīng)歷的時(shí)間如表1所示。MP-Start通過(guò)帶寬測(cè)量,獲得網(wǎng)絡(luò)狀態(tài),能有效降低分組丟棄的概率,由于網(wǎng)絡(luò)的動(dòng)態(tài)性以及滯后反饋,帶寬測(cè)量方法并不能絕對(duì)避免擁塞的發(fā)生;不論是否發(fā)生擁塞,MP-Start可通過(guò)選取適當(dāng)?shù)膮?shù)獲得較高的性能,表2為各慢啟動(dòng)機(jī)制的網(wǎng)絡(luò)利用率情況比較,實(shí)驗(yàn)結(jié)果表明在沒(méi)有擁塞發(fā)生的情況下標(biāo)準(zhǔn)慢啟動(dòng)的傳輸性能比TCP Vegas和MP-Start(=1,=2)要好,但比MP-Start(=3, =2)要差,MP-Start可以通過(guò)參數(shù)配置獲得更好的性能,當(dāng)CS進(jìn)入擁

39、塞避免階段后TCP Vegas的性能較好,MP-Start對(duì)不同參數(shù)選取表現(xiàn)出不同的性能。表2各慢啟動(dòng)機(jī)制性能比較時(shí)間/sSlow-startTCP VegasMP-Start=1,=2=3,=2248.6%35.1%55.7%69.6%474.3%82.2%88.2%89.6%684.1%91.3%92.8%93.2%887.5%93.5%95.3%95.4%進(jìn)一步,改變通過(guò)瓶頸鏈路的連接數(shù),考察各慢啟動(dòng)機(jī)制的傳輸性能,傳送文件大小為30KB,連接的往返延遲分別為50ms,200ms,同時(shí)啟動(dòng)5個(gè)基于RealAudio的UDP連接產(chǎn)生VBR的背景流量,burst time為10s, idle

40、 time為1s,網(wǎng)絡(luò)中連接數(shù)最大取值為30。圖11顯示了不同連接數(shù)下完成文件傳輸所需時(shí)間,實(shí)驗(yàn)結(jié)果看來(lái),Slow-start和TCP Vegas與UDP流量競(jìng)爭(zhēng)資源時(shí)處于不利位置,MP-Start能夠利用在線測(cè)量技術(shù)利用網(wǎng)絡(luò)的有效帶寬,MP-Start性能明顯優(yōu)于Slow-start和TCP Vegas,總體來(lái)看平均完成時(shí)間降幅達(dá)30%80%,TCP Vegas的性能優(yōu)于Slow-start;MP-Start由于能在線估測(cè)帶寬,在各種情況下都獲得較高的性能,其參數(shù)取值為=2,=2。在實(shí)驗(yàn)3中,為驗(yàn)證各慢啟動(dòng)機(jī)制對(duì)網(wǎng)絡(luò)的穩(wěn)定性的影響,監(jiān)測(cè)其突發(fā)流量,共享鏈路采用隨機(jī)早期檢測(cè)(RED, rand

41、om early detection)14分組丟棄策略獲得瞬時(shí)隊(duì)列長(zhǎng)度,分別利用Slow-start和MP-Start(=1, =2)從開(kāi)始每隔啟動(dòng)一個(gè)新的FTP會(huì)話,每個(gè)連接持續(xù)后終止。瓶頸鏈路瞬時(shí)隊(duì)列長(zhǎng)度如圖12所示,結(jié)果表明MP-Start有效維持網(wǎng)絡(luò)的穩(wěn)定,其窗口變化相對(duì)平滑,因此瞬時(shí)隊(duì)列長(zhǎng)度的抖動(dòng)幅度也相對(duì)較小。圖11 不同連接數(shù)的性能比較圖12 慢啟動(dòng)瞬時(shí)隊(duì)列長(zhǎng)度比較實(shí)驗(yàn)表明基于測(cè)量的分階段慢啟動(dòng)機(jī)制能夠有效的降低網(wǎng)絡(luò)傳輸分組丟棄,減輕網(wǎng)絡(luò)的抖動(dòng),適當(dāng)配置慢啟動(dòng)參數(shù)能縮短慢啟動(dòng)持續(xù)時(shí)間,提高網(wǎng)絡(luò)傳輸性能。網(wǎng)絡(luò)帶寬的測(cè)量與預(yù)測(cè)的精確性直接關(guān)系到改進(jìn)算法性能,在NS2的TCP協(xié)議中嵌入

42、該測(cè)量方法實(shí)現(xiàn)端到端的帶寬測(cè)量,將TCP連接分別和基于CBR流量以及RealAudio的VBR流量的UDP連接共同分享瓶頸鏈路帶寬驗(yàn)證測(cè)量的有效性。瓶頸鏈路的帶寬為5Mbit/s,單向延遲為30ms,對(duì)于到達(dá)的分組以FIFO方式調(diào)度。第一個(gè)測(cè)量場(chǎng)景中采用CBR背景流量,首先啟動(dòng)一個(gè)1Mbit/s的CBR的UDP連接同時(shí)啟動(dòng)網(wǎng)絡(luò)帶寬測(cè)量;50s后,第二個(gè)UDP連接啟動(dòng)持續(xù)50s,然后狀態(tài)每隔50s由ON/OFF交替轉(zhuǎn)化,經(jīng)過(guò)300s,關(guān)閉所有連接,測(cè)量結(jié)果如圖13所示,結(jié)果表明測(cè)量結(jié)果基本與實(shí)際帶寬基本吻合,圖中的actual-bw為瓶頸鏈路容量與產(chǎn)生的背景流量的理想峰值之差,由于各NS2流量生

43、成器產(chǎn)生的流量具有固有的模式,因此actual-bw并不是完全意義上的網(wǎng)絡(luò)實(shí)際帶寬,以后各圖在此一并說(shuō)明。圖13 基于CBR背景流量的帶寬測(cè)量結(jié)果比較第二個(gè)測(cè)量場(chǎng)景中先啟動(dòng)10個(gè)100kbit/s的基于Pareto VBR流量的UDP連接,啟動(dòng)帶寬測(cè)量,50s后,再啟動(dòng)10個(gè)100kbit/s的Pareto的UDP連接并持續(xù)50s,然后每隔50s交替關(guān)閉/啟動(dòng)10個(gè)100kbit/s的Pareto的UDP連接,其中VBR traffic的busrt time/idle time為10s/1s,經(jīng)過(guò)300s,測(cè)量結(jié)束,測(cè)量結(jié)果如圖14所示,測(cè)量結(jié)果在大部分情況能很好地與實(shí)際帶寬吻合;實(shí)驗(yàn)中當(dāng)選用

44、Pareto、Exponential和RealAudio 3種不同的VBR流時(shí),流量突發(fā)性也各不相同,當(dāng)選用RealAudio生成VBR流量時(shí)busrt/idle為NS2默認(rèn)設(shè)置時(shí)測(cè)量結(jié)果如圖15所示,RealAudio突發(fā)時(shí)間短,空閑時(shí)間較長(zhǎng),平均流量遠(yuǎn)沒(méi)有達(dá)到其峰值帶寬,因此形成圖中針狀鋸齒的測(cè)量結(jié)果。在慢啟動(dòng)階段試探性增加發(fā)送流量,測(cè)量結(jié)果趨向于比較保守,即測(cè)量結(jié)果會(huì)略低于網(wǎng)絡(luò)的實(shí)際帶寬,盡管如此其性能還是會(huì)優(yōu)于另兩種慢啟動(dòng)。圖14 基于Pareto VBR背景流量的帶寬測(cè)量結(jié)果比較圖15 基于RealAudio VBR背景流量的帶寬測(cè)量結(jié)果比較進(jìn)一步驗(yàn)證MP-Start對(duì)于不同網(wǎng)絡(luò)環(huán)境

45、的適應(yīng)性,不斷改變網(wǎng)絡(luò)瓶頸鏈路的容量,分別取5,10,20, 40,100Mbit/s,比較3種算法慢啟動(dòng)階段的吞吐量性能。實(shí)驗(yàn)時(shí),向網(wǎng)絡(luò)中注入占瓶頸鏈路容量分別10的CBR和基于Pareto的VBR的混合背景流量,分別計(jì)算3種慢啟動(dòng)算法前15s的吞吐量,結(jié)果如圖16所示。結(jié)果顯示Slow-start由于受限于固定的S,其吞吐量不能隨著網(wǎng)絡(luò)容量增加而增加,TCP Vegas通過(guò)基于監(jiān)測(cè)往返延時(shí),利用W/T來(lái)估測(cè)網(wǎng)絡(luò)帶寬,在網(wǎng)絡(luò)T固定不變的情況下,TCP Vegas吞吐量增加到16Mbit/s后,吞吐量隨網(wǎng)絡(luò)容量增加就不明顯。MP-Start通過(guò)在線測(cè)量網(wǎng)絡(luò)帶寬,使得端到端的吞吐量能夠隨網(wǎng)絡(luò)容量

46、增加而增加,使得傳輸效率較前兩種算法大幅提升;在網(wǎng)絡(luò)容量增大時(shí),增長(zhǎng)因子 =2比=1性能更加突出。圖16 瓶頸鏈路容量與端到端吞吐量比較MP-Start能夠適應(yīng)網(wǎng)絡(luò)環(huán)境的變化,在網(wǎng)絡(luò)帶寬乘積較大情況下具有較好的性能,改變網(wǎng)絡(luò)帶寬和往返延遲,形成不同的帶寬延遲乘積,比較標(biāo)準(zhǔn)慢啟動(dòng)和MP-Start的窗口變化情況和網(wǎng)絡(luò)利用率。網(wǎng)絡(luò)帶寬分別為10Mbit/s、50Mbit/s,往返延遲分別為50ms、100ms、200ms。TCP Reno慢啟動(dòng)的門限初始值Sinit為32KByte,分組大小為1 000Byte,選擇不同的帶寬和往返延遲形成帶寬延遲乘積。圖17、18分別顯示帶寬為10Mbit/s、

47、50Mbit/s,往返延遲分別為50ms、100ms、200ms時(shí)reno和MP-Start的C的變化情況。圖17 擁塞窗口C的變化(帶寬為10Mbit/s)圖18 擁塞窗口C的變化(帶寬為50Mbit/s)圖17、圖18表明TCP Reno不能夠適應(yīng)網(wǎng)絡(luò)環(huán)境的變化,在BDP較大的情況下,Reno過(guò)早地進(jìn)入擁塞避免階段,C呈線性增長(zhǎng),網(wǎng)絡(luò)利用率低,往返延遲越長(zhǎng),性能越差,當(dāng)網(wǎng)絡(luò)帶寬由10Mbit/s改變?yōu)?0Mbit/s,TC的變化并未因帶寬增加而調(diào)整,圖中顯示兩者基本一樣,因此帶寬增加的情況下,帶寬利用率更低。MP-Start能夠通過(guò)帶寬測(cè)量和參數(shù)改變動(dòng)態(tài)適應(yīng)網(wǎng)絡(luò)環(huán)境的變化,圖中顯示MP-S

48、tart能夠平滑地啟動(dòng)和平滑地過(guò)渡到擁塞避免階段,不容易產(chǎn)生多個(gè)分組丟棄;并且能夠根據(jù)網(wǎng)絡(luò)BDP的大小,調(diào)節(jié)C的增加速度,迅速地達(dá)到S,從而充分利用網(wǎng)絡(luò)帶寬資源,圖中顯示在不同的帶寬和往返延遲下,MP-Start都能迅速將發(fā)送速率調(diào)整到接近網(wǎng)絡(luò)容量,大大提升了慢啟動(dòng)的性能。4 結(jié)束語(yǔ)本文分析了TCP慢啟動(dòng)機(jī)制對(duì)于網(wǎng)絡(luò)傳輸?shù)挠绊懸约皩?shí)現(xiàn)高效穩(wěn)定啟動(dòng)TCP連接存在的困難,探討了帶寬測(cè)量技術(shù)在TCP協(xié)議中的應(yīng)用,并設(shè)計(jì)了一種基于TCP協(xié)議的網(wǎng)絡(luò)帶寬測(cè)量方法,在此基礎(chǔ)上,提出了一種基于帶寬測(cè)量的分階段TCP慢啟動(dòng)機(jī)制。該機(jī)制能利用測(cè)量技術(shù)獲得的網(wǎng)絡(luò)帶寬,調(diào)節(jié)慢啟動(dòng)門限值;應(yīng)用分階段擁塞窗口增加規(guī)律,實(shí)

49、現(xiàn)了慢啟動(dòng)快速平滑過(guò)渡到擁塞避免階段,有效減少了多個(gè)分組丟棄對(duì)傳輸性能的損害,提高了網(wǎng)絡(luò)性能。不過(guò),MP-Start算法采用在線實(shí)時(shí)測(cè)量增加了源端的計(jì)算量,這在PC處理能力不斷增強(qiáng)的互聯(lián)網(wǎng)上影響不大,可用帶寬測(cè)量的精度對(duì)于傳輸控制的效果起到關(guān)鍵作用,因此算法要適應(yīng)帶寬不對(duì)稱網(wǎng)絡(luò),還需進(jìn)一步改進(jìn)測(cè)量方法。下一步的工作是在線帶寬測(cè)量技術(shù)應(yīng)用到TCP的擁塞避免和快速重傳與恢復(fù)機(jī)制改進(jìn)中,利用網(wǎng)絡(luò)測(cè)量方法估測(cè)網(wǎng)絡(luò)瓶頸鏈路隊(duì)列長(zhǎng)度判斷網(wǎng)絡(luò)擁塞程度,在隊(duì)列長(zhǎng)度小于某一閾值時(shí),遵循現(xiàn)有窗口線性增加規(guī)律,大于閾值時(shí),將窗口線性增加的斜率降低,使網(wǎng)絡(luò)數(shù)據(jù)傳輸速率盡量長(zhǎng)時(shí)間維持在接近網(wǎng)絡(luò)容量的范圍;以及往返延遲實(shí)

50、現(xiàn)一種基于帶寬測(cè)量全面優(yōu)化各機(jī)制網(wǎng)絡(luò)傳輸協(xié)議是我們進(jìn)一步研究的內(nèi)容。參考文獻(xiàn):1JACOBSON V. Congestion avoidance and controlJ. ACM Computer Communications Review, 1988, 18(4): 314-329.2JACOBSON V. Berkeley TCP evolution from 4.3-tahoe to 4.3 renoA. Proceedings of the 18th Internet Engineering Task ForceC. Vancouver, BC, 1990. 365.3FALL K, FLOYD S. Simulation-based comparisons of tahoe, reno, and SACK TCPJ. Computer Communication Review, 1996, 26(3): 5-21.4THOMPSON K, MILLER G J, WILDER R. Wide-ar

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論