UMTS: RLC Length Indicator (RLC LI)

The Length Indicator is used to indicate, each time, the end of an SDU occurs in the PDU. The Length Indicator points out the number of octets between the end of the last Length Indicator field and up to and including the octet at the end of an SDU segment. Length Indicators are included in the PDUs that they refer to. The size of the Length Indicator may be either 7 bits or 15 bits. A Length Indicator group is a set of Length Indicators that refer to a PDU. If there can be more than one Length Indicator, each specifying the end of an SDU in a PDU, the order of these Length Indicators must be in the same order as the SDUs that they refer to. In the case where the end of the last segment of an SDU exactly ends at the end of a PDU and there is no LI that indicates the end of the SDU, the next Length Indicator, shall be placed as the first Length Indicator in the following PDU and have value LI=0. In case this SDU was the last one to be transmitted, a PDU consisting of an RLC Header with LI=0 followed by a padding Length Indicator and padding may be transmitted. If a 7-bit Length Indicator is used for the following PDU then the LI with value LI=0000000 shall be placed as the first Length indicator and its SN shall be incremented by 2 before it is transmitted (this can only occur in UM). The LI may be represented in either 7-bits or 15 bits.

For AM Mode:

If AMD PDU Size is <= 126 octets then 7-bits LI be used. If AMD PDU Size is > 126 octets then 15-bits LI be used.

For UM Mode:

If UMD PDU Size is <= 125 octets then 7-bits LI be used. If UMD PDU Size is > 125 octets then 15-bits LI be used

Length Indicator(7 bits) Decimal Description

0 0 0 0 0 0 0 0

The previous RLC PDU was exactly filled with the last segment of an RLC SDU and there is no LI that indicates the end of the SDU in the previous RLC PDU.

1 1 1 1 1 0 0 124 UMD PDU: The first data octet in this RLC PDU is the first octet of an RLC SDU. AMD PDU: Reserved (PDUs with this coding will be discarded by this version of the protocol).
1 1 1 1 1 0 1 125 Reserved (PDUs with this coding will be discarded by this version of the protocol).
1 1 1 1 1 1 0 126 AMD PDU: The rest of the RLC PDU includes a piggybacked STATUS PDU. UMD PDU: Reserved (PDUs with this coding will be discarded by this version of the protocol).
1 1 1 1 1 1 1 127 The rest of the RLC PDU is padding. The padding length can be zero.

RLC LI Encoding In UM Mode

Assumptions

  • RLC PDU Size = 20 Octets.
  • Sequence No (7 Bits)
  • Extension (1 Bit)
  • LI (7 Bits)

SDU Data (in Hex): 01 02 03 04 05 Length Of SDU = 5 Octets

Encoded RLC PDU
Oct No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
RLC PDU 01 F9 0B FE 01 02 03 04 05 00 00 00 00 00 00 00 00 00 00 00
Explanation

clip image002 thumb UMTS: RLC Length Indicator (RLC LI)

 

 

 

 

 

 

 

 

 

 

 

 

0 0 0 0 0 0 0 1 Seq No + Extn Bit
1 1 1 1 1 0 0 1 LI + Extn Bit
0 0 0 0 1 0 1 1 LI + Extn Bit
1 1 1 1 1 1 1 0 LI + Extn Bit

01

02

03

04

05

SDU From Upper Layer
Padding: Octet#10 to Octet#20 Padding to fill the PDU

RLC Header: The first 4 octets (indicated by blue) in the above PDU are RLC headers.

01: 0000 0001 :Sequence No – 0, Extension –1 (i.e. Next Octet contains a LI)

F9: 1111 1001 : LI = 124, Extension –1 (i.e. Next Octet contains a LI)

0B: 0000 1011 : LI = 5 (Length of the SDU), Extension – 1(i.e. Next Octet contains a LI)

FE: 1111 1110 : LI = 127 Extension –0 (i.e. Next Octet contains Data)

Data: Octet Numbers from 5 to 9 are the data octets containing SDU data.

Filler/Padding: Octet Numbers from 10 to 20 are the filler octets.

RLC LI Encoding In AM Mode

Assumptions

  • RLC PDU Size = 20 Octets.
  • D/C (1 bit) (1: Data, 0: Control)
  • Sequence No (12 Bits)
  • Polling bit (1 Bit) (1: Status Required)
  • Header Extension (2 Bits) (00: Data Follows, 01 LI follows)
  • LI (7 Bits)
  • Extension (1 Bit)

SDU Data (in Hex): 01 02 03 04 05 Length of SDU = 5 Octets

Oct No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
RLC PDU 80 01 0B FE 01 02 03 04 05 00 00 00 00 00 00 00 00 00 00 00

clip image0026 thumb UMTS: RLC Length Indicator (RLC LI)

 

 

1 0 0 0 0 0 0 0 D/C + Seq Part
0 0 0 0 0 0 0 1 Seq Part + P + HE
0 0 0 0 1 0 1 1 LI + Extn Bit
1 1 1 1 1 1 1 0 LI + Extn Bit

01

02

03

04

05

SDU From Upper Layer
Padding: Octet#10 to Octet#20 Padding to fill the PDU

RLC Header: The first 4 octets (indicated by blue) in the above PDU are RLC headers.

80: 1000 0000 01: 0000 0001: 01: D/C –1 Sequence No – 0, Polling – 0,HE–01 (i.e. Next Octet contains a LI)

0B: 0000 1011 : LI = 5 (Length Of A SDU), Extension – 1(i.e. Next Octet contains a LI)

FE: 1111 1110 : LI = 127, Extension –0 (i.e. Next Octet contains Data)

Data: Octet No 5 – 9 are the data octets containing SDU data.

Filler: Octet No 10 – 20 are the filler octets.

Reference

Radio Link Control (RLC) protocol specification: 3GPP TS 25.322

email

About Prashant Panigrahi

I am Prashant Panigrahi, live in Sweden. Now working as wireless professional and this website is just a reflection of what I learned. You can connect me on LinkedIn, Twitter
This entry was posted in UMTS. Bookmark the permalink.
  • Patro

    Nice explanation…

  • http://www.3glteinfo.com prashant

    Thanks Patro for the complement.

  • Parameshwar

    Can you please provide information about SUFI?

  • http://www.3glteinfo.com Prashant Panigrahi

    I will write some detailed tutorials on all kind of SUFIs in the coming days. So keep reading.

  • http://www.statsdaemon.com/ Robor

    Super post, Need to mark it on Digg

  • Arash

    Very well explained.
    I was reading a day the same spec and could not figure it out !
    Is there anything about the PDU size as well?

  • Mohammadreza Hozniyan

    tnx

  • Pingback: туроператор по израилю()

  • Pingback: Walton Martinea()