1. In the previous protocols, data frames were transmitted in one direction only.
2. In most applications, there is a need for transmitting data in both directions.
3. One way of achieving full-duplex data transmission is to have two separate communication channels and use each one for simple data traffic.
4. So, we have two separate physical circuits one is a forward channel and reverse channel for acknowledgments.
5. The utilization of bandwidth of the reverse channel is almost entirely wasted, which indicates unnecessarily playing the cost to one channel.
6. One solution is to use the same circuit for data in both directions.
7. The interleaving of data and control frames on the same circuit is an improvement over having two separate physical circuits.
8. Yet another improvement is also possible.
9. When data frames arrive at the receiver, instead of immediately sending a separate control frame, the receiver restores itself and waits until the network layer passes the next packet.
10. The acknowledgment is attached to the outgoing data frame.
11. In effect, the acknowledgment gets a free ride on the next outgoing data frame.
12.The techniques of temporarily delaying the outgoing acknowledgment so that they can be hooked on the next outgoing frame which is known as piggybacking.
13. Next, we will discuss three protocols, which are more robust.
14. All these protocols belong to the class of protocols called sliding window protocols.
15. The three protocols differ among themselves in terms of efficiency, complexity and buffer requirements.
16. In the sliding window method of flow control, the sender can transmit several frames before requiring an acknowledgment.
17. Several frames can be sent at once and channel capacity can be used efficiently, the receiver acknowledges only some of the frames, using a single ACK to confirm the receipt of multiple data frames.
18. The sliding window refers to imaginary boxes at both the sender and the receiver.
19. This window can hold frames at either end and provides the upper limit in the number of frames that can be transmitted before requiring an acknowledgment.
