A selective acknowledgment (SACK) mechanism, combined with a selective repeat retransmission policy, has been proposed to overcome the limitations with the cumulative acknowledgment scheme in TCP. With the SACK mechanism, the receiver informs the sender about the noncontiguous blocks of data that have been received and queued. However, for each such noncontiguous block, SACK requires 8 bytes to convey the information to the sender. Since TCP options field has a fixed length, an acknowledgment packet, at the maximum, can carry information about only 4 noncontiguous blocks. Under some error conditions, this limitation can cause the TCP sender to retransmit packets that have already been received successfully by the receiver. In this paper, we propose an improved selective acknowledgment (ISACK) scheme to overcome the limitations of the current selective acknowledgment scheme. Using examples, we demonstrate how the proposed scheme works. We further propose an adaptive selective acknowled...
Rajkumar Kettimuthu, William E. Allcock