TCP擁塞控制

本文主要說明TCP擁塞控制的四種主要算法。

組成TCP擁塞控制的四種算法包括:慢開始鳖宾,擁塞避免逆航,快重傳,快恢復拇惋, 發(fā)送方維持一個擁塞窗口(cwnd)抹剩,發(fā)送方控制擁塞窗口的原則是:只要網(wǎng)絡(luò)沒有出現(xiàn)擁塞,擁塞窗口就增大一些胡嘿,以便把更多的分組發(fā)送出去钳踊。但只要出現(xiàn)擁塞勿侯,擁塞窗口就要減小一些缴罗,以減少注入到網(wǎng)絡(luò)中的分組數(shù)瞒爬。

I、慢開始

當主機開始發(fā)送數(shù)據(jù)時侧但,如果立即把大量的數(shù)據(jù)字節(jié)注入到網(wǎng)絡(luò)中禀横,那么就有可能直接引入擁塞,因為現(xiàn)在不清楚網(wǎng)絡(luò)中的負載情況酿箭,所以要由小到大增大發(fā)送窗口趾娃。

慢開始實例:發(fā)送方先設(shè)置cwnd=1,發(fā)送第一個報文段M1妇蛀,接收方確認收到M1笤成,發(fā)送方收到確認后,將cwnd設(shè)為2纵诞,于是發(fā)送M2和M3培遵,接收方收到后發(fā)送對M2和M3的確認;這時發(fā)送方將cwnd設(shè)為4茁裙。

為了防止cwnd增大引起網(wǎng)絡(luò)擁塞节仿,還需要設(shè)置一個慢開始門限。當超過這個門限時執(zhí)行擁塞避免算法矾瘾。

慢開始總結(jié): 每經(jīng)過一個有效的傳輸輪次,擁塞窗口cwnd就加倍蛉迹,直到超過慢開始門限(ssthresh)放妈。這部分稱之為指數(shù)規(guī)律增長

II珍策、擁塞避免

當cwnd超過慢開始門限時宅倒,執(zhí)行擁塞避免算法,其思路是讓擁塞窗口緩慢的增大蹭劈。每經(jīng)過一個有效的往返時間就增大1线召。

此外灶搜,無論是在慢開始階段還是在擁塞避免階段工窍,只要發(fā)送方判斷網(wǎng)絡(luò)出現(xiàn)擁塞(其根據(jù)是沒有按時收到確認ACK),就要把慢開始門限設(shè)置為出現(xiàn)擁塞時發(fā)送窗口的一半鹏溯,然后將擁塞窗口重新設(shè)置為1,執(zhí)行慢開始算法淹仑。

III丙挽、快重傳

要求接收方?jīng)]收到一個失序的報文段后就立即發(fā)出重復確認,目的是讓發(fā)送方及早知道有報文段沒有到達對方匀借。

快重傳實例: 如下圖颜阐,接收方收到M1和M2后都分別發(fā)出了確認信號。假定接收方?jīng)]有收到M3而收到了M4吓肋。顯然凳怨,根據(jù)累計確認機制, 接收方不能確認M4。 根據(jù)可靠傳輸原理肤舞,接收方可以什么都不做紫新,也可以在適當時機發(fā)送一次對M2的確認。
按照快重傳算法的要求李剖,接收方應迅速發(fā)送對M2的重復確認,這樣做可以讓發(fā)送方及早知道M3沒有到達接收方篙顺。發(fā)送方接著發(fā)送M5和M6偶芍。接收方收到后還要繼續(xù)發(fā)出對M2的重復確認。發(fā)送方只要收到連續(xù)的三個重復確認就應當立即重傳M3德玫,而不必繼續(xù)等待M3的重傳計時器到期腋寨。

IV、快恢復

為了配合快重傳化焕,還有快恢復算法:當發(fā)送方連續(xù)收到三個重復確認時萄窜,執(zhí)行乘法減小算法,將慢開始門限減半撒桨。這是為了預防網(wǎng)絡(luò)發(fā)生擁塞查刻。快恢復算法規(guī)定凤类,在這種情況下穗泵,不應該執(zhí)行慢開始算法(因為是由丟失產(chǎn)生,而不是擁塞)谜疤。

由于發(fā)送方現(xiàn)在認為網(wǎng)絡(luò)中很可能沒有擁塞佃延,而只是正常的丟失(因為如果發(fā)生嚴重的擁塞,就不會受到連續(xù)的重復確認)夷磕, 因此與慢開始不同在于履肃,不是將cwnd設(shè)置為1,而是把cwnd值設(shè)置為慢開始門限減半后的數(shù)值坐桩,然后開始執(zhí)行擁塞避免算法(加法增大)尺棋,使擁塞窗口緩慢的線性增大。

V绵跷、擁塞控制與流量控制的關(guān)系:

擁塞控制是防止過多的數(shù)據(jù)注入到網(wǎng)絡(luò)中膘螟,這樣可以使網(wǎng)絡(luò)中的路由器或鏈路不至于過載∧刖郑考慮的是全局性過程荆残;
而流量控制則是端到端通信量的控制。

【參考】
[1] 《計算機網(wǎng)絡(luò)》

歡迎轉(zhuǎn)載净当,轉(zhuǎn)載請注明出處wenmingxing TCP擁塞控制

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末内斯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嘿期,老刑警劉巖品擎,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異备徐,居然都是意外死亡萄传,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門蜜猾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來秀菱,“玉大人,你說我怎么就攤上這事蹭睡⊙芰猓” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵肩豁,是天一觀的道長脊串。 經(jīng)常有香客問我,道長清钥,這世上最難降的妖魔是什么琼锋? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮祟昭,結(jié)果婚禮上缕坎,老公的妹妹穿的比我還像新娘。我一直安慰自己篡悟,他們只是感情好谜叹,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著搬葬,像睡著了一般荷腊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上踩萎,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天停局,我揣著相機與錄音,去河邊找鬼香府。 笑死,一個胖子當著我的面吹牛码倦,可吹牛的內(nèi)容都是我干的企孩。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼袁稽,長吁一口氣:“原來是場噩夢啊……” “哼勿璃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤补疑,失蹤者是張志新(化名)和其女友劉穎歧沪,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體莲组,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡诊胞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了锹杈。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撵孤。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖竭望,靈堂內(nèi)的尸體忽然破棺而出邪码,到底是詐尸還是另有隱情,我是刑警寧澤咬清,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布闭专,位于F島的核電站,受9級特大地震影響旧烧,放射性物質(zhì)發(fā)生泄漏喻圃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一粪滤、第九天 我趴在偏房一處隱蔽的房頂上張望斧拍。 院中可真熱鬧,春花似錦杖小、人聲如沸肆汹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽昂勉。三九已至,卻和暖如春扫腺,著一層夾襖步出監(jiān)牢的瞬間岗照,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工笆环, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留攒至,地道東北人。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓躁劣,卻偏偏與公主長得像迫吐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子账忘,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361