Automatic repeat request
Automatic Repeat reQuest (ARQ), also known as Automatic Repeat Query, is an method for that uses acknowledgements (messages sent by the receiver indicating that it has correctly received a or ) and (specified periods of time allowed to elapse before an acknowledgment is to be received) to achieve reliable data transmission over an unreliable service. If the sender does not receive an acknowledgment before the timeout, it usually the frame/packet until the sender receives an acknowledgment or exceeds a predefined number of re-transmissions .
The types of ARQ protocols include Stop-and-wait ARQ, Go-Back-N ARQ, and Selective Repeat ARQ / Selective Reject.
All three protocols usually use some form of to tell the transmitter to determine which (if any) packets need to be retransmitted.
These protocols reside in the or of the .
A number of patents exist for the use of ARQ in live video contribution environments. In these high throughput environments negative acknowledgements are used to drive down overheads.
Examples
The uses a variant of Go-Back-N ARQ to ensure reliable transmission of data over the , which does not provide guaranteed delivery of packets; with Selective Acknowledgement (SACK), it uses Selective Repeat ARQ.
The standard, which provides a way to create a high-speed (up to 1 ) using existing residential wiring (, telephone lines, and ), uses Selective Repeat ARQ to ensure reliable transmission over noisy media.
ARQ systems were widely used on shortwave radio to ensure reliable delivery of data such as for telegrams. These systems came in forms called and , which also included the ability to multiplex two or four channels.