自頂向下 | TCP擁塞控制
我們知道分組交換機在做分組轉發也是需要時間的,所以在分組交換機中也有相應的快取,用於儲存到達的分組。很明顯分組交換機中的快取大小是有限的,那麼當網路中的分組過多時,分組交換機中的快取滿,就會導致分組丟失。
網路擁塞的代價:
- 當分組到達速率接近鏈路容量時,分組經歷巨大的排隊時延。、
- 傳送方必須執行重傳以補償因為快取溢位而丟失的分組。
- 傳送方在遇到大時延時所進行的不必要重傳會引起路由器利用其鏈路頻寬來轉發不必要的分組副本。
- 當一個分組沿一條路徑被丟失時,每個上游路由器用於轉發該分組而使用的傳輸容量最終被浪費掉了。
TCP提供了端到端擁塞控制,端系統通過對網路行為的觀察,判斷網路的擁塞。
端到端擁塞控制指網路層不能為運輸層擁塞控制提供顯式幫助,反之稱為網路輔助的擁塞控制。
如何限制傳送速率?
類似TCP流量控制,傳送方維護了一個變數,稱為擁塞視窗,通過控制LastByteSent - LastByteAcked <= min(cwnd, rwnd)
,即已傳送未被確認資料量小於擁塞視窗和接收視窗,來限制傳送速率。
忽略rwnd(接收視窗)的情況下,通過調節cwnd(擁塞視窗)的值,調整傳送方向連線傳送資料的速率。
如何感知網路擁塞?
我們將一個TCP傳送方的丟包事件定義為:要麼出現超時,要麼收到來自接收方的3個冗餘ACK。也就是說沒有丟包事件發生,則網路良好;出現丟包事件,則網路擁塞。
如何調節傳送速率?
TCP傳送方希望以儘量高的速率傳送而不會使網路擁塞。
- 一個丟包事件意味著擁塞,因此當丟失 報文段時應當降低傳送速率。
- 一個先前未確認報文段的確認到達時,能夠增加傳送方的速率。
- 傳送方會試探擁塞開始出現的速率,並從該速率後退,繼續開始試探。
TCP擁塞控制演算法
TCP擁塞控制演算法包括三個部分:①慢啟動;②擁塞避免;③快速恢復。
慢啟動以一個低速率開始,進行指數增長,如果快要到擁塞發生的速率了(通過慢啟動閾值感知,即ssthresh變數),就進入擁塞避免,停止指數增長,轉為線性增長。
且TCP擁塞控制演算法對待超時和收到3個冗餘ACK的態度是不一樣的,雖然他們都標識著分組丟失,但是超時會比收到3個冗餘ACK意味著更大的網路擁塞,因此超時都會重新開始慢啟動,而收到3個冗餘ACK則會進入快速恢復。
在快速恢復中,會探測是不是輕度擁塞(不需要把速率打到低谷),因此每收到一個冗餘ACK會指數增加傳送速率,直到超時(重度擁塞,重新開始慢啟動)或收到新的ACK(輕度擁塞,擁塞解除了,進入擁塞避免線性增加傳送速率)。
整個擁塞控制用一句話總結就是:TCP傳送方希望以儘量高的速率傳送而不會使網路擁塞。因此傳送方的傳送速率會隨著時間呈現鋸齒狀。
作者:李素晴
連結:https://juejin.cn/post/6888258656341606408
來源:掘金
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
相關文章
- TCP的擁塞控制TCP
- TCP流量控制、擁塞控制TCP
- TCP流量控制和擁塞控制TCP
- TCP擁塞控制之基礎TCP
- TCP之 流量控制與擁塞控制TCP
- 淺談TCP(2):流量控制與擁塞控制TCP
- TCP的滑動視窗和擁塞控制TCP
- TCP 重傳、滑動窗⼝、流量控制、擁塞控制TCP
- TCP擁塞機制TCP
- TCP協議的秘密武器:流量控制與擁塞控制TCP協議
- 計算機網路-5-9-TCP擁塞控制計算機網路TCP
- TCP 擁塞視窗原理TCP
- TCP 封裝的隧道對於擁塞控制的意義TCP封裝
- TCP之擁塞視窗原理TCP
- 白話TCP擁塞控制:運糧的河道堵塞了怎麼辦?TCP
- 論TCP協議中的擁塞控制機制與網路穩定性TCP協議
- 《計算機網路微課堂》5-5 TCP的擁塞控制計算機網路TCP
- Java後端自頂向下方法——TCP程式設計與I/O模型Java後端TCP程式設計模型
- 一文讀懂擁塞控制
- 計算機網路的擁塞控制計算機網路
- 一文帶你掌握【TCP擁塞視窗】原理TCP
- 自頂向下語法分析複習總結語法分析
- 擁塞控制演算法的評價標準演算法
- 程式設計中的自頂向下設計思想程式設計
- 【Redis】內部資料結構自頂向下梳理Redis資料結構
- 計網自頂向下1.1:介紹——電路交換
- 《計算機網路:自頂向下方法》合集前言計算機網路
- 計算機網路之傳輸層TCP與UDP對比、流量控制、擁塞控制、超時重傳時間的選擇、可靠傳輸計算機網路TCPUDP
- 在SOLIDWORKS中自底向上與自頂向下裝配體建模有什麼不同?Solid
- 計算機網路:自頂向下方法(原書第6版)計算機網路
- 【完虐演算法】自頂向下專題類目 全覆盤演算法
- 計算機網路自頂向下方法:第五章 網路層:控制平面 課後複習題計算機網路
- 理解二叉樹遞迴中的自底向上和自頂向下兩種思想二叉樹遞迴
- 講透樹4 | 非自頂向下類別題目覆盤專題
- 這個演算法不一般,控制擁塞有一手!演算法
- 計算機網路自頂向下方法:第三章 運輸層計算機網路
- TCP流量控制TCP
- 擁塞視窗-傳送方主動限制流量