Piggybacking (data transmission)
|This article does not cite any sources. (December 2009) (Learn how and when to remove this template message)|
In two-way communication, whenever a data frame is received, the receiver waits and does not send the control frame (acknowledgement or ACK) 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.
Piggybacking data is a bit different from Sliding Window Protocol used in the OSI model. In the data frame itself, we incorporate one additional field for acknowledgment (called ACK).
Whenever party A wants to send data to party B, it will send the data along with this ACK field. Considering the sliding window here of size 8 bits, if A has send frames up to 5 correctly (from B), and wants to send frames starting from frame 6, it will send ACK6 with the data.
Three rules govern the piggybacking data transfer.
- If station A wants to send both data and an acknowledgment, it keeps both fields there.
- If station A wants to send just the acknowledgment, then a separate ACK frame is sent.
- If station A wants to send just the data, then the last acknowledgment field is sent along with the data. Station B simply ignores this duplicate ACK frame upon receiving .
Advantages and Disadvantages
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 (Receiver timeout) 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 (Emitter timeout), if the counter ends without receiving confirmation, the sender assumes packet loss, and sends the frame again.
- Tanenbaum, Andrew & Wetherall, David. Computer Networks, 5th Edition, Pearson Education Limited, , 2014, p 226.