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
data frame or
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 frame/packet until the sender receives an acknowledgment or exceeds a predefined number of re-transmissions .