Check out the new USENIX Web site. next up previous
Next: Sending data bursts Up: Extending the algorithm Previous: Extending the algorithm

Fast ack parity

First, the long timeout used to guarantee ack parity restricts the tool to examining background packet loss over relatively large time scales. If we are interested in examining losses over shorter time scales, or exploring correlations between packet losses and packet bursts sent from the source, then we must eliminate the long delay requirement.

An alternative technique for forcing ack parity is to take advantage of the fast retransmit algorithm contained in most modern TCP implementations [Ste94]. This algorithm is based on the premise that since TCP always acknowledges the last in-sequence packet it has received, a sender can infer a packet loss by observing duplicate acknowledgments. To make this algorithm efficient, the delayed acknowledgment mechanism is suspended when an out-of-sequence packet arrives. This rule leads to a simple mechanism for guaranteeing ack parity: during the data seeding phase we skip the first sequence number and thereby ensure that all data packets are sent, and received, out-of-sequence. Consequently, the receiver will immediately respond with an acknowledgment for each data packet received. The hole filling phase is then modified to transmit this first sequence number instead of the next in-sequence packet.


next up previous
Next: Sending data bursts Up: Extending the algorithm Previous: Extending the algorithm
Stefan Savage
8/31/1999