ProDeveloperTutorial.com

Tutorials and Programming Solutions
Menu
  • Shell Scripting
  • System Design
  • Linux System Programming
  • 4g LTE
  • Coding questions
  • C
  • C++
  • DSA
  • GIT
  • 450 DSA Cracker
  • 5G NR
  • O-RAN

LTE RLC Layer

prodevelopertutorial May 17, 2020

In this chapter we shall see Radio Link Control layer in detail.

Before that we shall see an example of Data Flow:

RLC PDU SDU

SDU: Packets received by a layer are called Service Data Unit
PDU: Packet output of a layer is referred to by Protocol Data Unit

Introduction to RLC Layer

1. The layer above of  RLC layer is PDCP layer and the layer below to RLC is MAC layer.

2. WKT PDCP layer will perform cyphering and integrity protection. For some of the messages which does not need cyphering and integrity protection will bypass PDCP layer and messages will directly go to RLC layer. So in this case the layer above RLC layer will be RRC layer.

3. RRC messages transmitting on CCCH, BCCH, PCCH does not need any security protection, so they will skip PDCP and directly reaches to RLC layer.

Below are the functions of RLC:

1. Transfer of upper layer PDU [Packet Data Unit]
2. Error correction through ARQ
3. Concatenation, segmentation and reassembly
4. RLC re-establishment
5. Duplicate detection

 

Below are 3 major functionality of RLC layer:

1. Three types of RLC Mode : TM Data Transfer, UM Data Transfer, AM Data Transfer
2. Segmentation (Splitting) and Concatenation (Combining) mechanism
3. RLC Timers

 

RLC structure.

33_RLC-

From the above image we can see that there are 3 entities.

1. TM Data Transfer: Transparent Mode
2. UM Data Transfer: Un Acknowledgment Mode
3. AM Data Transfer: Acknowledgment Mode

Here the Upper layer for RLC is PDCP.
The Bottom layer for RLC is Mac and PHY.

 

RLC Downlink Data Flow:
———————————————–
RLC_data flow

Form the image we can infer that:
A. IP packets from eNB is coming to PDCP.
B. PDCP will add PDCP header and sends to RLC
C. PDCP packets coming to RLC
D. RLC will concatenate multiple SDU into huge packets and adds RLC header
E. Concatenated RLC packet PDU is forwarded to MAC layer.

 

RLC UpLink Data flow:

RLC_data flow

Form the image we can infer that:
A. MAC receives huge IP packets and forwards to RLC.
B. RLC will split the packets into multiple SDU. RLC header is removed.
C. RLC SDU will be forwarded to PDCP
D. Packets coming to PDCP, PDCP header is removed
E. Stripped PDCP packets are individual IP packets.

 

The need for 3 transfer modes in RLC?

According to the data rate, 3 different data transfers are available.

 

RLC Data Transfer mode 1: TM mode
RLC_type_1

 

It is one of the simplest RLC mode.
TM stands for Transparent mode.
No retransmission, no segmentation/reassembly.
This configuration is used for broadcast channels BCCH, CCCH, PCCH

RLC Data Transfer mode 2: UM Mode
RLC_type_2

UM stands for Unacknowledged Mode.
It means it will not require any ACK/NACK.
Segmentation and reassemble
In sequence delivery
No retransmission

On the transmitting side:
i) Buffering
ii) Segmetation
iii) Concatenation
iv) Add RLC header

On the receiving side:

i) Buffering
ii) Reordering
iii) Remove the RLC header
iv) Reassembly

RLC Data Transfer mode 3: AM Mode

RCL AM mode

AM stands for Acknowledge Mode
It is most complex mode of all the 3 modes.
It requires ACK/NACK from other party.

As it is expecting ACK/NACK for every transmission, it will have much overhead.

The left and right side of the diagram, the procedure is same as UM mode.
The only difference is the “Retransmission Buffer” and “RLC control” procedure.

Below is how “Retransmission Buffer” will work:

1. When the segmentation/concatenation process and adding of RLC header is completed, the same message is transmitted to MAc and Retransmission Buffer.

2. If the RLC did not receive any response or it received NACK, then RLC packet in the retransmission buffer will get transmitted again.

 

RLC Segmentation and concatenation

As we saw in the data flow image above,

1. Multiple RLC SDU are segmented and concatenated into a single RLC PDU [from the lte data flow PDCP SDU when comes to RLC, it will become RLC SDU]
2. RLC SDU can be control information or voice or data
3. Mac knows what physical resource is available from physical, RLC will provide RLC PDU that the mac requests.

RLC AM PDU frame structure:
RLC AM PDU

Here:

D/C: Data or control PDU
RF: RE-segmentation flag. It will indicate either a PDU or a PDU segment
p : Polling bit
FI: Framing Info.
SN: Segment Number
E: Extension Bit
LI: Length Indicator

If there are odd number of LI fields, then there will be 4 bits of padding
If there are even number if LI fields, then the padding is not required.

SN is 5 or 10 bits configurable for UM PDU
SN is 10 bits for AM PDU

FI:

00 – First byte of the data field corresponds to the first byte of a RLC SDU.
Last byte of the data field corresponds to the last byte of a RLC SDU.

01 – First byte of the data field corresponds to the first byte of a RLC SDU.
Last byte of the data field does not corresponds to the last byte of a RLC SDU.

10 – First byte of the data field does not corresponds to the first byte of a RLC SDU.
Last byte of the data field corresponds to the last byte of a RLC SDU.

11 – First byte of the data field does not corresponds to the first byte of a RLC SDU.
Last byte of the data field does not corresponds to the last byte of a RLC SDU.

 

List Of Tutorials available in this website:

C Programming 20+ ChaptersC++ Programming 80+ Chapters
100+ Solved Coding QuestionsData Structures and Algorithms 85+ Chapters
System design 20+ ChaptersShell Scripting 12 Chapters
4g LTE 60+ ChaptersMost Frequently asked Coding questions
5G NR 50+ ChaptersLinux System Programming 20+ chapters
Share
Email
Tweet
Linkedin
Reddit
Stumble
Pinterest
Prev Article
Next Article

About The Author

prodevelopertutorial

Follow this blog to learn more about C, C++, Linux, Competitive Programming concepts, Data Structures.

ProDeveloperTutorial.com

Tutorials and Programming Solutions
Copyright © 2022 ProDeveloperTutorial.com