It is the simplest flow control method. In this, the sender will transmit one frame at a time to the receiver. The sender will stop and wait for the acknowledgement from the receiver.
This time (i.e. the time joining message transmitting and acknowledgement receiving) is the sender’s waiting time, and the sender is idle during this time.
When the sender gets the acknowledgement (ACK), it will send the next data packet to the receiver and wait for the disclosure again, and this process will continue as long as the sender has the data to send.
While sending the data from the sender to the receiver, the data flow needs to be controlled. If the sender is transmitting the data at a rate higher than the receiver can receive and process it, the data will get lost.
The Flow-control methods will help in ensuring that the data doesn't get lost. The flow control method will check that the senders send the data only at a rate that the receiver can receive and process.
The working of Stop and Wait Protocol is shown in the figure below −
The main advantage of stop & wait protocols is their accuracy. The next frame is transmitted only when the first frame is acknowledged. So there is no chance of the frame being lost.
The drawback of this approach is that it is inefficient. It makes the transmission process slow. An individual frame travels from source to destination in this method, and a single acknowledgement travels from destination to source. As a result, each frame sent and received uses the entire time needed to traverse the link. Moreover, if two devices are a distance apart, a lot of time is wasted waiting for ACKs leading to an increase in total transmission time.
The features of Stop and Wait Protocol are as follows −
It is used in Connection-oriented communication.
It offers error and flows control.
It can be used in data Link and transport Layers.
Stop and Wait ARQ executes Sliding Window Protocol with Window Size 1.