2009年軟考網(wǎng)絡(luò)工程師教程之二十八
通過(guò)對(duì)本講的學(xué)習(xí),整理簡(jiǎn)要分時(shí)筆記如下,如若再不懂請(qǐng)參照視頻。完整六十八講視頻見(jiàn)泳者雷敏播客,陸續(xù)上傳中……
本講主要內(nèi)容:TCP流量控制、擁塞控制
01:00滑動(dòng)窗口流量控制
滑動(dòng)窗口
利用可變窗口大小進(jìn)行流量控制。圖解。
18:00擁塞控制
1999年,因特網(wǎng)建議標(biāo)準(zhǔn)定義了四種算法:
·慢開(kāi)始
·擁塞避免
·快重傳
·快恢復(fù)
慢開(kāi)始與擁塞避免:發(fā)送端的主機(jī)在確定發(fā)送報(bào)文段的速率時(shí),既要根據(jù)接收端的接收能力,又要從全局考慮不要使網(wǎng)絡(luò)發(fā)生擁塞。
發(fā)送窗口的上限值:Min[rwnd,cwnd]其中rwnd為接收窗口,cwnd為擁塞窗口。
慢開(kāi)始算法的原理 當(dāng)主機(jī)開(kāi)始發(fā)送數(shù)據(jù)時(shí),由小到大逐漸增大發(fā)送端的擁塞窗口。在主機(jī)剛剛開(kāi)始發(fā)送報(bào)文段時(shí)可先將擁塞窗口設(shè)置為一個(gè)最大報(bào)文段MSS的數(shù)值。每收到一個(gè)對(duì)新報(bào)文段的確認(rèn),將擁塞窗口增加一倍。用這樣的方法逐步增大發(fā)送端的擁塞窗口,可以使分組注入到網(wǎng)絡(luò)的速率更加合理。指數(shù)增長(zhǎng)。
擁塞避免算法原理 設(shè)置慢開(kāi)始門限。當(dāng)擁塞窗口小于門限,使用慢開(kāi)始算法;當(dāng)擁塞窗口大于門限時(shí),使用擁塞避免算法;等于時(shí),兩者皆可。
發(fā)送端的擁塞窗口每經(jīng)過(guò)一個(gè)往返時(shí)延就增加一個(gè)MSS的大小(而不管在時(shí)間內(nèi)收到了幾個(gè)ACK)線性增長(zhǎng)。
無(wú)論在慢開(kāi)始或擁塞避免階段,只要發(fā)送端發(fā)現(xiàn)網(wǎng)絡(luò)擁塞。
圖解:清楚體現(xiàn)慢開(kāi)始和擁塞避免算法的原理。
擁塞避免并非指導(dǎo)完全能夠避免擁塞。
快重傳和快恢復(fù)
快重傳算法發(fā)送端只要一連接收到三個(gè)重復(fù)的ACK即可斷定有分組丟失了,就應(yīng)立即重傳丟失的報(bào)文段而不斷繼續(xù)等待為該報(bào)文設(shè)置的重傳計(jì)時(shí)器的超時(shí)。并非取消重傳計(jì)時(shí)器,而是在某些情況下可更早地重傳。
快重傳舉例。圖解。
快恢復(fù)算法當(dāng)發(fā)送端接收到連續(xù)三個(gè)重復(fù)的ACK時(shí),就重新設(shè)置慢開(kāi)始門限。與慢開(kāi)始不同之處是擁塞窗口不是設(shè)置為1,而是設(shè)置為門限+3個(gè)MSS的值。若收到的重復(fù)的ACK為n個(gè)(n大于3),則擁塞窗口設(shè)置為門限+n個(gè)MSS。若發(fā)送窗口值還空話發(fā)送報(bào)文段,就按擁塞避免算法繼續(xù)發(fā)送報(bào)文段。若收到了確認(rèn)新的報(bào)文段的ACK,就將擁塞窗口縮小到門限值。
45:00TCP的重傳機(jī)制
往返時(shí)延的自適應(yīng)算法。
超時(shí)重傳時(shí)間RTO
54:00TCP連接和建立采用客戶服務(wù)器方式。
用三次握手建立TCP連接。圖解。
【編輯推薦】