




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 tcp擁塞控制機(jī)制slow-start淺析 尚建貞 摘要:tcp協(xié)議在internet中廣泛使。但隨著網(wǎng)絡(luò)通信量的增加,網(wǎng)絡(luò)擁塞不可避免。如何有效的處理網(wǎng)絡(luò)擁塞,成為網(wǎng)絡(luò)研究的熱門(mén)問(wèn)題,人們也提出了很多不同的解決方案。slow-start(慢開(kāi)始)算法通過(guò)設(shè)置接收窗口、擁塞窗口兩個(gè)變量和一套完整的控制機(jī)制,可以有效避免擁塞的發(fā)生,但網(wǎng)絡(luò)中的數(shù)據(jù)流是動(dòng)態(tài)變化的,任何一種擁塞控制算法都不可能完全避免擁塞的發(fā)生,slow-start算法也有其自身的局限性。關(guān)鍵詞: tcp; 擁塞控制; slow-start; 接收窗口; 擁塞窗口:tp393.0
2、4 :a :1009-3044(2018)31-0045-02slow-start analysis of tcp congestion control mechanismshang jian-zhen(henan university of animal husbandry and economy, zhengzhou 450044, china)abstract:the tcp is widely used in internet. but with the increase of
3、network traffic, network congestion is inevitable. how to deal with network congestion effectively has become a hot issue in network research. people also put forward many different solutions. slow-start algorithm can effectively avoid congestion by setting two variables of receiving window, congest
4、ion window and a complete set of control mechanism. however, the data flow in the network is dynamic, and any congestion control algorithm can not completely avoid the occurrence of congestion. slow-start algorithm also has its own limitations.key words: tcp; congestion control; slow-start; receivin
5、g window; congestion window1 引言internet具有資源共享的屬性,所以從某種意義上來(lái)說(shuō)他不能因?yàn)榫W(wǎng)絡(luò)資源不足而限制用戶的數(shù)量,拒絕提供服務(wù)。當(dāng)網(wǎng)絡(luò)資源有限的時(shí)候,只能降低服務(wù)質(zhì)量繼續(xù)為有需要的用戶提供服務(wù)。擁塞的發(fā)生是由于網(wǎng)絡(luò)資源的缺乏引起,但是單純的增加網(wǎng)絡(luò)資源并不能避免擁塞的發(fā)生。當(dāng)數(shù)據(jù)包在網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)結(jié)點(diǎn)中經(jīng)過(guò)長(zhǎng)期時(shí)間排隊(duì)完成轉(zhuǎn)發(fā)時(shí),數(shù)據(jù)包本身可能早已超時(shí);源結(jié)點(diǎn)因?yàn)槲词盏綄?duì)這些數(shù)據(jù)包的確認(rèn),會(huì)誤認(rèn)為超時(shí)而重發(fā)這些數(shù)據(jù)包。但是這些數(shù)據(jù)包已經(jīng)轉(zhuǎn)發(fā)到了下一跳結(jié)點(diǎn),這樣就會(huì)浪費(fèi)網(wǎng)絡(luò)資源,進(jìn)一步加重網(wǎng)絡(luò)擁塞。實(shí)際上,轉(zhuǎn)發(fā)結(jié)點(diǎn)因?yàn)榫彺婵臻g不足而丟包更多的由于網(wǎng)絡(luò)擁塞
6、引起的,它并不是引起網(wǎng)絡(luò)擁塞的主要原因。另外,單純提高數(shù)據(jù)鏈路的傳輸速率和提高轉(zhuǎn)發(fā)結(jié)點(diǎn)的處理能力也不能從根本上解決擁塞問(wèn)題。當(dāng)網(wǎng)絡(luò)的負(fù)載超出了它的處理能力時(shí),擁塞就會(huì)發(fā)生。為了防止出現(xiàn)網(wǎng)絡(luò)擁塞,tcp設(shè)計(jì)了很多的擁塞控制機(jī)制。雖然網(wǎng)絡(luò)層也試圖處理?yè)砣麊?wèn)題,但大多數(shù)的擁塞控制是由傳輸層的tcp協(xié)議完成,因?yàn)榻鉀Q網(wǎng)絡(luò)擁塞問(wèn)題的最根本的方法,是減慢數(shù)據(jù)發(fā)送的速率。擁塞控制是一種用來(lái)調(diào)整tcp連接上發(fā)送數(shù)據(jù)包速率的算法,通過(guò)對(duì)發(fā)送數(shù)據(jù)包速率的調(diào)整,使之無(wú)限接近當(dāng)前網(wǎng)絡(luò)不斷變化的吞吐量。1999年發(fā)布的rfc2581中定義了三種算法:slow-start(慢開(kāi)始),congestion avoidanc
7、e(擁塞避免)和fast recovery(快速恢復(fù))。本文僅討論其中的slow-start算法。2 slow-start(慢開(kāi)始)算法解決網(wǎng)絡(luò)擁塞問(wèn)題,要考慮兩個(gè)方面:網(wǎng)絡(luò)處理能力和接收方的處理能力。既要考慮發(fā)送端的發(fā)送速率不會(huì)擁塞網(wǎng)絡(luò)也要考慮接收端的處理能力。為此,對(duì)于每一個(gè)tcp連接,都會(huì)維持以下兩個(gè)狀態(tài)變量:(1)接收方窗口大小rwinsize(riceiver window size):接收方根據(jù)當(dāng)前處理能力所允許的窗口大小,也就是tcp報(bào)文段頭部中窗口大小字段,這是來(lái)自接收方的流量控制。(2)擁塞窗口大小cwinsize(congestion window size):是發(fā)送方根據(jù)
8、網(wǎng)絡(luò)擁塞情況自己估算的發(fā)送窗口的大小,是來(lái)自發(fā)送端的流量控制。發(fā)送方確定擁塞窗口的原則是:只要網(wǎng)絡(luò)沒(méi)有出現(xiàn)擁塞,就把cwinsize的值增大一些,以便把更多的報(bào)文段發(fā)送出去;如果網(wǎng)絡(luò)出現(xiàn)了擁塞,就把cwinsize的值減小一些,以減少發(fā)送到網(wǎng)絡(luò)中的數(shù)據(jù)量。發(fā)送端如何確定網(wǎng)絡(luò)出現(xiàn)擁塞呢?當(dāng)網(wǎng)絡(luò)發(fā)生擁塞時(shí),路由器就會(huì)把一些無(wú)法處理的數(shù)據(jù)包丟棄,所以發(fā)送端如果沒(méi)有收到已發(fā)送報(bào)文的確認(rèn)報(bào)文,就可以認(rèn)為網(wǎng)絡(luò)出現(xiàn)了擁塞。以上兩個(gè)變量中,當(dāng)rwinsize<cwinsize時(shí),說(shuō)明網(wǎng)絡(luò)的處理能力大于接收的數(shù)據(jù)處理能力,但是發(fā)送方也只能照顧接收端的處理能力,把發(fā)送窗口設(shè)置為rwinsize大小;
9、0; rwinsize>cwinsize時(shí),說(shuō)明接收端處理能力大于網(wǎng)絡(luò)的處理能力,但為了避免網(wǎng)絡(luò)擁塞,發(fā)送方也只能把發(fā)送窗口設(shè)置為cwinsize的大小。所以,發(fā)送方發(fā)送窗口的最大值,應(yīng)當(dāng)取cwinsize和rwinsize這兩個(gè)變量中較小的一個(gè)。所有的tcp實(shí)現(xiàn)中,都支持一種擁塞控制的算法慢開(kāi)始算法(slow start)。假定用報(bào)文段的個(gè)數(shù)作為窗口大小的單位,而且接收端的rwinsize足夠大,所以發(fā)送窗口只受cwinsize的制約。慢開(kāi)始算法的原理可以這樣表述:(1)發(fā)送端由小到大,逐漸增大cwinsize的值,而不是開(kāi)始發(fā)送時(shí)就設(shè)置一個(gè)比較大的值。這樣可以使發(fā)送端在開(kāi)始發(fā)送時(shí)發(fā)送
10、到網(wǎng)絡(luò)中的數(shù)據(jù)量大大減少,對(duì)于避免網(wǎng)絡(luò)擁塞非常有利。同時(shí),每收到對(duì)一個(gè)報(bào)文的確認(rèn),就使cwinsize的值加1。例如,開(kāi)始時(shí)cwinsize=1,發(fā)送第一個(gè)報(bào)文段m1;收到確認(rèn)后cwinsize加1,此時(shí)cwinsize=2;可以再發(fā)送2個(gè)報(bào)文,收到2個(gè)確認(rèn)報(bào)文后cwinsize加2,此時(shí)cwinsize=4;可以再發(fā)送4個(gè)報(bào)文,收到4個(gè)確認(rèn)報(bào)文后cwinsize加4,此時(shí)cwinsize=8??梢钥吹?,在這個(gè)過(guò)程中,cwinsize的數(shù)值呈指數(shù)級(jí)增長(zhǎng),速度很快。(2)為防止cwinsize增長(zhǎng)過(guò)快(無(wú)限制的增長(zhǎng),最終會(huì)擁塞網(wǎng)絡(luò)),設(shè)置一個(gè)臨界值tmp。當(dāng)cwinsize>tmp時(shí),每經(jīng)
11、過(guò)一段時(shí)間(一般是一個(gè)往返時(shí)延rtt)cwinsize值只加1,而不管這段時(shí)間內(nèi)收到了幾個(gè)確認(rèn)報(bào)文。此時(shí)cwinsize的數(shù)值呈線性增長(zhǎng),速度大大慢了下來(lái)。(3)不管在上述的任何一個(gè)階段,只要網(wǎng)絡(luò)發(fā)生了擁塞(發(fā)送方?jīng)]有收到確認(rèn)或者是收到了重復(fù)的確認(rèn)信息),就把tmp的數(shù)值設(shè)置為發(fā)生擁塞時(shí)cwinsize數(shù)值的一半,同時(shí)把cwinsize重新設(shè)置為初始值,重新開(kāi)始(1)的過(guò)程。這樣做可以迅速減少發(fā)送方發(fā)送到網(wǎng)絡(luò)中的數(shù)據(jù)量,使發(fā)生擁塞的網(wǎng)絡(luò)路由器有足夠的時(shí)間處理隊(duì)列中的數(shù)據(jù)分組。圖1說(shuō)明了上述慢開(kāi)始算法進(jìn)行擁塞控制的過(guò)程。(1)tcp連接進(jìn)行初始化,設(shè)置擁塞窗口cwinsize=1,臨界值tmp=
12、16。(2)開(kāi)始執(zhí)行慢開(kāi)始算法,發(fā)送端每收到一個(gè)對(duì)已發(fā)送報(bào)文段的確認(rèn),cwinsize就加1,然后開(kāi)始下一次傳輸,所以發(fā)送窗口隨著傳輸次數(shù)的變化,呈現(xiàn)指數(shù)級(jí)的增長(zhǎng)規(guī)律。當(dāng)cwinsize的值增長(zhǎng)到臨界值tmp的時(shí)候,就改為線性增長(zhǎng),速率大大慢了下來(lái)。(3)假定當(dāng)cwinsize=24的時(shí)候,網(wǎng)絡(luò)出現(xiàn)了擁塞(超時(shí)未收到確認(rèn)報(bào)文),則擁塞窗口cwinsize重新設(shè)置為1,同時(shí)臨界值設(shè)置為發(fā)生擁塞時(shí)發(fā)送窗口的一半即tmp=12,然后重新執(zhí)行慢開(kāi)始算法。需要指出的是,任何一種擁塞算法都不能完全避免網(wǎng)絡(luò)擁塞。擁塞控制的作用是在擁塞避免階段把擁塞窗口控制為按照線性規(guī)律增長(zhǎng),使網(wǎng)絡(luò)不太容易出現(xiàn)擁塞。rfc
13、2581,rfc 2309和rfc 3168提出了其他幾種擁塞控制的方法,感興趣的讀者可以查閱相應(yīng)的文檔。參考文獻(xiàn):1 rfc 793,transmission control protocols.2 rfc 2581,tcp congestion controls.3 rfc 2582,the newreno modification to tcp's fast recovery algorithms.4 rfc 2309,recommendations on queue management and congestion avoidance in the internets.5 王碩. 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)m
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年調(diào)查分析師考試試題及答案
- 人工智能技術(shù)研發(fā)經(jīng)驗(yàn)工作證明(5篇)
- 授權(quán)代表證明書(shū)及授權(quán)事項(xiàng)清單(8篇)
- 某中學(xué)圖書(shū)借閱統(tǒng)計(jì)分析制度
- 2025年電式混動(dòng)車(chē)項(xiàng)目申請(qǐng)報(bào)告
- 網(wǎng)絡(luò)維護(hù)外包服務(wù)協(xié)議合同書(shū)
- 經(jīng)濟(jì)學(xué)原理與經(jīng)濟(jì)形勢(shì)分析題目
- 物聯(lián)網(wǎng)技術(shù)在智慧城市規(guī)劃中的應(yīng)用協(xié)議
- 2025年注冊(cè)會(huì)計(jì)師考試《會(huì)計(jì)》財(cái)務(wù)報(bào)表分析解題思路與技巧試題
- 介紹我的日常用品作文9篇范文
- 2025年 中國(guó)南水北調(diào)集團(tuán)新能源投資公司第一批中層及考試筆試試卷附答案
- 期末試卷(五)(含答案含聽(tīng)力原文無(wú)聽(tīng)力音頻)-2024-2025學(xué)年人教PEP版英語(yǔ)(新教材)三年級(jí)下冊(cè)
- 湖南2024生地會(huì)考試卷及答案
- 廣東省深圳市2024年中考英語(yǔ)真題(含答案)
- 敘事護(hù)理學(xué)智慧樹(shù)知到答案2024年中國(guó)人民解放軍海軍軍醫(yī)大學(xué)
- 六年級(jí)主題班隊(duì)會(huì)記錄表(6個(gè)表)
- 設(shè)計(jì)加熱爐推料機(jī)傳動(dòng)裝置
- 電梯維保人員管理制度
- 吊頂檢驗(yàn)報(bào)告(共5頁(yè))
- 產(chǎn)品量產(chǎn)生產(chǎn)準(zhǔn)備計(jì)劃
- 方案軌道交通pis+cctv系統(tǒng)解決方案淺析
評(píng)論
0/150
提交評(píng)論