Improved selective acknowledgment scheme for TCP.
Rajkumar Kettimuthu, William E. Allcock · 2004
A selective acknowledgment (SACK) mechanism, com-bined with a selective repeat retransmission policy, has been proposed to overcome the limitations with the cu-mulative acknowledgment scheme in TCP. With the SACK mechanism, the receiver informs the sender about the non-contiguous 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 ac-knowledgment packet, at the maximum, can carry infor-mation about only 4 noncontiguous blocks. Under some error conditions, this limitation can cause the TCP sender to retransmit packets that have already been received suc-cessfully by the receiver. In this paper, we propose an im-proved selective acknowledgment (ISACK) scheme to over-come the limitations of the current selective acknowledg-ment scheme. Using examples, we demonstrate how the proposed scheme works. We further propose an adaptive selective acknowledgment (ASACK) strategy that dynami-cally switches between SACK and ISACK to give optimal performance. 1