Stop-And-Wait is an aspect of reliable data transfer that is characterized by a sender state that is halted after transmission until an ACK or NAK is received.
Stop-and-wait protocols represent a very minimalist approach to reliable data protocols, don’t account for bit corruption in the ACK and NAK. Therefore, this measure of RDT is unsuited for network channels where packet loss is expected.
Another downside; stop-and-wait protocols result in a state where the sender of data across the network is waiting for an ACK that corresponds to a packet that never made it to the receiver.
Stop-and-Wait protocols are illustrated, on the sender side, by the following two states:
- Waiting for application layer call from above
- Waiting for ACK or NAK from the receiver
In the second state, the sender is essentially waiting around to hear back from the receiving host whether or not the data packet was successfully received. Until the sender hears back, it does nothing but waits. Hence the name; stop-and-wait protocol.