TCP流量控制与拥塞控制区别
1. 流量控制(端到端)
流量控制,是利用滑動窗口協(xié)議控制發(fā)送端流量,是為了解決發(fā)送數(shù)據(jù)過快導(dǎo)致接收方來不及接收的問題。
具體是消息接收方會發(fā)送流量控制報文,通知發(fā)送方窗口大小,發(fā)送方發(fā)送的數(shù)據(jù)大小不能超過窗口大小。
如果發(fā)送者發(fā)送數(shù)據(jù)過快,接收者來不及接收,那么就會有報文丟失。為了避免報文丟失,控制發(fā)送者的發(fā)送速度,使得接收者來得及接收,這就是流量控制。流量控制根本目的是防止報文丟失,它是構(gòu)成TCP可靠性的一方面。
如何實現(xiàn)流量控制?
由滑動窗口協(xié)議(連續(xù)ARQ協(xié)議)實現(xiàn)。滑動窗口協(xié)議既保證了分組無差錯、有序接收,也實現(xiàn)了流量控制。主要的方式就是接收方返回的 ACK 中會包含自己的接收窗口的大小,并且利用大小來控制發(fā)送方的數(shù)據(jù)發(fā)送。
2. 擁塞控制(區(qū)域網(wǎng)絡(luò))
擁塞控制,是為了避免過多的流量注入網(wǎng)絡(luò)使得網(wǎng)絡(luò)過載。具體方法包括:慢開始、擁塞避免、快重傳和快恢復(fù)。
-
慢開始:剛開始建立連接的時候,發(fā)送窗口大小為1,然后逐步增加窗口的大小,如每次加倍。
-
擁塞避免:當(dāng)發(fā)送窗口達到一個門限值之后,窗口大小不再每次加倍,而是每次+1,減緩窗口增大速度。
-
快重傳: 快重傳算法規(guī)定,發(fā)送方只要一連收到三個重復(fù)確認就應(yīng)當(dāng)立即重傳對方尚未收到的報文段,而不必繼續(xù)等待設(shè)置的重傳計時器時間到期,這是因為此時網(wǎng)絡(luò)狀況良好,可以立即重傳。
-
快恢復(fù):執(zhí)行“乘法減小”算法將發(fā)送窗口門限值減半,以門限值為起點(而非0值),然后執(zhí)行擁塞避免算法。
在學(xué)習(xí)流量控制的時候,我們假設(shè)網(wǎng)絡(luò)無限好,不擁塞。在學(xué)習(xí)擁塞控制的時候,我們又假設(shè)接收方緩沖區(qū)和接收窗口無限大,對數(shù)據(jù)來者不拒。現(xiàn)在,是時候綜合考慮他們的時候了。
如何綜合考慮這兩者呢?實際上很簡單,我們只要將接收方的窗口 rwnd 和擁塞窗口 cwnd 放在一起比較,取兩者中的較小者,也就是:
發(fā)送方的窗口=min{rwnd,cwnd}
上式指出:
rwnd < cwnd : 是接收方的接收能力限制了發(fā)送方窗口的最大值。
cwnd < rwnd : 是網(wǎng)絡(luò)的擁塞限制了發(fā)送方窗口的最大值。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的TCP流量控制与拥塞控制区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 就在下个月!荣耀Magic5系列发布时间
- 下一篇: 历史性崩溃,英特尔股价重挫市值蒸发 50