Larger pieces of data are not suitable to be sent over the air interface where bit faults are common.
Smaller pieces can be individually retransmitted
Retransmissions on higher Protocol level take too long time. Therefore it is better to have the retransmission as close to the biggest trouble source (i.e. The radio interface)
RLC main functionalities
Segmentation and reassembly.
Concatenation.
Padding.
Transfer of user data.
Error correction.
In-sequence delivery of upper layer PDUs.
Duplicate detection.
Flow control.
Sequence number check.
Protocol error detection and recovery.
Ciphering.
SDU discard.
Out of sequence SDU delivery.
Duplicate avoidance and reordering.
Data flow between layers
Data flow for transparent RLC
Data flow for non-transparent RLC
Model of RLC Sublayer
TM (Transparent mode)
UM (Unacknowledged mode)
AM (Acknowledged mode
Transparent Mode (TM) RLC
Services provided to upper layer
Segmentation and reassembly
Transfer of user data
SDU discard
If segmentation is configured by upper layers and a RLC SDU is larger than the TMD PDU size, the transmitting TM RLC entity segments RLC SDUs to fit the TMD PDU size without adding RLC headers.
All the TMD PDUs carrying one RLC SDU are sent in the same TTI and no segment from another RLC SDU are sent in that TTI.
Unacknowledged Mode (UM) RLC Entity
Services provided to upper layer
Segmentation and reassembly.
Concatenation.
Padding.
Transfer of user data.
Ciphering.
Sequence number check.
SDU discard.
Acknowledged Mode RLC Entity
Services provided to upper layer
Segmentation and reassembly.
Concatenation.
Padding.
Transfer of user data.
Error correction.
In-sequence delivery of upper layer PDUs.
Duplicate detection.
Flow Control.
Protocol error detection and recovery.
Ciphering.
SDU discard.
RLC Error Correction
RLC Protocol Data Unit
Data PDUs
TMD PDU (Transparent Mode Data PDU)
UMD PDU (Unacknowledged Mode Data PDU)
AMD PDU (Acknowledged Mode Data PDU)
Control PDUs
Status PDU and Piggybacked STATUS PDU
Reset PDU
Reset-ACK PDU
TMD PDU (Transparent Mode Data PDU)
The TMD PDU is used to transfer user data when RLC is operating in transparent mode.
No overhead is added to the SDU by RLC.
The data length is not constrained to be a multiple of 8 bits.
UMD PDU (Unacknowledged Mode Data PDU)
The UMD PDU is used to transfer user data when RLC is operating in unacknowledged mode.
The length of the data part shall be a multiple of 8 bits.
UMD PDU Header Details
Sequence Number
Sequence number of UMD PDU encoded in binary.
SN is of length 7 bits
It is used for reassembly
Length Indicator
LI is used to indicate the end of a SDU in a PDU.
Lenth is 7 or 15 bits
E (Extension Bit)
E bit tells ”What there in the next field”
If E = 0 : Next field is data or status PDU or a complete SDU
If E 0 1 : Next filed is Length Indicator (LI) followed by extension bit (E).
AMD PDU (Acknowledged Mode Data PDU)
The length of the data part shall be a multiple of 8 bits.
The AMD PDU header consists of the first two octets, which contain the "Sequence Number".
AMD PDU Header Details
D/C
Indicates whether a data or control PDU
If D/C = 1 : Its a data PDU
If D/C = 0 : Its a control PDU
Sequence Number
Length of sequence number is 12 bits i.e after SN reaches 4095 there will be a rollover.
SN is used for retransmission and reassembly
P bit
Polling bit is used to request a status report from the receiver.
If P = 0 : No status requested
If P = 1 : Status requested
HE
Header Extension is of 2 bits and it indicates the next bit is data or ”Length Indicator” and E bit.
If HE = 00 : Next octet is data
If HE = 01 : Next octet is LI and E bit
If HE = 10 : Next value is the data and last octet of the PDU is the last octet of the SDU.
If HE = 11 : Reserved, discarded by protocol
Status PDU
The length of the STATUS PDU shall be a multiple of 8 bits.
Status PDU is used for transmission of status information.
Status PDU Header Details
PDU Type
PDU type indicates the Control PDU type
000 : Status PDU
001 : Reset PDU
010 : Reset-Ack PDU
011 – 111 : Reserved
SUFI
Super-Field indicates which AMD PDUs are received correctly and which are missing.
SUFi has three sub-fields:
Type
Length
Value
Reset and Reset-Ack PDU
RESET PDU
The RESET PDU is used in acknowledged mode to reset all protocol states, protocol variables and protocol timers of the peer RLC entity in order to synchronies the two peer entities.
RESET ACK PDU
The RESET ACK PDU is an acknowledgement to the RESET PDU.
Reset/Reset-Ack PDU Header
RSN
Reset Sequence Number is of 1 bit length.
RSN is the sequence number of the transmitted RESET PDU.
Initial value of this field is 0.
R1
This field is used to make RESET/RESET-ACK PDU octet aligned.
The value of R1 is 000.
HFNI
Hyper Frame Number Indicator is of 2o bits.
It is used to indicate the HFN to the peer entity.
With the help of this HFN in UE and UTRAN can be synchronised.
RLC State Model
RLC TM State Model
RLC UM State Model
RLC AM State Model
Reference
Radio Link Control (RLC) protocol specification: 3GPP TS 25.322
Thanks for your suggestion. I am trying to add slowly everything. So may be in coming days I will put some details. Still I already added tutorials on RLC LI and SUFIs. You can check those as well.
Raghav
Thanks for sharing, Good tutorial, please explain in more implementation level.
Miguel
Very good information, but it is not only theory, we could have a closer contact with the applied? Example: some software, existing equipment at nodes B, etc.. ...
UMTS: Radio Link Protocol (RLC) Overview 25.322
Radio Interface Architecture
Why RLC is required?
RLC main functionalities
Data flow between layers
Data flow for transparent RLC
Data flow for non-transparent RLC
Model of RLC Sublayer
Transparent Mode (TM) RLC
Services provided to upper layer
Unacknowledged Mode (UM) RLC Entity
Services provided to upper layer
Acknowledged Mode RLC Entity
Services provided to upper layer
RLC Error Correction
RLC Protocol Data Unit
Data PDUs
Control PDUs
TMD PDU (Transparent Mode Data PDU)
UMD PDU (Unacknowledged Mode Data PDU)
UMD PDU Header Details
Sequence Number
Length Indicator
E (Extension Bit)
E bit tells ”What there in the next field”
AMD PDU (Acknowledged Mode Data PDU)
AMD PDU Header Details
D/C
Indicates whether a data or control PDU
Sequence Number
P bit
Polling bit is used to request a status report from the receiver.
HE
Header Extension is of 2 bits and it indicates the next bit is data or ”Length Indicator” and E bit.
Status PDU
Status PDU Header Details
PDU Type
PDU type indicates the Control PDU type
SUFI
Super-Field indicates which AMD PDUs are received correctly and which are missing.
SUFi has three sub-fields:
Reset and Reset-Ack PDU
RESET PDU
The RESET PDU is used in acknowledged mode to reset all protocol states, protocol variables and protocol timers of the peer RLC entity in order to synchronies the two peer entities.
RESET ACK PDU
The RESET ACK PDU is an acknowledgement to the RESET PDU.
Reset/Reset-Ack PDU Header
RSN
R1
HFNI
RLC State Model
RLC TM State Model
RLC UM State Model
RLC AM State Model
Reference
Radio Link Control (RLC) protocol specification: 3GPP TS 25.322
Related Posts: