技术编程,5G|点点滴滴学5G—一文掌握用户面数据组包原理

引言
本文主要讲述协议栈用户面组包的原理 , 重点包括MAC PDU , RLC PDU和PDCP PDU的结构 , 希望读者通过阅读本篇文章 , 能掌握用户面数据包的结构 。1.1 整体架构
图1是数据包组包的整体架构图 , 当发送方要传输数据数据包传输给发送方时 , 先通过SDAP层加上SDAP头PDU投递到PDCP层 , 然后通过PDCP层加入PDCP头PDU投递到RLC层 , 最后由MAC层组包加入MAC PDU头通过物理通道传输到接收方 。
技术编程,5G|点点滴滴学5G—一文掌握用户面数据组包原理
文章图片

文章图片

图11.2 MAC PDU
技术编程,5G|点点滴滴学5G—一文掌握用户面数据组包原理
文章图片

文章图片

图2
MAC PDU(Protocol Data Unit , 协议数据单元)是MAC层协议数据单元 ,在上行方向上 , 为了加快MAC层和物理层的处理效率 , 达到“随到随走”的效果 , 将MAC层MAC SDU对应的sub-header放置在MAC SDU的前面(即:MAC sub-PDU和MAC sub-header交织在一起) 。而MAC CE是放在整个MAC PDU的后面 , 这是因为上行的很多MAC CE(比如:BSR) , 只有在生成了MAC sub-PDU之后 , 才会更加层2种的数据卷和其他条件来决定是否需要携带以及BSR的具体内容(如图2所示) 。
下行的MAC PDU的特点是MAC CE是在MAC sub-PDU的前面 , 而MAC sub-PDU和上行类似 , 也是把MAC sub-Header和MAC sub-PDU进行了交织 。把MAC CE放在MAC PDU的前面是比较自然的处理(如图3所示) , 把MAC CE放在MAC PDU的前面是因为将这些MAC CE分离后 , 马上就可以在MAC层进行协议处理 。
技术编程,5G|点点滴滴学5G—一文掌握用户面数据组包原理
文章图片

文章图片

图31.2.1 MAC subHeader的类型与结构
【技术编程,5G|点点滴滴学5G—一文掌握用户面数据组包原理】MAC subHeader长度包含8bit和16bit(如图4所示), 具体采用哪种长度的MAC subHeader由L3 RRC层配置决定 。
技术编程,5G|点点滴滴学5G—一文掌握用户面数据组包原理
文章图片

文章图片

图4
LCID: size of the Length field. 0 - 8 bits /1 -16 bit;
R: Reserved bit, seThe Logical Channel ID : MAC SDU所属的逻辑信道实例 38.321-6.2.1
L: The Length field indicates the length of the corresponding MAC SDU or variable-sized MAC CE in bytes. The size of the L field is indicated by the F field;
F: The Format field indicates the t to 0.1.2.2 MAC实例应用
如图5所示:在下行数据传输中 , MAC层收到RLC PDU , 需要增加MAC header , 并且需要进行逻辑信道复用 , 可以理解为一个Transport Block中 , 包含多个MAC subPDU 。
技术编程,5G|点点滴滴学5G—一文掌握用户面数据组包原理
文章图片

文章图片

图5
1.3 RLC PDU
u Radio Link Control 位于MAC层和PCDP层之间 , 一个RLC实体对应一个UE的一个逻辑信道
u 三种传输模式:
u TM:Transparent Mode 透传
u UM:Unacknowledged Mode 非确认传输
u AM: Acknowledge Mode 确认传输
u RLC status PDU
因AM模式应用场景比较广泛 , 本文主要讲述AM模式下RLC PDU结构图(如图6所示) , 具有采用哪种长度的AMD PDU由L3 RRC配置决定 。


推荐阅读