目录

1.SDU与PDU

2.PDU分类

3.PDU格式及参数说明

a>TMD PDU

b>UMD PDU

c> AMD PDU

d>STATUS PDU


在协议学习过程中,我习惯先学习协议数据单元,格式及参数章节。本次记录第一次学习内容。

1.SDU与PDU

SDU指的是提交给上层或者从上层接收到的服务数据单元,SDU为字节对齐的bit流。

PDU值的是发送给下层或者从下层接收到的协议数据单元,是SDU经过RLC处理后得到。

2.PDU分类

data PDU和control PDU,可以在RLC头里通过D/C 字段区分

data PDU根据RLC实体可以分为以下3种格式:

TMD PDU:用于TM模式下的RLC实体

UMD PDU:用于UM模式下的RLC实体

AMD PDU:用于AM模式下的RLC实体

control PDU目前协议中列出一种状态报告PDU:

STATUS PDU,接收方用于通知发送方已收到的data PDU和确认丢失的data PDU

3.PDU格式及参数说明

对各种PDU的格式做简单的介绍及参数说明,包含图片全部来自于38.322协议。

a>TMD PDU

不包含RLC头,只包含数据,且不接受数据分段,我理解其等同于SDU

b>UMD PDU

UMD PDU包含两部分内容,UMD PDU头(字节对齐)和数据内容,结合SDU为字节对齐的数据单元,可以看出UMD PDU整体同样是字节对齐的。UMD PDU格式整体可以分为2种,完整包格式和分段包格式,(UM模式下支持6bits的SN长度和12bits的SN长度)。

分段包:UM模式下数据部分可以分段,但是不需要应答,分段时使用的数据结构如下图所示,包含SI,SN,或者SO(SI指示不为第一分段时使用),以6bitsSN为例,

图中SN字段,全称为Sequence Number,因为UM模式下只有分段包需要携带SN号,所以只有分段的SDU 的SN号加1(协议描述,For RLC UM,the sequence number is incremented by one for every segmented RLC SDU),即RLC UMD PDU 中的SN号一致,除了第一分段PDU外,还需要SO指示中间段位于SDU的哪个位置。

SO字段,全程为Segment offset,占用16bits,用于指示分段包在原SDU中的字节位置,即该SDU分段的第一个字节在原SDU中的位置,原SDU的第一个字节值为全0。

图中SI字段,全称为Segmentation Info, 用于指示RLC PDU中包含的是一个完整的SDU还是分段的SDU,占据2bits,有4种含义:

00:数据域,即图中Data部分,包含SDU的全部字节;

01:数据域包含SDU的第一个分段;

10:数据域包含SDU的最后一个分段;

11:数据域包含的是SDU的中间段(既不是第一个又不是最后一个分段)。

完整包格式,当SDU不需要分段时,PDU头只需携带SI字段,SI指示为00,如下图所示

c> AMD PDU

AMD PDU头为字节对齐格式,与UMD PDU不同的是,AMD PDU即使不分段,也需要携带SN值,因为AM模式下,需要等待应答。AMD PDU头内容包括D/C指示位,P指示位,SI指示,SN指示,或者SO(当有分段,且分段不为第一段时),以12bitsSN为例,

图中 D/C字段,全称Data/Control,因为AM模式下有数据单元和控制单元,所以占用1bit用于区分;

P字段,全称Polling bit,用于指示AM实体的发送方是否需要接收方上报状态报告,占用1bit,

0, 状态报告不需要;

1,状态报告需要;

SI字段与UM一致;

SN字段,AM模式下,每个SDU的SN号加1 ,与UM不同,不需要判断是否需要分组;

SO字段与UM一致。

d>STATUS PDU

STATUS PDU 由两部分组成,STATUS PDU payload和RLC控制头;

RLC控制头包括一个D/C指示位,一个CPT指示位。

CPT字段,全称control PDU Type,用于指示RLC控制PDU的类型,目前只有一个有效取值000,表示为STATUS PDU,其他取值为保留取值。

STATUS PDU payload包括以下内容:

ACK_SN:必填项,指示了下一个没有接收到的且没有报告丢失的SDU的SN号;发送端接收到STATUS PDU,可以认为在SN = ACK_SN以前的所有SDU 接收端已经接收到或认为丢失的。

E1:必填项,扩展位指示(Extension bit 1),指示后面有没有一组NACK_SN,E1,E2,E3;

0:没有,则payload结束; 1:有,继续。

NACK_SN:可选项,由E1指示,表示接收方已确认丢失的RLC SDU 或 SDU分段的SN号;

E2: 可选项,由E1指示,与NACK_SN为一组,表示本NACK_SN后有没有一组SOstart和SOend,

0,没有;1,有。

SOstart:可选项,由E2指示,表示SN = NACK_SN的RLC SDU 的第一个字节在原SDU中的位置;

SOend:可选项,由E2和E3共同指示,

E3 为0时,SOend表示SN= NACK_SN 的RLC SDU的最后一个字节在原SDU中的位置,全1为特殊值,表示到RLC SDU的最后一个字节全部丢失。

