Automatic Repeat Request (ARQ)

Last Updated : 30 Dec, 2025

ARQ (Automatic Repeat Request), also known as Automatic Repeat Query, is an error-control mechanism used to ensure reliable data transmission in a two-way communication system. It automatically detects lost or corrupted data packets and requests their retransmission, thereby improving the reliability of communication over unreliable networks.

  • ARQ is a group of error-control protocols.
  • It is used to achieve reliable data transfer over unreliable communication channels.
  • ARQ operates at the Data Link Layer and Transport Layer of the OSI(Open System Interconnection) model.
  • It uses acknowledgements and timeouts to detect errors.
  • Corrupted or lost packets are automatically retransmitted during transmission.

Working Principle

The working principle of ARQ is based on acknowledgements (ACKs) and timeouts. After transmitting a frame or packet, the sender waits for an ACK from the receiver within a specified timeout period. If the packet is received correctly, the receiver sends an ACK. If the ACK is not received before the timeout expires, the sender assumes that the packet was lost or corrupted and retransmits it. This process continues until the packet is successfully received, ensuring reliable data transmission.

automatic_repeat_request_arq_
ARQ

Applications

  • Used to provide reliable data transmission over unreliable communication channels.
  • Commonly applied in error-prone environments, such as shortwave radio communication, to ensure correct signal delivery.
  • Transmission Control Protocol (TCP): Ensures reliable data transfer over the Internet using acknowledgments and retransmissions.
  • Asynchronous Transfer Mode (ATM): Used for error correction in message and cell transmission.
  • High-Level Data Link Control (HDLC): A data link layer protocol that uses ARQ for reliable frame delivery.
  • IBM Binary Synchronous Communication (BSC): Uses ARQ for error detection and retransmission.
  • XMODEM: A modem-based file transfer protocol that relies on ARQ for reliable data transfer.

Types of ARQ

ARQ protocols use different methods to ensure reliable data transmission by controlling how frames are sent and retransmitted at the Data Link Layer.

1. Stop-and-Wait ARQ

In Stop-and-Wait ARQ, the sender transmits one frame at a time and waits for an acknowledgment before sending the next frame. If the acknowledgment is not received within the timeout period, the same frame is retransmitted.

2. Go-Back-N ARQ

In Go-Back-N ARQ, the sender can transmit multiple frames continuously without waiting for individual acknowledgments. If a frame is lost or corrupted, the sender retransmits that frame and all subsequent frames in the sending window.

3. Selective Repeat ARQ

Selective Repeat ARQ allows the sender to continue transmitting frames even if some frames are lost. Only the incorrect or missing frames are retransmitted, making it more efficient than Go-Back-N ARQ.

Difference Between TCP and ARQ

TCP (Transmission Control Protocol)ARQ (Automatic Repeat Request)
Operates at the Transport Layer of the OSI model.Operates at the Data Link Layer and Transport Layer.
A comprehensive protocol providing reliability, flow control, and congestion control.An error-control mechanism focused mainly on reliable delivery.
Uses ARQ techniques along with flow and congestion control.Uses ARQ techniques such as Stop-and-Wait, Go-Back-N, and Selective Repeat.
Includes flow control to prevent overwhelming the receiver.Does not inherently support flow control.
Includes congestion control algorithms to manage network traffic.Does not include congestion control.
Uses sequence numbers to maintain order and detect duplicates.Uses sequence numbers to track frames and retransmissions.
Ensures reliability using acknowledgments, retransmissions, and sequencing.Ensures reliability by retransmitting lost or corrupted frames.
Uses checksums, acknowledgments, and timeouts for error handling.Uses acknowledgments and timeouts for error detection and recovery.
Widely used in Internet applications like web browsing, email, and file transfer.Used in communication systems such as shortwave radio and modem protocols.
Comment
Article Tags:

Explore