慢開始算法是用於控制網路流量的算法。
基本介紹
- 中文名:慢開始算法
- 定義:用於控制網路流量的算法
- 分類:計算方法
- 學科:計算機
報文回發,算法舉例,
報文回發
慢開始門限的初始值設定為 16 個報文段,即 ssthresh = 16
在執行慢開始算法時,擁塞視窗 cwnd 的初始值為 1,傳送第一個報文段 M0。
傳送端收到 ACK1 (確認 M0,期望收到 M1)後,將 cwnd 從 1 增大到 2,於是傳送端可以接著傳送 M1 和 M2 兩個報文段。
接收端發回 ACK2 和 ACK3。傳送端每收到一個對新報文段的確認 ACK,就把傳送端的擁塞視窗加 1。現在傳送端的 cwnd 從 2 增大到 4,並可傳送 M3 ~ M6共 4個報文段
傳送端每收到一個對新報文段的確認 ACK,就把傳送端的擁塞視窗加 1,因此擁塞視窗 cwnd 隨著傳輸次數按指數規律增長。
當擁塞視窗 cwnd 增長到慢開始門限值 ssthresh 時(即當 cwnd = 16 時),就改為執行擁塞避免算法,擁塞視窗按線性規律增長。
當 cwnd = 12 時改為執行擁塞避免算法,擁塞視窗按按線性規律增長,每經過一個往返時延就增加一個 MSS 的大小。
算法舉例
用這樣的方法逐步增大傳送端的擁塞視窗 cwnd,可以使分組注入到網路的速率更加合理。
MSS 是 TCP 報文段中的數據欄位的最大長度。
TCP 只規定了一種選項,即最大報文段長度 MSS (Maximum Segment Size)。
MSS 告訴對方 TCP:“我的快取所能接收的報文段的數據欄位的最大長度是 MSS 個位元組。”