這個值太大會導致不必要的等待,太小會導致不必要的重傳,理論上最好是網絡RTT時間,但又受制於網絡距離與瞬間態時延變化,所以時間上使用自適應的動態規划算算法。(例如Jacobson算法和IKarn算法等)來確定超時時間。
jacobson算法:
工作原理是:
1,將每條連接TCP都保持一個變量
RTT。
2,當發送一個數據段時,同時啟動連接的定時器。
3,如果定時器超時前確認到達,則記錄所需的時間。
4,修正RTT的值。
5,如果定時器超時前沒有收到確認,則將RTT的值增加一倍。
Karn算法:
報文段每重傳一次,就將重傳時間增大一些:
新的重傳時間 = γ×(舊的重傳時間)
系數 γ 的典型值是2 。
當不再發生報文段的重傳時,才根據報文段的往返時延更新平均往返時延 RTT 和重傳時間的數值。
實踐證明,這種策略較為合理。