In this article, we will take a look at the Stop and Wait protocol of a computer networking system. In order to understand the mechanism of this protocol, we will first have a brief understanding of the error control mechanism.
The Stop and Wait Protocol is a sub-category of the error control mechanism. The error control mechanism ensures error-free receiving and sending of data from one place to another. It prevents the corruption of data by any external source.
As the name ‘Stop and Wait’ suggests, in this mechanism, the sender sends an instruction to the receiver and stops sending further instructions until it waits for the acknowledgment from the receiver.
The Stop and Wait protocol is a flow control protocol in which the data is transmitted over noiseless channels. The transmission is unidirectional in nature, i.e., either the data is sent or it is received at a time. The data sent by the sender is in the form of discrete packets and only one data packet is sent at a time. Similarly, the receiver receives only a single data packet at a time and sends the acknowledgment to the sender.
The following procedures take place at the sender and the receiver side:
At sender’s side:
- The sender sends one data packet to the receiver at a time.
- The sender then waits for the acknowledgment of the data packet from the receiver’s end.
At receiver’s side:
- The receiver waits for the data packet to be received.
- The receiver receives the data packet, uses it, and sends the acknowledgment to the sender.
- The receiver waits for the next data packet to be received.
The figure shows the working of the stop and wait protocol. The communication between sender and receiver takes place in this manner. The major advantage of this protocol is that it ensures the transmission of data in a simple manner.
Disadvantages of Stop and Wait Protocol
1. Data Loss: If the sender sends the data and in case the data is lost due to some external source, the receiver doesn’t receive it and keeps on waiting for it for a long amount of time. It does not send the acknowledgment and consequently, the sender doesn’t send further data packets.
2. Acknowledgement Loss: After receiving the data from the sender, if the acknowledgment is lost due to some external source, the sender doesn’t receive the acknowledgment and consequently doesn’t send further data packets to the receiver.
3. Time Loss: Since only one data packet is sent and received at a time, if there are a large number of data packets, it will take a lot of time to send all these data packets from sender to receiver side which results in time loss. To prevent time wastage, another protocol, namely, a sliding window is used to transmit data as we can send and receive large amounts of data at once using this mechanism.
4. Delayed Acknowledgement: There is a particular time frame under which the acknowledgment of data should be received by the sender. If the receiver fails to do so, the sender may consider this acknowledgment of some other data packet.
This is all about the Stop and Wait Protocol which exists in our computer networks.