In full-duplex communication, sending separate ACK packets for received data wastes bandwidth. Each small ACK adds to network traffic and processing overhead.
A technique where acknowledgments are attached to outgoing data packets instead of being sent as separate control packets, reducing overhead.
- Host receives a data packet and needs to send an ACK
- Instead of sending a separate ACK immediately, it waits briefly
- If the host has its own data to send, it includes the ACK in the outgoing data packet’s header
- If no data is ready before a timer expires, a separate ACK is sent
- TCP uses piggybacking extensively — the ACK field is always present in TCP headers
- Reduces number of packets on the network
- Uses a timer to avoid delaying ACKs indefinitely
- Requires full-duplex communication
- More complex implementation than separate ACKs
- Built from: Acknowledgment — what gets piggybacked
- Built from: Sliding Window Protocol — works with windowed protocols
- Related: TCP — uses piggybacking in every segment
- Related: Full-Duplex Communication — prerequisite for piggybacking
- Piggyback timer too long can cause unnecessary retransmissions (sender times out)
- Piggyback timer too short reduces effectiveness (separate ACK sent anyway)
- In asymmetric traffic (one side mostly receiving), piggybacking is less effective