其他相关内容
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的丢失。

5G NR RLC:PDU Parameters相关推荐

  1. 5G NR RLC:RLC架构和RLC entity

    其他相关内容 RLC data transfer procedure RLC PDU and Parameters 1 RLC架构 1.1 RLC架构 RLC的所有功能由RLC entity来实现.R ...

  2. 5G NR RLC:Data Transfer ARQ

    其他相关内容 RLC PDU and Parameters RLC架构和RLC entity 一 RLC entity handling RLC entity有建立.重建和释放的过程(establis ...

  3. 5G NR 标准:下一代无线通信技术

    昨天有一篇混子曰的文章,用通俗易懂的漫画方式为大家讲解了5G到底是什么东西,经过翻阅文章,我们也了解了一二,但是你只表面的知道了5G这个概念,但是深入的话还是没有了解,所以下面将继续讲5G技术规范NR ...

  4. 5G NR - RLC协议阅读笔记 - 从LTE到NR的变化

    在讨论NR RLC相对于LTE做出的重大变化的How和Why之前,我们先来看下What. 通过对比LTE和NR协议,我们注意到UM和AM的处理流程图有三个重大改动,协议其余部分的区别都是围绕这几个改动 ...

  5. 新书推荐 |《5G NR标准:下一代无线通信技术》

    新书推荐 <5G NR标准:下一代无线通信技术> 点击上图了解及购买 本书以3GPP 2018年9月制定的R15版5G商用标准为基础,详解5G NR标准技术规范和成因 ,爱立信5G标准专家 ...

  6. 老猿学5G扫盲贴:PDU协议数据单元、PDU连接业务和PDU会话的功能详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.PDU 关于PDU在百度百科是这样定义的:协议 ...

  7. 5G NR RLC层

    RLC(Radio Link Control)层位于PDCP层(或RRC层)和MAC层之间.它通过RLC通道(RLC channel)与PDCP层(或RRC层)进行通信,并通过逻辑信道与MAC层进行通 ...

  8. 《5G NR标准:下一代无线通信技术》读书笔记——NR概述

    目录 二.NR概述 1.与LTE相比,NR好处 2.高频操作和频谱灵活性 3.极简设计 4.向前兼容 5.传输方案/部分带宽和帧结构 6.双工方式 7.低时延支持 8.调度和数据传输 9.控制信道 1 ...

  9. 《5G NR标准:下一代无线通信技术》读书笔记——LTE概述

    目录 一.LTE概述 1.频谱灵活性 1.1载波聚合 1.2授权辅助接入 2.多天线增强 2.1扩展的多天线传输 2.2多点协作和传输 2.3增强的控制信道结构 3.密集度.微蜂窝和异构部署 3.1中 ...

最新文章

  1. 性能计数器与profiler的组合性能诊断
  2. 如何隐藏sql2000系统表
  3. 怎样用python搭建简单的系统_如何用Python搭建一个简单的推荐系统?
  4. bs4是python自带的吗_Python bs4,检查类是否有值
  5. 【数据结构】—顺序表的插入、删除、查找操作
  6. 打印基于某category创建的所有product
  7. Java 10新特性
  8. 得到节点值的两种方法
  9. (原创)无废话C#设计模式之二十:Mediator
  10. poj 3264 Balanced Lineup RMQ问题
  11. Android 5.0、6.0、7.0、8.0、9.0 新特性,DownloadManager踩坑记
  12. 0.1+0.2 为什么不等于0.3
  13. Linux系统安全工具之:Sxid和Skey(转)
  14. idea 重新拉maven依赖
  15. matlab高斯投影坐标,基于matlab的高斯投影正反算与相邻带坐标换算程序设计
  16. Win10系统电脑连接打印机的设置方法
  17. 如何看待 Kotlin 成为 Android 官方支持开发语言
  18. 1.单例模式之饿汉式
  19. mysql数据库查询余额_MySQL 数据库(三):查
  20. 灵派海思SDK的API参考手册

热门文章

  1. 95. Unique Binary Search Trees II 不同的二叉搜索树 II
  2. LeetCode Algorithm 1. 两数之和
  3. 【机器视觉】 else算子
  4. 【嵌入式】嵌入式天地博客汇总
  5. 【Qt】数据库实战之QSqlQueryModel
  6. 【C语言】C语言实现面向对象编程之多态
  7. 【Linux】一步一步学Linux——gcov命令(257)
  8. 【Linux】一步一步学Linux——batch命令(134)
  9. 【Linux】一步一步学Linux——sort命令(53)
  10. 用计算机弹奏hop,关于职称计算机Photohop模拟练习题参考