慢開(kāi)始和擁塞避免
發(fā)布時(shí)間:2014/9/7 21:45:31 訪(fǎng)問(wèn)次數(shù):1159
發(fā)送方維持一個(gè)叫做擁塞窗口cwnd (congestion window)的狀態(tài)變量。擁塞窗口(佝大小取決于網(wǎng)絡(luò)的擁塞程度,并且動(dòng)態(tài)地在變化。發(fā)送方讓自己的發(fā)送窗口等于擁塞窗口。 G4PH40UD-E以后我們就知道,如果再考慮到接收方的接收能力,那么發(fā)送窗口還可能小于擁塞窗口。
發(fā)送方控制擁塞窗口的原則是:只要網(wǎng)絡(luò)沒(méi)有出現(xiàn)擁塞,擁塞窗口就再增大一些,以便把更多的分組發(fā)送出去。但只要網(wǎng)絡(luò)出現(xiàn)擁塞,擁塞窗口就減小一些,以減少注入到網(wǎng)絡(luò)中的分組數(shù)。
發(fā)送方又是如何知道網(wǎng)絡(luò)發(fā)生了擁塞呢?我們知道,當(dāng)網(wǎng)絡(luò)發(fā)生擁塞時(shí),路由器就要丟棄分組。因此只要發(fā)送方?jīng)]有按時(shí)收到應(yīng)當(dāng)?shù)竭_(dá)的確認(rèn)報(bào)文,就可以猜想網(wǎng)絡(luò)可能出現(xiàn)了擁塞,F(xiàn)在通信線(xiàn)路的傳輸質(zhì)量一般都很好,因傳輸出差錯(cuò)而丟棄分組的概率是很小的(遠(yuǎn)小于1%)。
下面將討論擁塞窗口cwnd的大小是怎樣變化的。我們從“慢開(kāi)始算法”講起。
慢開(kāi)始算法的思路是這樣的。當(dāng)主機(jī)開(kāi)始發(fā)送數(shù)據(jù)時(shí),如果立即把大量數(shù)據(jù)字節(jié)注入到網(wǎng)絡(luò),那么就有可能引起網(wǎng)絡(luò)擁塞,因?yàn)楝F(xiàn)在井不清楚網(wǎng)絡(luò)的負(fù)荷情況。經(jīng)驗(yàn)證明,較好的方法是先探測(cè)一下,即由小到大逐漸增大發(fā)送窗口,也就是說(shuō),由小到大逐漸增大擁塞窗口數(shù)值。通常在剛剛開(kāi)始發(fā)送報(bào)文段時(shí),先把擁塞窗口cwnd設(shè)置為一個(gè)最大報(bào)文段MSS的數(shù)值u一。而在每收到一個(gè)對(duì)新的報(bào)文段的確認(rèn)后,把擁塞窗口增加至多一個(gè)MSS的數(shù)值。用這樣的方法逐步增大發(fā)送方的擁塞窗口cwnd,可以使分組注入到網(wǎng)絡(luò)的速率更加合理。
下面用例子說(shuō)明慢開(kāi)始算法的原理。為方便起見(jiàn),我們用報(bào)文段的個(gè)數(shù)作為窗口大小的單位(請(qǐng)注意,實(shí)際上TCP是用字節(jié)作為窗口的單位),這樣可以使用較小的數(shù)字來(lái)說(shuō)明擁塞控制的原理。
在一開(kāi)始發(fā)送方先設(shè)置cwnd=1,發(fā)送第一個(gè)報(bào)文段Mi,接收方收到后確認(rèn)Mi。發(fā)送方收到對(duì)M.的確認(rèn)后,把cwnd從1增大到2,于是發(fā)送方接著發(fā)送M2和M3兩個(gè)報(bào)文段。接收方收到后發(fā)回對(duì)M2和M,的確認(rèn)。發(fā)送方每收到一個(gè)對(duì)新報(bào)文段的確認(rèn)(重傳的不算在內(nèi))就使發(fā)送方的擁塞窗口加1,因此發(fā)送方在收到兩個(gè)確認(rèn)后,cwnd就從2增大到4,并可發(fā)送M4~M7共4個(gè)報(bào)文段(見(jiàn)圖5-24)。因此使用慢開(kāi)始算法后,每經(jīng)過(guò)一個(gè)傳輸輪次(transmission round),擁寒窗口cwnd就加倍。
發(fā)送方維持一個(gè)叫做擁塞窗口cwnd (congestion window)的狀態(tài)變量。擁塞窗口(佝大小取決于網(wǎng)絡(luò)的擁塞程度,并且動(dòng)態(tài)地在變化。發(fā)送方讓自己的發(fā)送窗口等于擁塞窗口。 G4PH40UD-E以后我們就知道,如果再考慮到接收方的接收能力,那么發(fā)送窗口還可能小于擁塞窗口。
發(fā)送方控制擁塞窗口的原則是:只要網(wǎng)絡(luò)沒(méi)有出現(xiàn)擁塞,擁塞窗口就再增大一些,以便把更多的分組發(fā)送出去。但只要網(wǎng)絡(luò)出現(xiàn)擁塞,擁塞窗口就減小一些,以減少注入到網(wǎng)絡(luò)中的分組數(shù)。
發(fā)送方又是如何知道網(wǎng)絡(luò)發(fā)生了擁塞呢?我們知道,當(dāng)網(wǎng)絡(luò)發(fā)生擁塞時(shí),路由器就要丟棄分組。因此只要發(fā)送方?jīng)]有按時(shí)收到應(yīng)當(dāng)?shù)竭_(dá)的確認(rèn)報(bào)文,就可以猜想網(wǎng)絡(luò)可能出現(xiàn)了擁塞,F(xiàn)在通信線(xiàn)路的傳輸質(zhì)量一般都很好,因傳輸出差錯(cuò)而丟棄分組的概率是很小的(遠(yuǎn)小于1%)。
下面將討論擁塞窗口cwnd的大小是怎樣變化的。我們從“慢開(kāi)始算法”講起。
慢開(kāi)始算法的思路是這樣的。當(dāng)主機(jī)開(kāi)始發(fā)送數(shù)據(jù)時(shí),如果立即把大量數(shù)據(jù)字節(jié)注入到網(wǎng)絡(luò),那么就有可能引起網(wǎng)絡(luò)擁塞,因?yàn)楝F(xiàn)在井不清楚網(wǎng)絡(luò)的負(fù)荷情況。經(jīng)驗(yàn)證明,較好的方法是先探測(cè)一下,即由小到大逐漸增大發(fā)送窗口,也就是說(shuō),由小到大逐漸增大擁塞窗口數(shù)值。通常在剛剛開(kāi)始發(fā)送報(bào)文段時(shí),先把擁塞窗口cwnd設(shè)置為一個(gè)最大報(bào)文段MSS的數(shù)值u一。而在每收到一個(gè)對(duì)新的報(bào)文段的確認(rèn)后,把擁塞窗口增加至多一個(gè)MSS的數(shù)值。用這樣的方法逐步增大發(fā)送方的擁塞窗口cwnd,可以使分組注入到網(wǎng)絡(luò)的速率更加合理。
下面用例子說(shuō)明慢開(kāi)始算法的原理。為方便起見(jiàn),我們用報(bào)文段的個(gè)數(shù)作為窗口大小的單位(請(qǐng)注意,實(shí)際上TCP是用字節(jié)作為窗口的單位),這樣可以使用較小的數(shù)字來(lái)說(shuō)明擁塞控制的原理。
在一開(kāi)始發(fā)送方先設(shè)置cwnd=1,發(fā)送第一個(gè)報(bào)文段Mi,接收方收到后確認(rèn)Mi。發(fā)送方收到對(duì)M.的確認(rèn)后,把cwnd從1增大到2,于是發(fā)送方接著發(fā)送M2和M3兩個(gè)報(bào)文段。接收方收到后發(fā)回對(duì)M2和M,的確認(rèn)。發(fā)送方每收到一個(gè)對(duì)新報(bào)文段的確認(rèn)(重傳的不算在內(nèi))就使發(fā)送方的擁塞窗口加1,因此發(fā)送方在收到兩個(gè)確認(rèn)后,cwnd就從2增大到4,并可發(fā)送M4~M7共4個(gè)報(bào)文段(見(jiàn)圖5-24)。因此使用慢開(kāi)始算法后,每經(jīng)過(guò)一個(gè)傳輸輪次(transmission round),擁寒窗口cwnd就加倍。
熱門(mén)點(diǎn)擊
- 使用網(wǎng)橋可以帶來(lái)以下好處
- 數(shù)據(jù)通信系統(tǒng)的模型
- 慢開(kāi)始和擁塞避免
- 數(shù)據(jù)通信制式
- IPC與PLC
- 抑制熱干擾
- BGA/CSP焊盤(pán)設(shè)計(jì)
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說(shuō)新車(chē)間的特點(diǎn)是“靈動(dòng)”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- 全新高端射頻儀器
- 集成32位RISC-V處理器&
- 第三代半導(dǎo)體和圖像傳感器 參數(shù)封裝應(yīng)用
- 汽車(chē)半導(dǎo)體
- 人形機(jī)器人技術(shù)結(jié)構(gòu)設(shè)計(jì)及發(fā)展分
- 紫光芯片云3.0整體解決方案
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究