在主機剛剛開始傳送報文段時可先將擁塞視窗cwnd 設定為一個最大報文段 MSS 的數值。在每收到一個對新的報文段的確認後,將擁塞視窗增加至多一個 MSS 的數值。用這樣的方法逐步增大發送端的擁塞視窗cwnd,可以使分組注入到網路的速率更加合理。MSS 是 TCP 報文段中的資料欄位的最大長度。TCP 只規定了一種選項,即最大報文段長度 MSS (Maximum Segment Size)。MSS 告訴對方 TCP:"我的快取所能接收的報文段的資料欄位的最大長度是 MSS 個位元組。"當 TCP 連線進行初始化時,將擁塞視窗置為 1。圖中的視窗單位不使用位元組而使用報文段。IP格式慢開始門限的初始值設定為 16 個報文段,即 ssthresh = 16傳送端的傳送視窗不能超過擁塞視窗cwnd 和接收端視窗 rwnd 中的最小值。我們假定接收端視窗足夠大,因此現在傳送視窗的數值等於擁塞視窗的數值。在執行慢開始演算法時,擁塞視窗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 時),就改為執行擁塞避免演算法,擁塞視窗按線性規律增長。假定擁塞視窗的數值增長到 24 時,網路出現超時(表明網路擁塞了)。更新後的 ssthresh 值變為 12(即傳送視窗數值 24 的一半),擁塞視窗再重新設定為 1,並執行慢開始演算法。當 cwnd = 12 時改為執行擁塞避免演算法,擁塞視窗按按線性規律增長,每經過一個往返時延就增加一個 MSS 的大小。
在主機剛剛開始傳送報文段時可先將擁塞視窗cwnd 設定為一個最大報文段 MSS 的數值。在每收到一個對新的報文段的確認後,將擁塞視窗增加至多一個 MSS 的數值。用這樣的方法逐步增大發送端的擁塞視窗cwnd,可以使分組注入到網路的速率更加合理。MSS 是 TCP 報文段中的資料欄位的最大長度。TCP 只規定了一種選項,即最大報文段長度 MSS (Maximum Segment Size)。MSS 告訴對方 TCP:"我的快取所能接收的報文段的資料欄位的最大長度是 MSS 個位元組。"當 TCP 連線進行初始化時,將擁塞視窗置為 1。圖中的視窗單位不使用位元組而使用報文段。IP格式慢開始門限的初始值設定為 16 個報文段,即 ssthresh = 16傳送端的傳送視窗不能超過擁塞視窗cwnd 和接收端視窗 rwnd 中的最小值。我們假定接收端視窗足夠大,因此現在傳送視窗的數值等於擁塞視窗的數值。在執行慢開始演算法時,擁塞視窗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 時),就改為執行擁塞避免演算法,擁塞視窗按線性規律增長。假定擁塞視窗的數值增長到 24 時,網路出現超時(表明網路擁塞了)。更新後的 ssthresh 值變為 12(即傳送視窗數值 24 的一半),擁塞視窗再重新設定為 1,並執行慢開始演算法。當 cwnd = 12 時改為執行擁塞避免演算法,擁塞視窗按按線性規律增長,每經過一個往返時延就增加一個 MSS 的大小。