Automatic repeat request

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by ZeroOne (talk | contribs) at 17:53, 14 October 2008 (it's spelled Automatic Repeat reQuest in the RFC so let's use that one as the primary name). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Automatic Repeat reQuest (ARQ) (or Automatic Repeat-Query) is an error control method for data transmission which uses acknowledgments and timeouts to achieve reliable data transmission. An acknowledgment is a message sent by the receiver to the transmitter to indicate that it has correctly received a data frame or packet. A timeout is a reasonable point in time after the sender sends the frame/packet; if the sender does not receive an acknowledgment before the timeout, it usually re-transmits the frame/packet until it receives an acknowledgment or exceeds a predefined number of re-transmissions.

Types of ARQ protocol include Stop-and-wait ARQ, Go-Back-N ARQ and Selective Repeat ARQ. These protocols reside in the Data Link Layer or Transport Layer of the OSI model.

A variation of ARQ is Hybrid ARQ (HARQ) which has better performance, particularly over wireless channels, at the cost of increased implementation complexity.

References

  • Peterson and Davie, Computer Networks: A Systems Approach, Third Edition, 2003
  • RFC 3366 - Advice to link designers on link Automatic Repeat reQuest (ARQ)