next up previous
Next: ACK Window Up: Error Recovery Previous: Error Recovery

Improved RTT estimate

TCP-Santa Cruz provides an improved rtt estimate over traditional TCP approaches, as well as TCP Vegas, by measuring the round-trip time (RTT) of every segment transmitted. RTT estimates are made for every packet for which an acknowledgment (ACK) is received, including retransmissions. This eliminates the need for Karn's algorithm [9] (in which RTT measurements are not made for retransmissions) and timer-backoff strategies (in which the timeout value is essentially doubled after every timeout and retransmission).

To accomplish the above, TCP-Santa Cruz requires each returning acknowledgment packet to indicate the precise packet that caused the ACK to be generated and the sender must keep a timestamp for each transmitted packet. The precise packet can be uniquely identified by specifying both a sequence number and a transmission copy number. For example, the first transmission of packet 1 is specified as 1.1, the second transmission is labeled 1.2 etc. In this way, it is possible for the sender to perform a new round-trip time estimate for every acknowledgment it receives. Therefore, acknowledgments from the receiver are logically a 3-tuple consisting of a cumulative acknowledgment (indicating the sequence number of the highest in-order packet received so far), and the 2-element sequence number of the packet generating the ACK (usually the most recently received packet). For example, acknowledgment (5.7.2) indicates a cumulative acknowledgment of 5 and the current acknowledgment was generated by the second transmission of a packet with sequence number 7.

As with traditional TCP, we do not want the RTT estimate to be updated too quickly; therefore, a weighted average is computed for each new value received. We use the same algorithm as TCP; however, the computation is performed for every acknowledgment received, instead of once per round-trip time.


next up previous
Next: ACK Window Up: Error Recovery Previous: Error Recovery
Chris Parsa
2000-01-25