Select Page

The Stop-and-Wait Protocol is a simple flow control and error control technique used in data communication systems to ensure reliable transmission of data between a sender and a receiver. Here’s how it works:

Flow Control:

  • The Stop-and-Wait Protocol regulates the flow of data by allowing the sender to transmit one data frame at a time.
  • After sending each frame, the sender waits for an acknowledgment (ACK) from the receiver before sending the next frame.
  • This ensures that the sender does not overwhelm the receiver with a continuous stream of data, preventing data loss due to buffer overflow at the receiver.

Error Control:

  • The Stop-and-Wait Protocol also incorporates error control mechanisms to detect and recover from transmission errors.
  • After sending each frame, the sender waits for an acknowledgment (ACK) from the receiver.
  • If the sender receives an ACK, it assumes that the frame was successfully received and proceeds to send the next frame.
  • If the sender does not receive an ACK within a specified timeout period or receives a negative acknowledgment (NAK), it assumes that the frame was lost or damaged during transmission and retransmits the same frame.
  • The receiver verifies the integrity of each received frame using error detection techniques such as checksums or CRC.
  • If the received frame is error-free, the receiver sends an ACK to the sender. Otherwise, it discards the frame and sends a NAK or remains silent, prompting the sender to retransmit the frame.


  • Simple and easy to implement.
  • Provides flow control and error control in a reliable manner.
  • Suitable for communication channels with low error rates and small propagation delays.


  • Inefficient for high-speed communication channels or long propagation delays, as the sender must wait for ACKs before sending the next frame, leading to low throughput.
  • Inefficient for communication channels with high error rates, as frequent retransmissions can degrade performance.
  • The sender and receiver must be synchronized in terms of frame transmission and acknowledgment.

Overall, the Stop-and-Wait Protocol is a basic yet effective flow control and error control technique for ensuring reliable data transmission in simple communication systems. However, it may not be suitable for high-speed or high-error-rate environments where more sophisticated protocols are required.