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