淺談TCP全局同步和TCP飢餓

TCP全局同步

如上圖:wKiom1gruO3BXALCAAB_fUGWURo799.png-wh_50

當網絡正常情況下,PC1,PC2,PC3與PC4建立TCP鏈接,TCP的窗口大小爲最大。當R1連PC4的接口發生擁塞尾丟包時,TCP感應到鏈路的擁塞。就將窗口大小改爲原來的1/2,當改爲後AR1接口速率明顯降低。鏈路恢復正常。TCP感應到鏈路不擁塞了,馬上又把窗口大小還原,可想而知鏈路就擁塞了。就這樣周而復始。

這種現象叫:TCP全局同步。


TCP飢餓

wKiom1gru7jx1wWTAACkGD5qt5c903.png-wh_50

如上圖:

和TCP同步一樣,當AR1連接PC4的鏈路發生擁塞。TCP的窗口變成原來窗口大小的1/2,但這時PC5 UDP的報文進來了。UDP沒有像TCP一樣的窗口機制。當鏈路不擁塞了,UDP就馬上把鏈路佔滿了。TCP還是感覺到鏈路擁塞,再次縮小窗口。如果UDP報文持續不斷的發送(大速率發送),那麼TCP將被排擠出去,無法獲得帶寬。

這種現象叫:TCP飢餓


以上兩種情況發送的原因都是當擁塞發生時,擁塞避免採用尾丟棄造成的。採用WRED加權隨機早期檢測機制避免上述情況的發生

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章