Automated Repeat Request – ARQ
ARQ is a technique that is used to ensure that a data stream is received accurately to the user despite the errors during the transmission. It controls the error during the transmission. To achieve it the protocol 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.
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.