TCP的擁塞控制

1.慢開始和擁塞避免

發(fā)送方維持一個(gè)叫做擁塞窗口(cwnd)的狀態(tài)變量。隨著網(wǎng)絡(luò)的擁塞程度來動(dòng)態(tài)變化。發(fā)送方讓自己的發(fā)送窗口等于擁塞窗口。

原則:只要網(wǎng)絡(luò)沒有出現(xiàn)擁塞,則增大擁塞窗口,發(fā)送更多的分組,如果出現(xiàn)擁塞就減小這個(gè)擁塞窗口,來減少注入網(wǎng)絡(luò)中的分組。

如何確定出現(xiàn)擁塞?當(dāng)發(fā)送方?jīng)]有按時(shí)收到應(yīng)當(dāng)?shù)竭_(dá)的確認(rèn)報(bào)文,就可以猜想可能出現(xiàn)了擁塞。

慢開始算法:首先將擁塞窗口設(shè)置為一個(gè)最大報(bào)文段(MSS)的數(shù)值,在接受到最后一個(gè)確認(rèn)后,將擁塞窗口設(shè)置為之前的一倍,進(jìn)行成倍增長,但是為了防止擁塞窗口的增長而引起網(wǎng)絡(luò)擁塞,還需要設(shè)置一個(gè)慢開始門限(ssthresh)狀態(tài)變量:

if(cwnd<ssthresh) ? ? do 慢開始算法

if(cwnd>ssthresh) ? ? do 擁塞避免算法

if(cwnd==ssthresh) ? do 慢開始o(jì)r擁塞避免

擁塞避免算法是讓擁塞窗口進(jìn)行+1而不是加倍。

當(dāng)發(fā)送發(fā)判斷網(wǎng)絡(luò)出現(xiàn)擁塞的時(shí)候要將慢開始門限設(shè)置為出現(xiàn)擁塞時(shí)擁塞窗口大小的一半,然后將擁塞窗口設(shè)置為1,重新執(zhí)行慢開始算法。

2.快重傳和快恢復(fù)

比如在接收到數(shù)據(jù)M1,M2后接受到了M4中間丟失了M3,所以接收端會(huì)給出M2的確認(rèn),若不是快重傳的話接受到M4的時(shí)候,接收端是什么事也不做,但是快重傳機(jī)制要求接受到M4的時(shí)候也要發(fā)送M2的確認(rèn),只要發(fā)送方連續(xù)接到3個(gè)M2的確認(rèn)則就可以確定M3丟失,便立即重傳M3,而不必等到計(jì)時(shí)器,這樣可以使得網(wǎng)絡(luò)的吞吐率提高20%。所以可以采用快恢復(fù),就是當(dāng)發(fā)送方接到3個(gè)確認(rèn)后,執(zhí)行乘法減小,將滿開始的門限減半,但是接下來不需要執(zhí)行慢開始算法,而是直接把sshresh的指直接給cwnd,并開始執(zhí)行避免擁塞算法。

隨機(jī)早起檢測(RED ?Random Early Detection)網(wǎng)絡(luò)層的算法預(yù)期發(fā)生擁塞的前兆

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 擁塞:在某段時(shí)間,若對(duì)網(wǎng)絡(luò)中某一資源的需求超過了該資源所能提供的可用部分,網(wǎng)絡(luò)的性能就會(huì)變壞。這種情況就叫做擁塞。...
    元素周期表的十七君閱讀 607評(píng)論 0 1
  • 原文鏈接:TCP的擁塞控制 1.引言 計(jì)算機(jī)網(wǎng)絡(luò)中的帶寬、交換結(jié)點(diǎn)中的緩存和處理機(jī)等,都是網(wǎng)絡(luò)的資源。在某段時(shí)間,...
    環(huán)球探測閱讀 1,000評(píng)論 0 1
  • 1、引言 計(jì)算機(jī)網(wǎng)絡(luò)中的帶寬、交換結(jié)點(diǎn)中的緩存和處理機(jī)等,都是網(wǎng)絡(luò)的資源。在某段時(shí)間,若對(duì)網(wǎng)絡(luò)中某一資源的需求超過...
    SinX竟然被占用了閱讀 425評(píng)論 0 1
  • 六、TCP可靠傳輸?shù)膶?shí)現(xiàn) 首先介紹以字節(jié)為單位的滑動(dòng)窗口。為了講述可靠傳輸原理的方便,假定數(shù)據(jù)傳輸只在一個(gè)方向進(jìn)行...
    dmmy大印閱讀 2,187評(píng)論 0 1
  • 本文整理了一些TCP/IP協(xié)議簇中需要必知必會(huì)的十大問題,既是面試高頻問題,又是程序員必備基礎(chǔ)素養(yǎng)。 一、TCP/...
    Ruheng閱讀 7,631評(píng)論 6 173

友情鏈接更多精彩內(nèi)容