As we just discussed the MAC layer multiplexes streams from the RLC layer. This allows mutliple streams of data to share the same radio connection, but different streams may have different requirements in terms of latency or reliability, aka different QoS requirements.
The Radio Link Control (RLC) layer sits above the MAC layer and can manage:
- Re-sequencing of blocks held up by HARQ
- Concatenates / segments messages to fit into the size defined by the MAC layer
- Re-transmits lost blocks (independent of ARQ)
These functions are set out and managed based on which of the 3 RLC Modes used based on QoS requirements of the traffic type.
RLC has 3 services or modes that can be used depending on the type of data transmitted:
Transparent Mode (TM)
- Does not offer any RLC features / services
- Can only be used for short messages (As no segmentation to fit MAC requirements)
- Mainly used for signaling messages
Unacknowledged Mode (UM)
- Re-Sequences data if received out of order
- Segments data according to MAC needs / limitations
- Low latency but no re-transmission on the RLC layer
- Suitable for VoLTE / real time communications
- Does not re-transmit lost packets
Acknowledged Mode (AM)
- Like UM but adds re transmission of lost packets
- Higher latency but more reliable
- Suitable for web browsing, file transfer, etc.
- Upon valid receipt of a message the receiver sends an ACK on the data channel.
Several different RLC modes/services can be used at the same time by a single UE, as we saw in the last post:
The MAC layer takes packets from each of the different RLC streams and packs them into MAC SDUs.
Here we can see 3 different RLC SDUs being packet into MAC SDUs.
RLC SDU 1 is packed into the a RLC PDU along with RLC SDU2. These two are concatenated together. RLC also adds a header to delineate the start of RLC SDU 1 and the start of RLC SDU 2.
The header allows the receiver to determine where each RLC SDU starts and ends and the sequence number of each RLC SDU.
Part of RLC SDU 3 is also packed into the first RLC PDU, and the second part is packed into the next RLC PDU. RLC is said to have segmented or fragmentedthis message as it splits it across multiple RLC PDUs for transmission. Again the RLC PDU adds headers to define that the data it contains is split across multiple RLC PDUs.