TCP擁塞控制和滑動(dòng)窗口協(xié)議

TCP的擁塞控制

計(jì)算機(jī)網(wǎng)絡(luò)中的帶寬鸭巴、交換結(jié)點(diǎn)中的緩存和處理機(jī)等眷细,都是網(wǎng)絡(luò)的資源。在某段時(shí)間鹃祖,若對(duì)網(wǎng)絡(luò)中某一資源的需求超過了該資源所能提供的可用部分溪椎,網(wǎng)絡(luò)的性能就會(huì)變壞。這種情況就叫做擁塞恬口。
  擁塞控制就是防止過多的數(shù)據(jù)注入網(wǎng)絡(luò)中校读,這樣可以使網(wǎng)絡(luò)中的路由器或鏈路不致過載。擁塞控制是一個(gè)全局性的過程祖能,和流量控制不同歉秫,流量控制指點(diǎn)對(duì)點(diǎn)通信量的控制。

常用方法

1.慢開始與擁塞避免
2.快重傳和快恢復(fù)
3.隨機(jī)早期檢測(cè)RED
更多內(nèi)容可以參看這篇文章

滑動(dòng)窗口

滑動(dòng)窗口概念不僅存在于數(shù)據(jù)鏈路層养铸,也存在于傳輸層雁芙,兩者有不同的協(xié)議轧膘,但基本原理是相近的。其中一個(gè)重要區(qū)別是却特,一個(gè)是針對(duì)于幀的傳送扶供,另一個(gè)是字節(jié)數(shù)據(jù)的傳送。
  滑動(dòng)窗口(Sliding window)是一種流量控制技術(shù)裂明。早期的網(wǎng)絡(luò)通信中椿浓,通信雙方不會(huì)考慮網(wǎng)絡(luò)的擁擠情況直接發(fā)送數(shù)據(jù)。由于大家不知道網(wǎng)絡(luò)擁塞狀況闽晦,同時(shí)發(fā)送數(shù)據(jù)扳碍,導(dǎo)致中間節(jié)點(diǎn)阻塞掉包,誰(shuí)也發(fā)不了數(shù)據(jù)仙蛉,所以就有了滑動(dòng)窗口機(jī)制來(lái)解決此問題笋敞。

1比特滑動(dòng)窗口協(xié)議

當(dāng)發(fā)送窗口和接收窗口的大小固定為1時(shí),滑動(dòng)窗口協(xié)議退化為停等協(xié)議(stop-and-wait)荠瘪。該協(xié)議規(guī)定發(fā)送方每發(fā)送一幀后就要停下來(lái)夯巷,等待接收方已正確接收的確認(rèn)(acknowledgement)返回后才能繼續(xù)發(fā)送下一幀。由于接收方需要判斷接收到的幀是新發(fā)的幀還是重新發(fā)送的幀哀墓,因此發(fā)送方要為每一個(gè)幀加一個(gè)序號(hào)趁餐。由于停等協(xié)議規(guī)定只有一幀完全發(fā)送成功后才能發(fā)送新的幀,因而只用一比特來(lái)編號(hào)就夠了篮绰。

后退n協(xié)議

由于停等協(xié)議要為每一個(gè)幀進(jìn)行確認(rèn)后才繼續(xù)發(fā)送下一幀后雷,大大降低了信道利用率,因此又提出了后退n協(xié)議吠各。后退n協(xié)議中臀突,發(fā)送方在發(fā)完一個(gè)數(shù)據(jù)幀后,不停下來(lái)等待應(yīng)答幀贾漏,而是連續(xù)發(fā)送若干個(gè)數(shù)據(jù)幀候学,即使在連續(xù)發(fā)送過程中收到了接收方發(fā)來(lái)的應(yīng)答幀,也可以繼續(xù)發(fā)送纵散。且發(fā)送方在每發(fā)送完一個(gè)數(shù)據(jù)幀時(shí)都要設(shè)置超時(shí)定時(shí)器盒齿。只要在所設(shè)置的超時(shí)時(shí)間內(nèi)仍未收到確認(rèn)幀,就要重發(fā)相應(yīng)的數(shù)據(jù)幀困食。如:當(dāng)發(fā)送方發(fā)送了N個(gè)幀后,若發(fā)現(xiàn)該N幀的前一個(gè)幀在計(jì)時(shí)器超時(shí)后仍未返回其確認(rèn)信息翎承,則該幀被判為出錯(cuò)或丟失硕盹,此時(shí)發(fā)送方就不得不重新發(fā)送出錯(cuò)幀及其后的N幀。

