Monday, March 16, 2009
Why TCP without Selective Acknowledgments can only recover from a single packet loss per round trip time?
Even though multiple packets lost in the same transmission window, the sender considers the fist packet that was lost from the duplicate acknowledgement it received. After retransmission of the lost packet, the sender has to wait for the acknowledgements from the receiver for the next lost packet. So, if Selective Acknowledgements is not implemented TCP can only recover from a single loss per RTT. The Selective Acknowledgment option for TCP allows each acknowledgment to specify up to three contiguous blocks of data that have been received beyond the last packet in sequence. The sender can thus infer which packets have been lost and retransmit them without waiting for additional duplicate acknowledgments.