RLC is a layer 2 protocol in LTE UE and NodeB. RLC – Radio Link Control protocol is a data link layer protocol. RRC (Radio Resource Control) is generally controls RLC configuration via RRC-RLC SAP. A RLC entity receives/delivers RLC SDUs from/to upper layer and ends/receives RLC PDUs to/from its peer RLC entity via lower layers.
If RLC entity configured at the eNB, there is a peer RLC entity configured at the UE and vice versa.
An RLC entity can be configured to perform data transfer in one of the following three modes:
Transparent Mode (TM)
A RLC TM entity is with can be transmitter or receiver. That means when acting as a transmitter the transparent mode RLC entity receives SDUs from upper layer and transmit those to it’s peer RLC TM entity via lower layer.
Similarly the receiving RLC TM entity receives RLC PDUs via lower layer and then pass those to upper layer.
When RLC TM entity acts as a transmitter
- It should not segment or concatenate the RLC SDUs
- No header will be included in TMD PDUs
Unacknowledged Mode (UM)
Similar to RLC TM entity RLC UM entity also acts either as a transmitter or receiver. The transmitting RLC UM entity receives SDPs from upper layer and send RLC PDUs to its peer receiving entity via lower layers. Similarly the receiving RLC entity receives RLC PDUs from lower layer and delivers RLC SDUs to upper layer.
Acknowledged Mode (AM)
AM RLC entity can be configured to deliver/receive RLC PDUs through DL/UL DCCH and DL/UL DTCH logical channels.
When the transmitting side of an AM RLC entity forms AMD PDUs from RLC SDUs, it shall:
- segment and/or concatenate the RLC SDUs so that the AMD PDUs fit within the total size of RLC PDU(s) indicated by lower layer at the particular transmission opportunity notified by lower layer.
The transmitting side of an AM RLC entity supports retransmission of RLC data PDUs (ARQ):
- if the RLC data PDU to be retransmitted does not fit within the total size of RLC PDU(s) indicated by lower layer at the particular transmission opportunity notified by lower layer, the AM RLC entity can re-segment the RLC data PDU into AMD PDU segments;
- the number of re-segmentation is not limited.
When the transmitting side of an AM RLC entity forms AMD PDUs from RLC SDUs received from upper layer or AMD PDU segments from RLC data PDUs to be retransmitted, it shall:
- include relevant RLC headers in the RLC data PDU.
When the receiving side of an AM RLC entity receives RLC data PDUs, it shall:
- detect whether or not the RLC data PDUs have been received in duplication, and discard duplicated RLC data PDUs;
- reorder the RLC data PDUs if they are received out of sequence;
- detect the loss of RLC data PDUs at lower layers and request retransmissions to its peer AM RLC entity;
- reassemble RLC SDUs from the reordered RLC data PDUs and deliver the RLC SDUs to upper layer in sequence.
At the time of RLC re-establishment, the receiving side of an AM RLC entity shall:
- if possible, reassemble RLC SDUs from the RLC data PDUs that are received out of sequence and deliver them to upper layer;
- discard any remaining RLC data PDUs that could not be reassembled into RLC SDUs;
- initialize relevant state variables and stop relevant timers.
- transfer of upper layer PDUs;
- error correction through ARQ (only for AM data transfer);
- concatenation, segmentation and reassembly of RLC SDUs (only for UM and AM data transfer);
- re-segmentation of RLC data PDUs (only for AM data transfer);
- reordering of RLC data PDUs (only for UM and AM data transfer);
- duplicate detection (only for UM and AM data transfer);
- RLC SDU discard (only for UM and AM data transfer);
- RLC re-establishment;
- Protocol error detection (only for AM data transfer).
RLC PDU (Protocol Data Unit)
RLC PDUs can be categorized into RLC data PDUs and RLC control PDUs.
- RLC data PDUs are used by TM, UM and AM RLC entities to transfer upper layer PDUs (i.e. RLC SDUs).
- RLC control PDUs are used by AM RLC entity to perform ARQ procedures.
I added tutorials on encoding and decoding of RLC TM and UM PDUs in earlier tutorials.