【计算机网络】传输层 : TCP 拥塞控制 ( 慢开始 | 拥塞避免 | 快重传 | 快恢复 )
文章目錄
- 一、TCP 擁塞控制
- 二、TCP 擁塞控制算法
- 三、慢開(kāi)始 和 擁塞避免 算法
- 四、快重傳 和 快回復(fù) 算法
一、TCP 擁塞控制
TCP 擁塞控制 :
① 擁塞出現(xiàn)表現(xiàn) : 資源需求總和 大于 可用資源 ;
② 擁塞問(wèn)題發(fā)展 : 網(wǎng)絡(luò)中 資源 供應(yīng)不足 -> 網(wǎng)絡(luò)性能降低 -> 網(wǎng)絡(luò)吞吐量隨著負(fù)荷增加而降低
③ 擁塞控制 : 防止數(shù)據(jù)大量注入到網(wǎng)絡(luò)中 , 降低整體網(wǎng)絡(luò)中主機(jī)的發(fā)送速率 , 流量控制 是 降低一臺(tái)主機(jī)的發(fā)送速率 ;
④ 流量控制 與 擁塞控制 : 流量控制 是 點(diǎn)到點(diǎn) 的問(wèn)題 , 擁塞控制 是 全局性 問(wèn)題 ;
二、TCP 擁塞控制算法
TCP 擁塞控制算法 :
- 慢開(kāi)始
- 擁塞避免
- 快重傳
- 快恢復(fù)
TCP 擁塞控制相關(guān)術(shù)語(yǔ) :
① 單向傳輸 : 擁塞控制假定單向傳輸數(shù)據(jù) , 發(fā)送方 向 接收方 發(fā)送 數(shù)據(jù) , 接收方 向 發(fā)送方 回送 確認(rèn)信息 ;
② 發(fā)送窗口 : 接收方 緩存空間 足夠大 , 發(fā)送窗口大小 取決于 網(wǎng)絡(luò)擁塞程度 ; 發(fā)送窗口大小 是 接收窗口 rwnd 和 擁塞窗口 cwnd 中的 較小的值 ;
③ 接收窗口 : 接收方 根據(jù) 接收緩存 設(shè)置 接收窗口 大小值 , 同時(shí)將該大小 告知發(fā)送方 , 可以反映接 收方容量 ;
④ 擁塞窗口 : 發(fā)送方 估算 網(wǎng)絡(luò)擁塞程度 , 設(shè)置 合適的 擁塞窗口 值 , 反映當(dāng)前 網(wǎng)絡(luò)容量 ;
( 知道每個(gè)算法的原理 , 細(xì)節(jié)僅做了解 )
三、慢開(kāi)始 和 擁塞避免 算法
坐標(biāo)系說(shuō)明 :
① 縱坐標(biāo) : 縱坐標(biāo) 是 擁塞窗口 cnwd 大小 , 單位是 一個(gè)報(bào)文段 , 長(zhǎng)度是一個(gè)最大報(bào)文段長(zhǎng)度 MSS ;
- 如 : 縱坐標(biāo)的 4 指的是 4 個(gè) MSS , 8 指的是 8 個(gè) MSS ;
② 橫坐標(biāo) : 橫坐標(biāo) 是 傳輸輪次 ;
- 往返時(shí)延 : 一個(gè)傳輸輪次 是 發(fā)送一批報(bào)文段 , 并接收到它們的 確認(rèn)信息 所花費(fèi)的時(shí)間 ; 即 RTT ;
- 如 : 發(fā)送方 向 接收方 發(fā)送 N 個(gè)報(bào)文段 , 發(fā)送方 發(fā)送完畢后 , 接收到所有 N 個(gè) 報(bào)文段的確認(rèn)信息 , 所花費(fèi)的時(shí)間 , 就是 一個(gè)傳輸輪次 ;
- 報(bào)文段發(fā)送間隔 : 也可以理解成 發(fā)送方 開(kāi)發(fā)發(fā)送一批 擁塞窗口 中的報(bào)文段 , 到 開(kāi)始發(fā)送 下一批 擁塞窗口 報(bào)文段 的時(shí)間 ;
慢開(kāi)始 和 擁塞避免 算法 :
① 慢開(kāi)始 : 擁塞窗口 開(kāi)始設(shè)置成 1 , 每隔一個(gè) 傳輸輪次 , 收到上一個(gè)報(bào)文段的確認(rèn)報(bào)文后 , 擁塞窗口翻倍 , 即變?yōu)橹暗?兩倍 ;
② 慢開(kāi)始門(mén)限值 ( ssthresh ) : 當(dāng) 擁塞窗口 到達(dá) 慢開(kāi)始門(mén)限值 ( ssthresh ) 初始值時(shí) , 停止指數(shù)級(jí)增長(zhǎng) , 開(kāi)始線(xiàn)性增長(zhǎng) ;
③ 擁塞避免 : 進(jìn)入到 慢開(kāi)始門(mén)限值 后 , 開(kāi)始進(jìn)行 擁塞避免算法 , 每個(gè)傳輸輪次 , 擁塞窗口 增加 1 ;
④ 網(wǎng)絡(luò)擁塞 : 當(dāng) 擁塞窗口 增加到一定值 , 檢測(cè)到了 網(wǎng)絡(luò)擁塞 , 此時(shí)瞬間將 擁塞窗口降為 1 ; 繼續(xù)執(zhí)行慢開(kāi)始算法 , 新的 慢開(kāi)始門(mén)限值 變?yōu)?網(wǎng)絡(luò)擁塞時(shí) 的 擁塞窗口的 1/2 大小 ;
擁塞窗口改變時(shí)機(jī) :
- 收到上一個(gè)報(bào)文段的確認(rèn)報(bào)文后 , 擁塞窗口翻倍 ;
- 收到上一個(gè)報(bào)文段的擁塞信息后 , 擁塞窗口變?yōu)?1 ;
四、快重傳 和 快回復(fù) 算法
快重傳算法 : 收到 3 個(gè)冗余的 確認(rèn)后 , 執(zhí)行快重傳算法 ;
示例 : 發(fā)送方 給 接收方 發(fā)送 1 2 3 4 5 , 五個(gè)報(bào)文 , 2 號(hào)報(bào)文丟失 , 如果收到 3 4 5 號(hào)報(bào)文 , 其中會(huì)攜帶期待 發(fā)送方 發(fā)送 2 號(hào)報(bào)文 , 此時(shí)觸發(fā) 快重傳 算法機(jī)制 , 在超時(shí)計(jì)時(shí)器到時(shí)之前 , 快速發(fā)送 丟失的 2 號(hào) 報(bào)文 ;
快回復(fù)算法 : 與 上面的 擁塞避免算法的 區(qū)別是 , 出現(xiàn) 網(wǎng)絡(luò)擁塞 之后 , 擁塞窗口 不降為 1 , 而是降低到 慢開(kāi)始門(mén)限值 , 即當(dāng)前的 擁塞窗口大小的 1/2 , 然后線(xiàn)性增加 擁塞窗口 ;
總結(jié)
以上是生活随笔為你收集整理的【计算机网络】传输层 : TCP 拥塞控制 ( 慢开始 | 拥塞避免 | 快重传 | 快恢复 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【计算机网络】传输层 : TCP 流量控
- 下一篇: 【计算机网络】应用层 : 网络应用模型