Piggybacking (data transmission)
From Wikipedia, the free encyclopedia
Piggybacking is a bi-directional data transmission technique in network layer (OSI model). It makes the most of the sent data frames from receiver to emitter, adding to them the confirmation that the data frame sent from emitter has arrived successfully (ACK acknowledge). This practically means, that instead of sending ACK in an individual frame it is piggy-backed on the data frame.
[edit] Working Principle
Piggybacking data transfer 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 3, it will send ACK5 with the data.
Three rules govern the piggybacking data transfer.
- If station A wants to send both data and acknowledgment, it keeps both the field there.
- If a station wants to send just the acknowledgment, then a separate ACK frame is sent.
- If a station wants to send just the data, then the last acknowledgment field is sent along with the data. The other station B upon receiving this duplicate ACK frame, simply ignores it.
[edit] Advantages and Disadvantages
Advantages: Improves the efficiency
Disadvantages: Receiver can jam the service if he/she has nothing to send. It could be solved if receiver adds a counter (Receiver timeout) which is activated when a data frame is received. If count ends with no data frames being sent, receiver will send an ACK control frame. Emitter also adds a counter (Emitter timeout), if the counter ends without receiving confirmation, emitter sends the frame again.

