CITS3002 Computer Networks  
prev
next CITS3002 help3002 CITS3002 schedule  

A Problem with Selective Repeat

Suppose that we use 3 bits to represent the sequence numbers (0..7), even if we use a larger integer to store the sequence number in an actual implementation.

Now, imagine that the following events happen, in order :

  1. Sender sends frames 0..6.
  2. All arrive correctly into the receiver's window as 0..6, the receiver advances its window to 7,0,1,...,5 and acknowledges the frames.
  3. A "small disaster" occurs and no acknowledgements are received.
  4. The sender times out and resends frame 0.
  5. The receiver gets frame 0, which is within its receiving window and says thanks.
    The receiver acknowledges for frame 6 as it is still waiting on 7.
  6. Sender now sends new frames 7,0,1,...,5.
  7. Frame 7 is received and frames 7 and (the duplicated) 0 go off to the network layer. Oops!

The Solution : make window sizes half the size of the maximum sequence number.


CITS3002 Computer Networks, Lecture 3, Data Link Layer protocols, p28, 13th March 2024.