Sending an ACK for every received packet creates overhead. A more efficient approach is needed to acknowledge multiple packets with a single ACK.
An acknowledgment that confirms receipt of all packets up to and including a specific sequence number, not just the single packet being acknowledged.
- Receiver gets packets 0, 1, 2, 3 in order
- Receiver sends ACK for packet 3, meaning “I have received all packets up to 3”
- Sender receives ACK 3 and knows packets 0, 1, 2, 3 were all received
- If packet 1 is lost but 2, 3 arrive, receiver keeps ACKing 0 (last in-order packet)
- Used by Go-Back-N and TCP
- Reduces number of ACK packets needed
- Confirms receipt through a sequence number
- Used by Go-Back-N and TCP (with selective ACK option available)
- If gap detected, ACK stays at last in-order packet
- Built from: Acknowledgment — cumulative is a type of ACK
- Built from: Go-Back-N ARQ — uses cumulative ACKs
- Built from: TCP — uses cumulative ACKs (default behavior)
- Contrasts with: Selective Repeat — individual ACKs vs cumulative
- Doesn’t identify which specific packets are missing (just the last contiguous one)
- TCP selective ACK (SACK) option extends cumulative ACK to identify gaps
- Duplicate ACKs (same cumulative ACK repeated) can signal packet loss