The cumulative ACK stops at a missing range while SACK describes later bytes already received.

SACK reports received ranges beyond a gap so recovery can target missing data

A TCP cumulative acknowledgment identifies the next byte expected in order. If a segment is missing but later bytes arrive, that acknowledgment cannot advance across the hole. Selective Acknowledgment, or SACK, adds information about received byte ranges beyond the cumulative boundary. It helps a sender distinguish missing data from data already queued at the receiver, improving the information available to its recovery algorithm. ...

September 11, 2027 · 6 min · XB Field Notes