Piggybacking (data transmission)


In two-way communication, whenever a frame is received, the receiver waits and does not send the control frame back to the sender immediately.
The receiver waits until its network layer passes in the next data packet. The delayed acknowledgement is then attached to this outgoing data frame.
This technique of temporarily delaying the acknowledgement so that it can be hooked with next outgoing data frame is known as piggybacking.

Working Principle

Piggybacking data is a bit different from Sliding Protocol used in the OSI model. In the data frame itself, we incorporate one additional field for acknowledgment.
Whenever party A wants to send data to party B, it will carry additional ACK information in the PUSH as well.
For example, if A has received 5 bytes from B, which sequence number starts from 12340, A will place "ACK 12345" as well in the current PUSH packet to inform B it has received the bytes up to sequence number 12344 and expects to see 12345 next time.
Three rules govern the piggybacking data transfer.
Advantages : Improves the efficiency, better use of available channel bandwidth.
Disadvantages : The receiver can jam the service if it has nothing to send. This can be solved by enabling a counter when a data frame is received. If the count ends and there is no data frame to send, the receiver will send an ACK control frame. The sender also adds a counter, if the counter ends without receiving confirmation, the sender assumes packet loss, and sends the frame again.