blog




  • Essay / The Selective Acknowledgment (SACK) Mechanism - 667

    Summary: When analyzing CAIDA Internet traces of TCP traffic for cases of data denial, we frequently observed four inappropriate behaviors in the SACK generation. These inappropriate behaviors could lead the sender of the data to incorrectly believe that a retraction of the data has occurred. Further testing detected two additional inappropriate behaviors during SACK generation that, in the worst case, could cause a data sender to receive a SACK for data that was never received. This article reports the results of testing a wide range of operating systems using TBIT to document which ones misbehave in each of six ways. We can conclude that SACK management, although simple in concept, is complex to implement. Keywords - SACK; Selective acknowledgment of receipt; TCP; TBITI. INTRODUCTIONThe Selective Acknowledgment (SACK) mechanism, RFC 2018 [1], an extension of the Transmission Control Protocol (TCP) ACK mechanism [2], allows a data receiver to explicitly acknowledge receipt of data in the disorder to the data sender. When using SACK, a TCP data sender does not need to retransmit SACK data during the loss recovery period. Previous research [3...