<P> One problem is when the ACK sent by the receiver is damaged or lost . In this case, the sender doesn't receive the ACK, times out, and sends the frame again . Now the receiver has two copies of the same frame, and doesn't know if the second one is a duplicate frame or the next frame of the sequence carrying identical data . </P> <P> Another problem is when the transmission medium has such a long latency that the sender's timeout runs out before the frame reaches the receiver . In this case the sender resends the same packet . Eventually the receiver gets two copies of the same frame, and sends an ACK for each one . The sender, waiting for a single ACK, receives two ACKs, which may cause problems if it assumes that the second ACK is for the next frame in the sequence . </P> <P> To avoid these problems, the most common solution is to define a 1 bit sequence number in the header of the frame . This sequence number alternates (from 0 to 1) in subsequent frames . When the receiver sends an ACK, it includes the sequence number of the next packet it expects . This way, the receiver can detect duplicated frames by checking if the frame sequence numbers alternate . If two subsequent frames have the same sequence number, they are duplicates, and the second frame is discarded . Similarly, if two subsequent ACKs reference the same sequence number, they are acknowledging the same frame . </P> <P> Stop - and - wait ARQ is inefficient compared to other ARQs, because the time between packets, if the ACK and the data are received successfully, is twice the transit time (assuming the turnaround time can be zero). The throughput on the channel is a fraction of what it could be . To solve this problem, one can send more than one packet at a time with a larger sequence number and use one ACK for a set . This is what is done in Go - Back - N ARQ and the Selective Repeat ARQ . </P>

Difference between stop and wait protocol and stop and wait arq