擁塞控制和流量控制不一樣,後者是端對端的問題,它則是一個全局的問題,涉及主機,路由器等等通信設備,還有些和降低傳輸性能有關的問題。
主要涉及三個算法
- 慢開始算法
如圖所示,- 擁塞窗口cwnd在最開始時,值爲1,然後按照*2翻倍的形式增長
- 直到這個值大於等於 慢開始門限之後,從這個門限16開始,以+1的形式增長
- 直到發生超時,那麼cwnd變爲1,再按照*2翻倍的形式增長
- 但是這次慢開始門限變了,新值時超時cwnd的一半,然後按照這個規則傳輸輪次
- 快重傳
快重傳就是接收方,去頂收到一個亂序的報文之後,立即發出重發確認,三次,沒有必要把下面剩餘的報文接收完了,再發送,要立馬發送。快重傳和快恢復是配合使用的。 - 快恢復
我們在慢開始算法中講到,超時時,cwnd要從1開始,這個快恢復不一樣,它從超時串口的1/2處開始,即從ssthresh這個閾值這個地方開始。
如下圖
以上就是TCP進行擁塞控制的簡單介紹,當然都在傳輸層,沒有考慮網絡層的東西。