Description
Automatic Repeat Request (ARQ) is a fundamental error-control mechanism implemented at the data link layer (Layer 2) and transport layer (Layer 4) in 3GPP systems. It operates on the principle of error detection followed by retransmission requests when errors are detected. The protocol uses sequence numbers, acknowledgments (ACKs), negative acknowledgments (NACKs), and timers to manage the reliable delivery of data packets between peer entities. In 3GPP architectures, ARQ is typically implemented in the Radio Link Control (RLC) protocol for the control plane and user plane data, as well as in higher-layer protocols like TCP for end-to-end reliability.
The ARQ protocol operates through several key mechanisms. First, the transmitter segments data into Protocol Data Units (PDUs) and assigns each a unique sequence number. These PDUs are transmitted to the receiver, which performs error detection using Cyclic Redundancy Check (CRC) or similar methods. When the receiver successfully decodes a PDU, it sends a positive acknowledgment (ACK) back to the transmitter. If the receiver detects an error or notices missing sequence numbers, it sends a negative acknowledgment (NACK) or simply doesn't send an ACK, triggering the transmitter's retransmission timer. The transmitter maintains a retransmission buffer containing unacknowledged PDUs and retransmits them when NACKs are received or timers expire.
3GPP systems implement several ARQ variants with different operational characteristics. Stop-and-Wait ARQ requires the transmitter to wait for an acknowledgment before sending the next PDU, providing simplicity but poor utilization. Go-Back-N ARQ allows the transmitter to send multiple PDUs without waiting for acknowledgments but requires retransmission of all PDUs from the first erroneous one when an error occurs. Selective Repeat ARQ, the most efficient variant used in modern 3GPP systems, allows selective retransmission of only the erroneous or missing PDUs while continuing to transmit new PDUs. This approach maximizes throughput while maintaining reliability.
The ARQ protocol interacts closely with other error-control mechanisms in 3GPP systems. At the physical layer, Forward Error Correction (FEC) provides the first line of defense against transmission errors. When FEC fails to correct errors, ARQ provides the secondary recovery mechanism through retransmission. Hybrid ARQ (HARQ) combines both approaches, using FEC for error correction and ARQ for retransmission when FEC fails. In the RLC layer, ARQ operates in Acknowledged Mode (AM) to provide reliable data transfer, while Unacknowledged Mode (UM) and Transparent Mode (TM) provide lighter-weight alternatives for delay-sensitive applications.
ARQ parameters are carefully configured based on service requirements and channel conditions. Key parameters include the maximum number of retransmissions, retransmission timer values, window sizes for flow control, and PDU sizes. These parameters are optimized differently for control plane signaling (which requires high reliability) versus user plane data (which may tolerate some packet loss for delay-sensitive services). The protocol also includes mechanisms for reordering PDUs at the receiver, discarding stale PDUs, and handling protocol errors to ensure robust operation under varying network conditions.
Purpose & Motivation
ARQ was developed to address the fundamental challenge of reliable data transmission over inherently unreliable wireless channels. Wireless communication systems suffer from time-varying channel conditions, interference, fading, and noise that cause packet errors and losses. Without error control mechanisms, these impairments would render digital communication systems unusable for most applications. ARQ provides a systematic approach to detecting and recovering from transmission errors, enabling reliable communication over imperfect channels.
Before the widespread adoption of ARQ in digital wireless systems, analog communication systems relied on signal-to-noise ratio improvements and simple repetition techniques that were inefficient and provided limited reliability. Early digital systems used basic error detection without automatic recovery, requiring manual intervention or application-layer retransmissions. ARQ automated the error recovery process, significantly improving system efficiency and reliability while reducing latency compared to manual approaches. The protocol's automatic nature allows it to adapt to changing channel conditions without human intervention.
ARQ solves several critical problems in wireless communication systems. First, it ensures data integrity by detecting and correcting transmission errors that would otherwise corrupt the received information. Second, it provides reliability guarantees for applications that cannot tolerate data loss, such as file transfers, signaling messages, and critical control information. Third, it enables efficient use of the wireless spectrum by avoiding unnecessary retransmissions through selective acknowledgment mechanisms. Finally, ARQ works in conjunction with other error-control techniques to provide a layered defense against channel impairments, allowing system designers to balance reliability, latency, and throughput according to application requirements.
Key Features
- Error detection through CRC or similar mechanisms
- Automatic retransmission of erroneous or missing packets
- Selective repeat capability for efficient retransmission
- Sequence numbering for packet ordering and identification
- Timer-based retransmission for lost acknowledgments
- Flow control through sliding window mechanisms
Evolution Across Releases
Introduced basic ARQ functionality in the Radio Link Control (RLC) layer for UMTS systems. Implemented Selective Repeat ARQ with configurable retransmission parameters. Supported both Acknowledged Mode (AM) for reliable transfer and Unacknowledged Mode (UM) for delay-sensitive services. Initial window size of 4096 sequence numbers and configurable maximum retransmission count.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.146 | 3GPP TS 23.146 |
| TS 25.201 | 3GPP TS 25.201 |
| TS 25.212 | 3GPP TS 25.212 |
| TS 25.222 | 3GPP TS 25.222 |
| TS 25.301 | 3GPP TS 25.301 |
| TS 25.302 | 3GPP TS 25.302 |
| TS 25.321 | 3GPP TS 25.321 |
| TS 25.322 | 3GPP TS 25.322 |
| TS 25.912 | 3GPP TS 25.912 |
| TS 26.114 | 3GPP TS 26.114 |
| TS 26.804 | 3GPP TS 26.804 |
| TS 26.805 | 3GPP TS 26.805 |
| TS 26.914 | 3GPP TS 26.914 |
| TS 26.937 | 3GPP TS 26.937 |
| TS 36.133 | 3GPP TR 36.133 |
| TS 36.300 | 3GPP TR 36.300 |
| TS 36.302 | 3GPP TR 36.302 |
| TS 36.322 | 3GPP TR 36.322 |
| TS 36.331 | 3GPP TR 36.331 |
| TS 36.938 | 3GPP TR 36.938 |
| TS 38.202 | 3GPP TR 38.202 |
| TS 38.322 | 3GPP TR 38.322 |
| TS 38.331 | 3GPP TR 38.331 |
| TS 38.811 | 3GPP TR 38.811 |
| TS 43.051 | 3GPP TR 43.051 |
| TS 43.064 | 3GPP TR 43.064 |
| TS 44.060 | 3GPP TR 44.060 |
| TS 44.160 | 3GPP TR 44.160 |