5G NR RLC:PDU &Parameters

其他相关内容
RLC架构和RLC entity
RLC data transfer procedure

Protocol data units, formats and parameters

RLC PDU可以分为RLC data PDU和RLC control PDU,RLC control PDU只用于AM模式中的ARQ procedure。
RLC data PDU根据传输模式,又分为TMD PDU,UMD PDU和AMD PDU。RLC control PDU即STATUS PDU。
这些PDU本质上就是一些bit串,下面用图来分别给出这些PDU的格式。

TMD PDU

TMD PDU只包含Data field,没有RLC header。也就是说从上层PDCP下来的数据,就以达到RLC层的先后顺序映射到Data field,以byte为粒度。TM RLC entity不会对其做任何处理,不加头直接发到MAC层进行传输。
在这里插入图片描述

UMD PDU

UMD PDU包含Data field和UMD PDU header。也就是说从PDCP到达RLC的数据,RLC会将这些数据装到UMD PDU的Data域,就相当于是货车的车厢内。此外还会加一个PDU header,就相当于是货车的车头,其中会包含一些不同的域来承载特定的信息。然后才送到MAC层进行传输。
当UMD PDU包含的是一个完整的RLC SDU时,则UMD PDU header只包含SI域和R域。SI域用于指示该PDU内承载的是完整的RLC SDU,还是一个RLC SDU segment,以及这个segment是首个segment还是最后一个segment还是中间的segment。R域即reserve,预留部分,不包含任何有用内容。
在这里插入图片描述
当UMD PDU包含的是一个RLC SDU segment时,UMD PDU header内除了SI域外,还会包含SN,以及可能存在的SO域和R域。RRC可以将UM RLC entity配置为6 bit SN或12 bit SN,只有当UMD PDU包含的是一个RLC SDU segment时,UMD PDU header里才会包含SN。包含RLC SDU的第一个segment的UMD PDU不会包含SO域,SO域用于指示RLC SDU segment在RLC SDU中的位置,只有当UMD PDU包含的是RLC SDU的除了第一个以外的segment时,UMD PDU header内才会包含SO域。SO域的长度为16 bit。所以根据SN长度,以及包含的是否是第一个segment(即是否有SO域),UMD PDU有四种不同的形式:6 bit SN且不包含SO,12 bit SN且不包含SO,6 bit SN且包含SO,和12 bit SN且包含SO,对应的header的大小分别为1、2、3、和4 Byte。
在这里插入图片描述

AMD PDU

与UMD PDU相同的是,AMD PDU也包含Data field和header。
与UMD PDU不同的一点是,AMD PDU header内一定会包含SN,且SN的长度与UMD PDU不同,RRC可以将其配置为12 bit或18 bit,对应的header大小分别2 Byte和3 Byte。
与UMD PDU的另一点不同是,AMD PDU header除了一直包含SN和SI域外,还会包含一个D/C域,一个P域,以及可能存在的SO域。SO域与UM模式相同,即只有当该AMD PDU包含的是一个非首个的segment时,才会有一个16 bit的SO域。
D/C域用于指示RLC PDU是data PDU还是control PDU,P域用于指示Poll轮询。
按照SN的长度,以及是否有SO域,AMD PDU header也分为了四种情况。
在这里插入图片描述

STATUS PDU

STATUS PDU同样也包含payload部分和header,和data PDU不同的地方在于它的payload里包含的并不是用户数据,而是一些数据包的接收状态信息。
Header里包括D/C域和CPT域。
Payload部分紧跟header,包括一个ACK_SN和一个E1,以及后续可能跟随着的一系列NACK_SN和E1,E2,E3,还有对应每个NACK_SN的可能存在的一对SOstart和SOend,或者一个NACK range。
在这里插入图片描述

Parameters

Sequence Number (SN) field
在AMD PDU中长12或18 bit,在UMD PDU中长6或12 bit。SN用于指示RLC SDU的顺序号,对于AM模式来说,每个RLC SDU都会使SN加1,对于UM模式来说,只有需要分段的RLC SDU才会使SN加1。

Segmentation Info (SI) field
长2bit,用于指示一个RLC PDU包含的是一个完整的RLC SDU,还是一个分段了的RLC SDU的第一个、中间的、还是最后一个片段。
00 Data field contains all bytes of an RLC SDU
01 Data field contains the first segment of an RLC SDU
10 Data field contains the last segment of an RLC SDU
11 Data field contains neither the first nor last segment of an RLC SDU

Segment Offset (SO) field
长16 bit,用于指示RLC SDU segment在RLC SDU中的位置,以RLC SDU的第一个字节为参考,从0开始,指示segment的第一个字节所在的位置。

Data/Control (D/C) field
长1 bit,用于指示RLC PDU是data PDU还是control PDU。
0 Control PDU
1 Data PDU

Polling (p ) field
长1 bit,用于发送端指示是否需要接收端发送状态报告。
0 Status report not requested
1 Status report is requested

Reserved (R ) field
长1 bit,预留部分。发送端设置其为0即可,接收端忽略即可。

Control PDU Type (CPT) field
长3 bit,用于指示control PDU的类型。
000 STATUS PDU
001 Reserved

Acknowledgement SN (ACK_SN) field
长12或18 bit (因为AMD PDU的SN长12或18 bit),用于指示接收端下一个未收到的RLC SDU SN,即比如收到了SN=6,则ACK_SN=7。一旦发送端收到了ACK_SN=7,则发送端就认为SN=7之前的所有RLC SDU,除了NACK_SN指示的部分之外,其余的接收端已全部收到。
这里所说的NACK_SN指示的部分,包括:

  • NACK_SN指示的RLC SDU;
  • NACK_SN,SOstart和SOend指示的RLC SDU的一部分;
  • NACK_SN和NACK_range指示的多个RLC SDU;
  • NACK_SN,NACK range,以及SOstart和SOend指示的RLC SDU的一部分。

Extension bit 1 (E1) field
长1 bit,指示了STATUS PDU里的ACK_SN或NACK_SN后面是否还跟着其他NACK_SN。
0 A set of NACK_SN, E1, E2 and E3 does not follow.
1 A set of NACK_SN, E1, E2 and E3 follows.

Negative Acknowledgement SN (NACK_SN) field
长12或18 bit,用于指示接收端没有收到的RLC SDU的SN。

Extension bit 2 (E2) field
长1 bit,用于指示是否后面跟着一些列SOstart和SOend。
0 A set of SOstart and SOend does not follow for this NACK_SN.
1 A set of SOstart and SOend follows for this NACK_SN.

SOstart and SOend field
长均为16 bit,用于指示SN=NACK_SN的RLC SDU内丢掉的部分的起始位置,以RLC SDU的第一个字节为参考点,即0,指示丢失的部分的起始字节位置,对应SOend一起使用。
SOend指示丢失的部分的最末字节位置,但不一定是在SN=NACK_SN的RLC SDU内,分以下两种情况:

  • 当E3=0时,SOend指示的位置在SN=NACK_SN的RLC SDU内;
  • 当E3=1时,SOend指示的位置在SN=NACK_SN+NACK range-1的RLC SDU内。

Extension bit 3 (E3) field
长1 bit,作用如上所述。
0 NACK range field does not follow for this NACK_SN.
1 NACK range field follows for this NACK_SN.

NACK range field
长8 bit,用于指示从SN=NACK_SN开始,包括SN=NACK_SN在内的,连续NACK range个RLC SDU的丢失。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我就是你们要打的张小贱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值