:ID: 6037111E-3EA9-4705-86B2-EB217C9C89E3 :STARTUP
Representation of the maximum allowable time that a sender will wait for a response or acknowledgment from the receiver before considering the transmission as unsuccessful or lost.
The timeout should be set to more than the RTT of the connection. One might want to set it larger than RTT by some margin that is defined by the fluctuations in RTT, therefore a heuristic is to set the timeout as follows:
-
Set initial timeout to 1 second.
-
When a timeout occurs then double the time.
-
As soon as a new segment is received after a timeout calculate the timeout value by
- where is the RTT of the newly received segment.
- where is the expected next RTT calculated as an exponential weighted moving average of previously experienced sample RTT values where is a weighting parameter with the recommended value .
- where is an estimate of how much RTT varies and is calculated by an exponential weighted moving average of the previously experienced sample RTTs where is the newly experienced sample RTT and is a weighting parameter that is recommended to have value .
- Ignore RTTs for re-transmitted segments. Because it could measure the RTT wrong when receiving an ACK for the initial segment after sending the re-transmission. It would mistake the ACK as corresponding to the re-transmission and calculate a mistakenly low value of
RTT.