一、介紹 Tail Loss Probe (TLP)是同樣是一個發送端算法,主要目的是使用快速重傳取代RTO超時重傳來處理尾包丟失場景。在一些WEB業務中,如果TCP尾包丟失,如果依靠RTO超時進行重傳會帶來比較大的延遲,進而影響用戶體驗。如果一個TCP連接沒有在一段時間內沒有收到ACK報文 ...
在最開始介紹TCP的時候,我們就介紹了TCP的三個特點,分別是面向連接 可靠 字節流式。前面內容我們已經介紹過了TCP的連接管理,接下來的這部分內容將會介紹與TCP可靠性強關聯的TCP重傳。 很多網絡協議都提供了checksum或者CRC手段來檢測收到的數據包是否發生錯誤,但是檢測到數據包錯誤后很多協議都不會進行重傳等操作來可靠的修復錯誤。例如常見的IP和UDP協議完全沒有重傳,對於鏈路層的以太 ...
2016-11-07 13:45 0 2661 推薦指數:
一、介紹 Tail Loss Probe (TLP)是同樣是一個發送端算法,主要目的是使用快速重傳取代RTO超時重傳來處理尾包丟失場景。在一些WEB業務中,如果TCP尾包丟失,如果依靠RTO超時進行重傳會帶來比較大的延遲,進而影響用戶體驗。如果一個TCP連接沒有在一段時間內沒有收到ACK報文 ...
一、RACK概述 RACK(Recent ACKnowledgment)是一種新的基於時間的丟包探測算法,RACK的目的是取代傳統的基於dupthresh門限的各種快速重傳及其變種。前面介紹的各種基於dup ACK的快速重傳算法及其變種通過修改dupthresh門限等手段,有些可以迅速的探測到丟包 ...
我們之前介紹SACK選項的時候說過,SACK可以把接收端系列號空間的洞反映給發送端,因此發送端可以更充分的理解接收端的情況,而進行更好的重傳恢復過程。這種過程有時候也叫做advanced loss recovery。 一、數據接收端SACK行為 我們通過一個 ...
一、快速重傳介紹 按照TCP協議,RTO超時重傳是一個非常重要的事件,當RTO超時的時候,TCP會同時通過兩種方式非常謹慎的降低發送數據包的速率,一種是基於擁塞控制削減發送窗口的大小,另外一個是通過指數回退增加每次RTO超時的時間(即karn算法的第二部分)。所以RTO超時后有 ...
一、介紹 當TCP連續大量的發送數據的時候,當出現丟包的時候可以有足夠的dup ACK來觸發快速重傳。但是internet上還有大量的交互式服務,這類服務一般都是由小包組成,而且一次操作中需要傳輸的數據包一般比較少,比如在線游戲、股票交易等,這一類數據流我們就稱呼為thin stream。在一次 ...
一、介紹 在前面介紹thin stream時候我們介紹過有兩種場景下可能不會產生足夠的dup ACK來觸發快速重傳,一種是游戲類響應交互式tcp傳輸,另外一種是傳輸受到擁塞控制的限制,只能發送少量TCP報文.針對這種場景提出了一個快速重傳的改進算法即早期重傳(early retransmit,簡稱 ...
在前面我們概述了TCP的超時重傳之后我們簡單的看一下tcp超時重傳的示例。首先簡單的描述一下測試過程 1、設置/proc/sys/net/ipv4/tcp_early_retrans為2,關掉TLP功能(后面內容介紹TLP)。設置/proc/sys/net/ipv4 ...
一、介紹 FACK的全稱是forward acknowledgement,FACK通過記錄SACK塊中系列號最大(forward-most)的SACK塊來推測丟包信息,在linux中使用fackets_out這個狀態變量來記錄FACK信息。我們之前介紹SACK重傳時候說過在SACK下需要 ...