This preview shows page 1. Sign up to view the full content.
Unformatted text preview: /Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_time.htm (4 of 29) [12/09/2001 14.47.26] Chapter 21. TCP Timeout and Retransmission Err = M - A
A <- A + gErr
D <- D+ h(|Err| - D)
RTO = A + 4D
where A is the smoothed RTT (an estimator of the average) and D is the smoothed mean
deviation. Err is the difference between the measured value just obtained and the current
RTT estimator. Both A and D are used to calculate the next retransmission timeout (RTO).
The gain g is for the average and is set to 1/8 (0.125). The gain for the deviation is h and is
set to 0.25. The larger gain for the deviation makes the RTO go up faster when the RTT
[Jacobson 1988] specified 2D in the calculation of RTO, but after further research, [Jacobson 1990c]
changed the value to 4D, which is what appeared in the BSD Net/1 implementation.
Jacobson specifies a way to do all these calculations using integer arithmetic, and this is the implementation
typically used. (That's one reason g, h, and the multiplier 4 are all powers of 2, so the operations can be done
using shifts instead of multiplies and divides.)
Comparing the original method with Jacobson's, we see that the calculations of the smoothed average are
similar (α is one minus the gain g) but a different gain is used. Also, Jacobson's calculation of the RTO
depends on both the smoothed RTT and the smoothed mean deviation, whereas the original method used a
multiple of the smoothed RTT.
We'll see how these estimators are initialized in the next section, when we go through an example. Karn's Algorithm
A problem occurs when a packet is retransmitted. Say a packet is transmitted, a timeout occurs, the RTO is
backed off as shown in Section 21.2, the packet is retransmitted with the longer RTO, and an
acknowledgment is received. Is the ACK for the first transmission or the second? This is called the
retransmission ambiguity problem.
[Karn and Partridge 1987] specify that when a timeout and retransmission occur, we cannot update the RTT
estimators when th...
View Full Document
- Spring '12