TCP擁塞控制


慢開始和擁塞避免:

慢開始原理:

(1)當主機開始發送數據時,如果立即將較大的發送窗口的全部數據字節都注入網絡,由於不清楚網絡的狀況,可能會引發網絡擁塞

(2)比較好的方式就是從小到大逐漸增大發送端的擁塞控制窗口數值

(3)一開始發送報文段的時候就將擁塞窗口cwnd的打星設置為最大報文段的MSS。如果收到了對新報文段的確認,那就就在大家一個MSS的數值

當rwind朱勾搭的時候,為防止擁塞端口cwind引起網絡擁塞,就開始使用慢開始門限ssthresh進行控制,ssthresh的使用方法如下

擁塞避免算法如下:

(1)TCP連接初始化,將擁塞窗口設置為1

(2)執行慢開始算法,cwnd按指數規律增長,知道cwind=ssthress時,開始執行擁塞避免算法,cwnd按線性規律增長

(3)當網絡發送擁塞,把ssthresh值更新為擁塞前ssthresh的一半,cwnd重新設置為1,然后再執行(2)

 

 

快重傳和快恢復

快重傳要求接收方在收到一個失序的報文段后就立即發出重復確認(為的是使發送方及早知道有報文段沒有到達對方)

而不要等到自己發送數據時捎帶確認。快重傳算法規定發送方只要已收到3個重復確認就應當立即崇川對方尚未收到的報文段,而不必繼續等待

設置的重傳計時器時間到期

快恢復算法:

(1)當發送方連續收到三個重復確認時,就執行“乘法減小”算法,把sstresh門限減半。但是並執行慢開始 

(2)考慮到如果網絡出現擁塞的話就不會收到好幾個重復的確認,所以發送方現在認為網絡可能沒有出現擁塞。所以此時不執行慢開始算法

,而是將cwnd設置為sstresh的打星,然后開始執行擁塞避免算法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM