ARQ Protocol
Automatic Repeat Request Protocol
This is a protocol for error control over unreliable or noisy network connections. For each frame sent an acknowledgement is sent from the receiver to indicate that the frame has been successfully used. Checksums / check-digits are used to check the data integrity and timeouts are used if not reply is received.
There are 3 versions of ARQ:
- Stop & Wait
- Stop n go back
- Selective repeat
Stop & Wait
The Stop and Wait ARQ
- Data is sent from the sender to the receiver. Once sent the sender waits a certain amount of time for a response from the receiver.
- The receiver uses the checksum/check digit from the frame to check the frame and ensure that data has been received correctly.
- The user sends a positive acknowledgement(ACK) to the sender to indicate the data been received correctly or a negative acknowledgement to indicate that the data has been corrupted.
- If the data has been incorrectly received or a time-out occurs(the time wait limit is exceeded) the sender resends the data.
- This process is repeated until all data has been received.
Go back N ARQ
Go back & ARQ
In stop and go back ARQ the sender keeps sending data through in a constant stream, without waiting for an acknowledgment from the receiver – it just assumes that the data has been received successfully. If a negative acknowledgement is received or a timeout occurs the sender goes back to the last known good acknowledgement and starts again from there.
This is an improvement over stop and wait because the senders full bandwidth can be used.
Selective Repeat ARQ
Selective Repeat ARQ
Selective Repeat is an improvement over Go Back & ARQ because only the frames that have been unsuccessfully received are retransmitted, rather than having to start all over again.
Resources