Implementation of Selective Repeat ARQ Flow Control Protocol
General Instructions
- The aim is to introduce the students to the working of the Selective Repeat ARQ and how it behaves under the situations such as frame lost or Acknowledgement Lost.
- Once redirected to simulation page (default for window size 3), then they are required to choose the window size for which the simulation is desired.
- For the respective window size, the simulation begins with an array (labeled as Frames) representing the frames on the left side of the page and the instructions prompted on the right side of the page.
- The user needs to make the right selections in the array for the simulation to run further.
- If the user fails to select the correct frames at any point of simulation, the “Wrong Frame Selected” is alerted on the screen and until the user successfully selects the correct frames, the simulation does not proceed and the user is given as many retries as needed.
- An index is provided to the left of the screen to allow the user to understand which color signifies what behaviour.
For a window size of 3, follow these steps:
- Firstly, send the first three frames to the receiver, i.e., 1, 2, 3 and now the sender is expected to receive the acknowledgment of the 1st frame.
- After ACK 1 received, select the next frame to be sent i.e., 4th frame.
- ACK 2 not received because the acknowledgment is lost, retransmit the frame i.e., 2.
- After ACK 3 received, select the next frame to be sent i.e., 5.
- NACK received, retransmit the frame i.e., 4.
- After ACK 2 received, select the next frame to be sent i.e., 6th frame.
- After ACK 5 received, select the next frame to be sent i.e., 7th frame.
- After ACK 4 received, select the next frame to be sent i.e., 8th frame.
- After ACK 6 received, select the next frame to be sent i.e., 9th frame.
- After ACK 7 received, select the next frame to be sent i.e., 10th frame.
- After NACK received, retransmit the frame i.e., 8.
- ACK received, ALL FRAMES SENT!
- Input the correct total number of frames transmitted and click the Submit button.
For a window size of 4, follow these steps:
- Firstly, send the first four frames to the receiver, i.e., 1, 2, 3, 4 and now the sender is expected to receive the acknowledgment of the 1st frame.
- After ACK 1 received, select the next frame to be sent i.e., 5th and the window slides containing four frames, i.e., 2, 3, 4, 5.
- NAK received, retransmit the frame 2.
- After ACK 3 lost, retransmit the frame 3.
- After ACK 4 received, select the next frame to be sent.
- ACK 5, 2, 3, 6 received, select the next four frames to be sent.
- ACK 7, 8, 9, 10 received, ALL FRAMES SENT!
- Input the correct total number of frames transmitted and click the Submit button.
For a window size of 5, follow these steps:
- Firstly, send the first five frames to the receiver, i.e., 1, 2, 3, 4, 5 and now the sender is expected to receive the acknowledgment of the 1st frame.
- After ACK 1 received, select the next frame to be sent i.e., 6th and the window slides containing five frames, i.e., 2, 3, 4, 5, 6.
- NACK2 received, retransmit the frame 2.
- After ACK 3 received, select the next frame to be sent i.e., 7.
- NACK 4 received, retransmit the frame 4.
- After ACK 5 received, select the next frame to be sent i.e, 8.
- ACK 6 lost, retransmit the frame 6.
- After ACK 2, 7, 4 received, select the next frames to be sent i.e., 9, 10.
- NACK 8 received, retransmit the frame 8.
- All ACK received, ALL FRAMES SENT!
- Input the correct total number of frames transmitted and click the Submit button.