Skip to content
uencoder

SACK

SACK (Selective Acknowledgment, RFC 2018) lets the receiver acknowledge discontinuous blocks of data so the sender retransmits only the lost segments.

Purpose

It avoids retransmitting already-received segments on lossy links, improving recovery efficiency—especially for large-window connections.

Mechanism

The TCP SACK option carries up to four [left, right] boundary pairs marking the non-contiguous received blocks. From these, the sender retransmits only the gap segments instead of everything since the last ACK.

Use cases

  • Recovery on high-loss links
  • Large-window TCP
  • Satellite and wireless networks

Related tools

References