点点滴滴学5G—一文掌握用户面数据组包原理
引言本文主要讲述协议栈用户面组包的原理 , 重点包括MAC PDU , RLC PDU和PDCP PDU的结构 , 希望读者通过阅读本篇文章 , 能掌握用户面数据包的结构 。
1.1 整体架构 图1是数据包组包的整体架构图 , 当发送方要传输数据数据包传输给发送方时 , 先通过SDAP层加上SDAP头PDU投递到PDCP层 , 然后通过PDCP层加入PDCP头PDU投递到RLC层 , 最后由MAC层组包加入MAC PDU头通过物理通道传输到接收方 。
文章插图
图1
1.2 MAC PDU
文章插图
图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层进行协议处理 。
文章插图
图3
1.2.1 MAC subHeader的类型与结构 MAC subHeader长度包含8bit和16bit(如图4所示), 具体采用哪种长度的MAC subHeader由L3 RRC层配置决定 。
文章插图
图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 。
文章插图
图5
1.3 RLC PDUu 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配置决定 。
文章插图
图6
D/C: 0 RLC control PDU
【点点滴滴学5G—一文掌握用户面数据组包原理】 1 RLC data PDU
P: Polling bit 1:请求对端发送一个STATUS report
SN: 12 bit or 18 bit 由L3配置
1.3.1 RLC实例应用 如图7所示:是以AMD PDU header为例 , 在上一篇MAC实例的基础上 , 解析了RLC的herder
文章插图
图7
D/C为1 , 表示DATA
POLL为1 , 表示需要发送RLC status PDU
SN号为4
注: 当POLL为1时 , 要求接收方发送状态PDU , 其状态PDU的结构如图8所示
文章插图
图8
CPT:control PDU Type “000” status PDU
ACK_SN: 下一个没有接收到的RLC SDU的SN
NACK_SN:被接收端认为丢失的RLC SDU或者RLC SDU分段
E1:指示“ACK_SN” or “NACK_SN”后是否跟着另一个“NACK_SN”组合 。1: follow
E2:指示在“NACK_SN”之后是否跟随“SOstart+SOend”
E3:指示是否存在连续丢失 , 即“NACK range”
文章插图
图9
1.4 PDCP PDU1.4.1 PDCP PDU Header的结构与类型—SRB 如图10所示 , PDCP SN:PDCP SDU的序列号 。 SRB的PDCP SDU长度固定为12bit
MAC-I:SRB的MAC-I字段必须存在 , 如果未配置控制面数据的完成性保护 , 其携带的数据可为0
文章插图
- 世代|Z星球——腾讯布局Z世代教育社交的新尝试
- 开发自|不妥协不追随 Member’s Mark升级背后的“山姆哲学”
- 计算机学科|机器视觉系统是什么
- 阿尔法|击败李世石的AI公司,又研发出生物版“阿尔法狗”:破解50年生物学难题
- 互联网|政企学界人士西安共议数字经济 产业互联网发展向“西”行
- 脉搏|把握时代发展脉搏,尽展巴蜀版权风采——2020年成都数字版权交易博览会成功举办
- 高学历|薇娅一夜带货53.2亿,少不了这支高学历团队!
- 教学|机器人教学的目标方案
- 体验|VR\/AR体验、3D打印、机器人“对决”……松江这所中学人工智能创新实验室真的赞
- 直播从业者|高三老师监考时开直播,面对质疑还振振有词,怕困没有打扰学生