Piggybacking (data transmission)
Piggybacking is a bi-directional data transmission technique in the network layer (OSI model). It makes the most of the sent data frames from receiver to emitter, adding the confirmation that the data frame sent by the sender was received successfully (ACK acknowledge). This practically means, that instead of sending an acknowledgement in an individual frame it is piggy-backed on the data frame.
Working Principle
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 received 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.[1] 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.
References
- ↑ Tanenbaum, Andrew & Wetherall, David. Computer Networks, 5th Edition, Pearson Education Limited, , 2014, p 226.