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

In all practical situations, the transmission of data needs to be bi-directional. This is called as full-duplex transmission.We can achieve this full-duplex transmission i.e. by having two separate channels-one for forwarding data transfer and the other for separate transfer i.e. for acknowledgments.A better solution would be to use each channel (forward & reverse) to transmit frames both ways, with both channels having the same capacity. If A and B are two users. Then the data frames from A to Bare intermixed with the acknowledgments from A to B.One more improvement that can be made is piggybacking. 

Gaining access to a restricted communications channel by using the session another user already established. Piggybacking can be defeated by logging out before walking away from a workstation or terminal or by initiating a screensaver that requires re-authentication when resuming. Piggybacking also refers to someone allowing another person to follow right after them into a restricted area. Also known as “tailgating,” this may be done on purpose by a disgruntled employee or just out of carelessness. See replay attack, hijacking, and crypto-jacking.

The concept is explained as follows:

  • In two way communication, Whenever a data frame is received, the received waits and does not send the control frame (acknowledgment) back to the sender immediately.
  • The receiver waits until its network layer passes in the next data packet. The delayed acknowledgment is then attached to this outgoing data frame.
  • This technique of temporarily delaying the acknowledgment so that it can be hooked with the next outgoing data frame is known as piggybacking.
  • Piggybacking data is a bit different from the Sliding Window Protocol used in the OSI model. In the data frame itself, we incorporate one additional field for an acknowledgment (called ACK).
  • 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 (through 12344), 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. (ACK number is the next sequence number of the data to be PUSHed by the other party.)

Three rules govern the piggybacking data transfer:

  1. If station A wants to send both data and an acknowledgment, it keeps both fields there.
  2. If station A wants to send just the acknowledgment, then a separate ACK frame is sent
  3. 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.

Advantage:

Improves the efficiency, better use of available channel bandwidth.

Disadvantage:

1. Additional complexity.

2. If the data link layer waits too long before transmitting the acknowledgment, then retransmission of frame would take place.

For an advance security blog, kindly visit www.theweborion.com