RLC (Radio Link Control) in LTE
The Radio Link Control (RLC) sublayer is a fundamental part of the LTE protocol stack, responsible for ensuring efficient, reliable, and in-sequence data delivery between the UE and the eNodeB. Operating between the PDCP and the MAC layers, RLC manages segmentation, reassembly, retransmission, and flow control functions crucial for the performance and reliability of LTE networks.
Main Functions of RLC in LTE
- Transfer of Upper Layer PDUs– RLC receives Service Data Units (SDUs) from upper layers (PDCP or RRC), forms Protocol Data Units (PDUs), and delivers them to the lower layer (MAC).
- Error Correction via ARQ (Automatic Repeat Request)-Performed only in Acknowledged Mode (AM). Detects lost or corrupted PDUs and requests retransmission for reliable, in-sequence data delivery.
- Concatenation of RLC SDUs-Multiple SDUs can be combined into a single PDU to efficiently utilize available transport block size.
- Segmentation of RLC SDUs: Large SDUs are split into smaller PDUs to fit the size limits set by MAC/PHY.
- Reassembly of RLC SDUs: Received PDUs are reassembled to recover the original SDU before delivering to upper layers (applies to UM and AM).
- Re-segmentation of RLC Data PDUs -If a PDU scheduled for retransmission does not fit the available MAC PDU size, it can be further split into smaller segments (AM only).
- Reordering of RLC Data PDUs-Ensures that SDUs are delivered to upper layers in correct sequence, even if PDUs arrive out-of-order (UM and AM).
- Duplicate Detection-Identifies and discards duplicate PDUs that may be received due to retransmissions or network errors (UM and AM).
- RLC SDU Discard-Discards SDUs if they cannot be delivered within a configured delay (e.g., due to retransmission limits or delay-sensitive services).
- RLC Re-establishment-Resets the RLC context, buffers, state variables, and timers, usually triggered by handover or error recovery.
- Protocol Error Detection and Recovery-Detects protocol errors (such as unexpected or corrupted PDUs) and initiates recovery procedures (mainly in AM).
RLC Architecture Overview
In Downlink Data originates from the upper layer in the eNB, passes through transmitting RLC entities (TM, UM, or AM) depending on the channel type, then through the lower layers, across the radio interface, through the lower layers in the UE, to the corresponding receiving RLC entity, and finally delivered to the upper layer in the UE.
In Uplink Follows the reverse path, with transmitting RLC entities in the UE and receiving entities in the eNB.
- Each RLC entity in the eNB has a peer entity in the UE.
- Data transfer mode (TM, UM, AM) depends on the logical channel and service requirements.
- The RLC layer is responsible for interfacing between upper-layer data and lower-layer transport over the air.

Reference: 3gpp 36.322
Upper Layer:
- This represents the higher protocol layers, such as PDCP (Packet Data Convergence Protocol) or RRC (Radio Resource Control).
- SAP (Service Access Point) between upper layers: The RLC layer interfaces with upper layers via SAPs for sending and receiving data.
RLC Entities: Each protocol stack (eNB at the top, UE at the bottom) contains several RLC entities:
- TM (Transparent Mode) RLC Entity: Handles non-segmented, non-header, and unacknowledged transmission (mainly for system information and signaling).
- UM (Unacknowledged Mode) RLC Entity: Handles segmented data without retransmissions or acknowledgments (mainly for streaming/multicast services).
- AM (Acknowledged Mode) RLC Entity: Handles segmented, sequenced, and acknowledged data transfer with retransmissions (mainly for user plane and control plane data).
Each entity has a transmitting and receiving side, showing data flow in both uplink and downlink.
Logical Channels:
Logical channels (represented by the double-ended arrows between the RLC entities) connect corresponding entities in the eNB and UE.
Each RLC entity type uses specific logical channels for communication over the radio interface.
Lower Layers: Below the RLC entities are the MAC and PHY layers (referred to as “lower layers”), which handle actual transmission over the air interface.
Radio Interface: The radio interface sits between the lower layers of eNB and UE, representing the wireless connection.
RLC Modes of Operation
RLC supports three distinct modes, each for specific data transfer requirements:
Transparent Mode (TM)
- No segmentation, concatenation, or reassembly.
- No RLC headers.
- No delivery guarantees.
- Used for: Carrying control messages (e.g., BCCH, PCCH, CCCH).
- Suitable for: Voice or system information messages.
Unacknowledged Mode (UM)
- Supports segmentation, concatenation, and reassembly.
- Adds RLC headers for sequencing.
- No retransmissions or delivery guarantees.
- Used for: Streaming traffic, multicast/broadcast (e.g., MCCH, MTCH).
- Suitable for: Delay-sensitive data where timely delivery is more important than perfect reliability.
Acknowledged Mode (AM)
- Supports segmentation, concatenation, reassembly, and retransmission (ARQ).
- RLC headers for sequencing and reliability.
- Reliable, in-sequence delivery (with retransmissions as needed).
- Used for: Delay-insensitive but loss-sensitive applications (e.g., DCCH, DTCH).
- Suitable for: Data requiring guaranteed delivery (e.g., TCP/IP).
Data Flow for TM (Transparent Mode) RLC
Used for simple transfer of information, mainly for control and broadcast messages (e.g., BCCH, PCCH, CCCH, SBCC).
- The diagram shows two devices (e.g., eNB and UE, or two UEs for sidelink), each with a TM RLC entity.
- Data flow is straightforward from the transmitting entity to the receiving entity over the radio interface.