選擇重傳協(xié)議

在后退n協(xié)議中叨咖,接收方若發(fā)現(xiàn)錯(cuò)誤幀就不再接收后續(xù)的幀瘩例,即使是正確到達(dá)的幀啊胶,這顯然是一種浪費(fèi)。另一種效率更高的策略是當(dāng)接收方發(fā)現(xiàn)某幀出錯(cuò)后垛贤,其后繼續(xù)送來(lái)的正確的幀雖然不能立即遞交給接收方的高層焰坪,但接收方仍可收下來(lái),存放在一個(gè)緩沖區(qū)中聘惦,同時(shí)要求發(fā)送方重新傳送出錯(cuò)的那一幀某饰。一旦收到重新傳來(lái)的幀后,就可以原已存于緩沖區(qū)中的其余幀一并按正確的順序遞交高層善绎。這種方法稱為選擇重發(fā)

流量控制

下面來(lái)張圖看看控制流量的大致原理


滑動(dòng)窗口-300x215.jpg

TCP的特點(diǎn)之一是提供體積可變的滑動(dòng)窗口機(jī)制黔漂,支持端到端的流量控制。TCP連接階段禀酱,雙方協(xié)商窗口尺寸炬守,同時(shí)接收方預(yù)留數(shù)據(jù)緩存區(qū);
  發(fā)送方根據(jù)協(xié)商的結(jié)果剂跟,發(fā)送符合窗口尺寸的數(shù)據(jù)字節(jié)流减途,并等待對(duì)方的確認(rèn);
  發(fā)送方根據(jù)確認(rèn)信息曹洽,改變窗口的尺寸鳍置,增加或者減少發(fā)送未得到確認(rèn)的字節(jié)流中的字節(jié)數(shù)。調(diào)整過程包括:如果出現(xiàn)發(fā)送擁塞衣洁,發(fā)送窗口縮小為原來(lái)的一半墓捻,同時(shí)將超時(shí)重傳的時(shí)間間隔擴(kuò)大一倍。
  滑動(dòng)窗口機(jī)制為端到端設(shè)備間的數(shù)據(jù)傳輸提供了可靠的流量控制機(jī)制坊夫。然而砖第,它只能在源端設(shè)備和目的端設(shè)備起作用,當(dāng)網(wǎng)絡(luò)中間設(shè)備(例如路由器等)發(fā)生擁塞時(shí)环凿,滑動(dòng)窗口機(jī)制將不起作用梧兼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市智听,隨后出現(xiàn)的幾起案子羽杰,更是在濱河造成了極大的恐慌,老刑警劉巖到推,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件考赛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡莉测,警方通過查閱死者的電腦和手機(jī)颜骤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)捣卤,“玉大人忍抽,你說我怎么就攤上這事八孝。” “怎么了鸠项?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵干跛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我祟绊,道長(zhǎng)楼入,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任久免,我火速辦了婚禮浅辙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阎姥。我一直安慰自己记舆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布呼巴。 她就那樣靜靜地躺著泽腮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪衣赶。 梳的紋絲不亂的頭發(fā)上诊赊,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音府瞄,去河邊找鬼碧磅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛遵馆,可吹牛的內(nèi)容都是我干的鲸郊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼货邓,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼秆撮!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起换况,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤职辨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后戈二,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舒裤,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年觉吭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了腾供。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖台腥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绒北,我是刑警寧澤黎侈,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站闷游,受9級(jí)特大地震影響峻汉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜脐往,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一休吠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧业簿,春花似錦瘤礁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至巷燥,卻和暖如春赡盘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缰揪。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工陨享, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人钝腺。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓抛姑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親拍屑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子途戒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容