Automatic repeat request
This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. (June 2018) (Learn how and when to remove this template message)
Automatic repeat request (ARQ), also known as automatic repeat query, is an error-control method for data transmission that uses acknowledgements (messages sent by the receiver indicating that it has correctly received a packet) and timeouts (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 re-transmits the packet until the sender receives an acknowledgment or exceeds a predefined number of retransmissions.
The types of ARQ protocols include Stop-and-wait ARQ, Go-Back-N ARQ, and Selective Repeat ARQ/Selective Reject ARQ. All three protocols usually use some form of sliding window protocol to tell the transmitter to determine which (if any) packets need to be retransmitted. These protocols reside in the data link or transport layers (layers 2 and 4) of the OSI model.
The Transmission Control Protocol uses a variant of Go-Back-N ARQ to ensure reliable transmission of data over the Internet Protocol, which does not provide guaranteed delivery of packets; with Selective Acknowledgement (SACK), it uses Selective Repeat ARQ.
The ITU-T G.hn standard, which provides a way to create a high-speed (up to 1 Gbit/s) local area network using existing residential wiring (power lines, telephone lines, and coaxial cables), 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 ARQ-E and ARQ-M, which also included the ability to multiplex two or four channels.
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.
- Peterson and Davie, Computer Networks: A Systems Approach, Third Edition, 2003
- RFC 3366 - Advice to link designers on link Automatic Repeat reQuest (ARQ)
- Negative acknowledgement ARQ for live video
- This article incorporates public domain material from the General Services Administration document "Federal Standard 1037C" (in support of MIL-STD-188).