E3为1时,SOend表示SN = NACK_SN + NACK range - 1的最后一个字节在原SDU中的位置,全1 仍表示特殊值。

E3:可选项,由E1指示,标识后面有没有NACK range;

NACK range:可选项,由E3指示,表示连续丢失的RLC SDU数,包含NACK_SN。

本次学习结束,欢迎指正!

NR协议学习——RLC相关推荐

  1. 5G NR协议学习--TS38.211主要参数解读

    1 OFDM 正交频分复用(Orthogonal Frequency Division Multiplexing)技术,实际上OFDM是MCM(Multi Carrier Modulation,多载波 ...

  2. 3gpp协议_NSA组网下SN add/release/delete流程协议学习

    NSA组网下SN add/release/delete流程协议学习 如3GPP协议37.340第10章节 一.第10章 10.2 辅节点添加 Secondary Node Addition 辅节点添加 ...

  3. 苹果ANCS协议学习【转】

    苹果ANCS协议学习 转自:http://www.cnblogs.com/alexcai/p/4321514.html 综述 苹果通知中心(Apple Notification Center Serv ...

  4. Servlet和HTTP请求协议-学习笔记02【Servlet_体系结构与urlpartten配置、HTTP请求协议】

    Java后端 学习路线 笔记汇总表[黑马程序员] Servlet和HTTP请求协议-学习笔记01[Servlet_快速入门-生命周期方法.Servlet_3.0注解配置.IDEA与tomcat相关配置 ...

  5. Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】

    Java后端 学习路线 笔记汇总表[黑马程序员] Servlet和HTTP请求协议-学习笔记01[Servlet_快速入门-生命周期方法.Servlet_3.0注解配置.IDEA与tomcat相关配置 ...

  6. RTMP协议学习笔记

    2019独角兽企业重金招聘Python工程师标准>>> RTMP协议学习总结 转载于:https://my.oschina.net/u/2374678/blog/746464

  7. 智能会议系统(9)---流媒体协议学习

    流媒体协议学习 一.协议篇 1. rtsp协议详解(http://www.mikewootc.com/wiki/net/protocol/rtsp.html) 2. rtp与rtcp协议详解(http ...

  8. TCP/IP协议学习(五) 基于C# Socket的C/S模型

    TCP/IP协议作为现代网络通讯的基石,内容包罗万象,直接去理解理论是比较困难的:然而通过实践先理解网络通讯的理解,在反过来理解学习TCP/IP协议栈就相对简单很多.C#通过提供的Socket API ...

  9. POP3协议学习笔记

    今日得闲,于是将POP3的学习笔记也整理出来! 互联网上的TCP/IP,POP3/SMTP等资料多如牛毛,这里只是自己一点点心得,另外对于各位网络方面的大牛请安静的路过,我可不喜欢在关公面前耍大刀.. ...

最新文章

  1. 分享一个C#使用AT指令控制语音猫的例子
  2. 中文扩增子分析视频教程推荐
  3. NYOJ 104 最大和
  4. aspectj 获取方法入参_深入探索编译插桩技术(二、AspectJ)
  5. Hadoop初次接触后感
  6. 【新年假期宅家系列】动漫游戏集中营
  7. 解决 Flex模块切换后导致对象转换失败 注册信息丢失
  8. oracle无效的关系运算符_每日一课 | Java 8中的instanceof运算符和访客模式替换
  9. UInput使用注意事项
  10. resourcehacker
  11. 「解读苏宁」30年门店数字化发展心法与实践分享
  12. 安兔兔html5测试跑分榜,2021年最新安兔兔手机性能跑分排行榜
  13. oracle中的start with connect by用法
  14. Web开发 ------ 基于Flask的 任务清单管理系统(二):用户认证
  15. 路由汇总带来的三层环路-解决实验
  16. spo2数据集_氧仪主要测量指标分别为脉率、血氧饱和度、灌注指数(PI)
  17. 送给计算机老师平安夜贺卡,给老师的平安夜温馨祝福语
  18. 极光魔链(JMLink)使用教程
  19. 网络流量监控软件——MRTG(Multi Router Traffic Grapher)
  20. 梦幻仙缘剧情java_梦幻仙缘ios下载-梦幻仙缘苹果版1.0 ios变态版-东坡下载

热门文章

  1. win10系统激活不了?只因你忽略了这些细节!
  2. 11月20日 如何在场景开启Debug,自定义AI任务,EQS,创建自己的环境任务,使用Pawn环境检测来检测周围的环境,让AI动作更顺滑(动画混合
  3. 五个了解自己天赋优势的分析工具(一)霍兰德兴趣测试
  4. 一直被模仿从未被超越的AWS为什么这么强?
  5. 侵犯计算机软件著作权的行为,侵犯计算机软件著作权的行为有哪些?
  6. 太酷了,手把手教你用 Python 绘制桑基图
  7. Tetgen软件学习和使用
  8. 用 django 构建翻译网站——软件工程课程设计
  9. ​ 众至科技数据防泄露系统,保护企业办公核心数据
  10. 树莓派基于PS2操纵杆的飞机大战小游戏