=head1 Improving Round-Trip Time Estimates in Reliable Transport Protocol Phil Karn (Bell Communications Research) and Craig Partridge (Harvard), 1991 B The authors give a new method for improving RTT estimations that converges quickly to accurate estimated RTTs and, therefore, RTOs when RTTs change but does not modify the SRTT (smoothed round-trip time) due to retransmission ambiguity or congestion. =head1 More Detail The performance of TCP depends (among other things) on the successful estimation of the round-trip time (RTT). A I (SRTT) is calculated as a function of the current SRTT and an I term The I term determines how quickly the SRTT adapts to changes in the most recently measured RTT. The SRTT is multiplied by a I factor (>1) to determine the retransmission time-out (RTO). Typical values for I and I are .0875 & 2, respectively. If the RTO is too large, bandwidth is wasted because time-outs are not detected quickly. It the RTO is too small, packets are erroneously retransmitted and can lead to congestion and, again, wasted bandwidth. It is especially critical to converge to accurate RTOs when the RTT has changed (perhaps the shortest link has gone down & an alternate route is now being used). I arises when retransmissions have been sent out and, when the ACK is received, it is not clear which packet (original or retransmission) is being acked. Retransmission ambiguity causes the inaccuracies in RTT estimation. Previous algorithms to estimate RTT (and their drawbacks) include: =over 4 =item * Measuring RTT from the last transmission: leads to underestimation of the RTT -> RTO too small -> unnecessary retransmissions. =item * Measure RTT from the first transmission: leads to overestimation of RTT -> RTO too big -> wasted bandwidth while waiting for ACKS that never come =item * Measure only RTTs of packets that aren't retransmitted: if the RTO is smaller than a new, larger RTT, the algorithm never has a chance to catch up: all the samples are discarded because they are retransmissions. =back The I measures only those packets that aren't retransmitted I more aggressive RTO backoff to enable the collection of accurate RTT measurements "uncontaminated by retransmission ambiguity". The algorithm is: B B B B B B An implementation in a very lossy network (not congested -- so the RTT should *not* go up just because a datagram was lost -- only if the RTT time really goes up), extimated RTT times remained very stable changing in response only to true RTT changes.