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
The main purpose of Automatic Repeat Query is to detect and correct in data transmission.
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.
ARQ relies on the use of packets to confirm that data has been successfully received.
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.
Which protocol commonly uses ARQ for error control?
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.
ARQ protocols typically use mechanisms to adjust the transmission rate based on network conditions.