複製鏈接
請複製以下鏈接發送給好友

重傳超時

鎖定
重傳超時是TCP協議保證數據可靠性的另一個重要機制,其原理是在發送某一個數據以後就開啓一個計時器,在一定時間內如果沒有得到發送的數據報的ACK報文,那麼就重新發送數據,直到發送成功為止。
中文名
重傳超時
類    別
機制

重傳超時超時

時間的計算是超時的核心部分,TCP要求這個算法能大致估計出當前的網絡狀況,雖然這確實很困難。要求精確的原因有兩個:(1)定時長久會造成網絡利用率不高。(2)定時太短會造成多次重傳,使得網絡阻塞。所以,書中給出了一套經驗公式,和其他的保證計時器準確的措施。

重傳超時發送數據大小

前面曾經提到過,數據在傳輸的時候不能只使用一個窗口協議,我們還需要有一個擁塞窗口來控制數據的流量,使得數據不會一下子都跑到網路中引起“擁塞”。也曾經提到過,擁塞窗口最初使用指數增長的速度來增加自身的窗口,直到發生超時重傳,再進行一次微調。但是沒有提到,如何進行微調,擁塞避免算法和慢啓動門限就是為此而生。
所謂的慢啓動門限就是説,當擁塞窗口超過這個門限的時候,就使用擁塞避免算法,而在門限以內就採用慢啓動算法。所以這個標準才叫做門限,通常,擁塞窗口記做cwnd,慢啓動門限記做ssthresh。

重傳超時快速重傳和快速恢復算法

這是數據丟包的情況下給出的一種修補機制。一般來説,重傳發生在超時之後,但是如果發送端接受到3個以上的重複ACK的情況下,就應該意識到,數據丟了,需要重新傳遞。這個機制是不需要等到重傳定時器溢出的,所以叫做快速重傳,而重新傳遞以後,因為走的不是慢啓動而是擁塞避免算法,所以這又叫做快速恢復算法。