How TM RLC Entity Works:
Transmitting TM RLC Entity:
- Takes data (SDUs) from the upper layer.
- Does NOT segment or concatenate these SDUs.
- Does NOT add any RLC headers.
- Simply forwards the data as-is (called TMD PDU).
- Receiving TM RLC Entity:
- Receives TMD PDUs from the lower layer (MAC/PHY).
- Forwards them directly to the upper layer—no processing, no reordering, no error correction.
Receiving TM RLC Entity:
- Receives TMD PDUs from the lower layer (MAC/PHY).
- Forwards them directly to the upper layer—no processing, no reordering, no error correction.
TM RLC simply passes data from one end to the other with minimal processing—making it fast and lightweight, perfect for LTE system and control information.
Data Flow for UM (Unacknowledged Mode) RLC entity
An UM RLC entity can be configured to deliver/receive RLC PDUs through the following logical channels: – DL/UL DTCH, MCCH, MTCH or STCH.
- Data is delivered/received as UMD PDUs (Unacknowledged Mode Data Protocol Data Units).
- HARQ reordering is not applied for MCCH, MTCH, or STCH.

Transmitting UM RLC Entity:
- Buffers SDUs from upper layer (transmission buffer).
- Segments and/or concatenates SDUs to fit the size limits set by the lower layer (MAC).
- Adds RLC header to each PDU for sequence numbering and reassembly.
- Sends the UMD PDUs to the lower layer for transmission.
Receiving UM RLC Entity:
- Receives UMD PDUs from lower layer (via reception buffer).
- Checks for duplicates: Detects and discards any duplicate PDUs.
- Reorders PDUs: If PDUs arrive out of order, they are reordered using their sequence numbers.
- Detects losses: Identifies missing PDUs to prevent unnecessary delays.
- Removes RLC header: Strips the header to extract actual data.
- Reassembles SDUs: Combines the reordered PDUs to reconstruct original SDUs and delivers them to the upper layer.
- Discards incomplete SDUs: If some PDUs are lost and the full SDU can’t be reassembled, it is discarded.
- During RLC re-establishment:
- Tries to reassemble and deliver any remaining out-of-sequence PDUs.
- Discards any other unassembled PDUs.
- Resets state variables and stops any running timers.
UM RLC is for fast, streaming-type data transfer with no retransmissions—quickly forwards whatever it receives and handles out-of-order and duplicate packets, but does not guarantee delivery.
Data Flow for AM (Acknowledged Mode) RLC entity
An AM RLC entity can be configured to deliver/receive RLC PDUs through the following logical channels: – DL/UL DCCH or DL/UL DTCH.
AM RLC provides reliable, in-sequence data delivery with retransmissions for lost PDUs, duplicate detection, and reordering—making it essential for critical data like user plane (internet) traffic and control signalling.

Transmitting Side:
- Buffers incoming SDUs from the upper layer (Transmission buffer).
- Segments and/or concatenates SDUs so the AMD PDUs fit within the size limits provided by the lower layer (MAC).
- Adds RLC header to each AMD PDU, including sequence number and segmentation info.
- Retransmission buffer keeps copies of transmitted AMD PDUs for possible retransmission.
- Supports retransmission (ARQ):
- If a PDU to be retransmitted does not fit the new available size, it can be re-segmented into smaller AMD PDU segments.
- There is no limit to the number of times a PDU can be re-segmented.
- RLC control logic manages ARQ and creation of STATUS PDUs for reliability.
Receiving Side:
- Receives AMD PDUs or AMD PDU segments from lower layer and puts them in the reception buffer.
- Checks for duplicates and discards any duplicate PDUs.
- Reorders out-of-sequence PDUs using their sequence numbers (HARQ reordering).
- Detects loss: If a PDU is missing, requests retransmission by sending a STATUS PDU to the peer.
- Removes RLC header to extract payload data.
- Reassembles SDUs from reordered AMD PDUs and delivers them to the upper layer in sequence.
- During RLC re-establishment:
- Attempts to reassemble and deliver any remaining SDUs from out-of-sequence PDUs.
- Discards PDUs that cannot be reassembled.
- Resets all relevant state variables and timers.
RLC Configurable Parameters
The RRC layer configures the following parameters for RLC operation:
- maxRetxThreshold: Sets the maximum number of times the transmitting side of each AM RLC entity can retransmit an AMD PDU.
- pollPDU: Determines how often the transmitting side of each AM RLC entity sends a poll, based on the number of PDUs sent.
- pollByte: Determines how often the transmitting side of each AM RLC entity sends a poll, based on the number of bytes sent.
- sn-FieldLength: Specifies the size (in bits) of the sequence number field for UM RLC entities.

RLC PDU FORMATS
TMD PDU
TMD PDU consists only of a Data field and does not consist of any RLC headers.

UMD PDU
UMD PDU consists of a Data field and an UMD PDU header.

AMD PDU
AMD PDU consists of a Data field and an AMD PDU header.

References :
- 3GPP TS 36.322: LTE Radio Link Control (RLC) protocol specification.
- 3GPP TS 36.331: LTE Radio Resource Control (RRC) protocol specification.
- 3GPP TS 36.300: LTE and E-UTRAN overall description.
