This protocol also provides for one directional flow of data from sender to receiver. The communication channel is once again assumed to be error-free, as in protocol Unrestricted Simplex Protocol. However, in this case the receive has only a finite buffer capacity and a finite processing speed, so the protocol must explicitly prevent the sender from flooding the receiver with data faster than it can be handled.
The main problem that have to deal here is how to prevent the sender from flooding the receiver with data faster than the receiver is able to process it. One solution to this problem is that if the receiver requires a time delta t, to execute from_Physical_Layer plus to_Network_Layer, the sender must transmit at an average rate less that one frame per time delta t.
A more general solution to this problem is to have receiver to provide feedback to the sender. After having passed its packet to its Network Layer, the receiver sends a little dummy frame back to the sender which gives the sender permission to transmit the next frame. After having sent a frame, the sender is required by the protocol to bide (restrict) its time until a little dummy frame arrives.
Protocol in which the sender sends one frame and then waits for the acknowledgment before proceeding are called Stop_and_Wait. The sender starts out by fetching a packet from the Network Layer, using it to construct a frame and sending it all its way and then the sender must wait until an acknowledgment frame arrives before looping back and fetching the next packet from Network Layer.