概述
SDU
SDU,Service Data Unit,服务数据单元,表示由上一层传递到本层还未被处理的数据。
PDU
PDU,Protocol Data Unit,协议数据单元,表示将本层SDU经过特定格式处理后将传递到下一层的数据。
以RLC层为例:
RLC收到来自PDCP层的数据就叫 RLC SDU,RLC层经过处理后组装成 RLC PDU,然后投递给MAC层。
LTE数据处理流程
应用层的一个数据是如何通过LTE发送到网络的?
1、AP的处理
》应用层通过socket接口发送数据到内核;
》内核的TCP/IP协议栈把数据打包成IP packets;
》IP层通过com口把IP packets传递到modem处理;
2、Modem的处理
2.1、PDCP层处理
》加密和解密;
》ROHC头压缩和解压;
》对下行PDU的排序和路由;
》对上行SDU的重传;
》对于上行SDU的定时丢弃;
说明1:ROHC头压缩,即去除IP报头(最小20字节),增加了令牌1-4个字节,可能一个IP packet被分割在多个PDCP PDU里面,如下图。
说明2:当前场景中,IP packet就是PDCP的SDU,完成PDCP层的处理后,就形成了PDCP PDU。
说明3:上行发送时PDCP会做重传,也会丢包;下行接收时,PDCP会重排序。
说明4:三种PDCP PDU结构
R:reserved,保留位,应该为0;
D/C:0表示control pdu,1表示data pdu;
AILC:0表示PDCP SDU 不需要经过cache,1表示需要;
2.2、RLC层处理
》RLC SDU的连接、分割和重组;
》下行RLC PDU的重排和重复检测;
》协议错误检测;
》RLC重建;
》ARQ重传反馈;
RLC有控制 PDU和数据 PDU,控制PDU即 STATUS PDU;数据PDU有,
- TMD PDU;(即对应TCP的数据包)
- UMD PDU;(即对应UDP的数据包)
- AMD PDU;(对应直通模式的数据包)
TM PDU只有数据,没有头:
UMD PDU有头:
AMD PDU 也有头:
头域各字段说明如下,
E:extension
- 0 ,固定头部之后跟着数据;
- 1 ,固定头部之后跟着一组E字段和LI字段;
LI:Length Indicator
指示数据的长度;
FI:Framing info
说明数据的排布方式,
- 00,数据域的第一个字节对应RLC SDU的第一个字节,数据域的最后一个字节对应RLC SDU的最后一个字节;
- 01,数据域的第一个字节对应RLC SDU的第一个字节,数据域的最后一个字节不是对应RLC SDU的最后一个字节;
- 10,数据域的第一个字节不是对应RLC SDU的第一个字节,数据域的最后一个字节对应RLC SDU的最后一个字节;
- 11,数据域的第一个字节不是对应RLC SDU的第一个字节,数据域的最后一个字节不是对应RLC SDU的最后一个字节;
P:Polling
表示是否需要接收端发送 STATUS REPORT,0不需要,1需要。
2.3、MAC层处理
》映射逻辑信道和传输信道;
》把不同逻辑信道的SDU多路复用到物理层的某传输信道;
》上报调度信息;
》通过HARQ做错误检测;
》逻辑信道的优先级处理;
》MBMS服务识别;
》选择传输格式;
》padding;
MAC PDU包含:MAC PDU header、0个或多个MAC SDU、0个或多个MAC control elements以及padding。
MAC PDU header包含一个或多个MAC PDU subheader,每个subheader对应一个MAC SDU或MAC control elements或padding。
MAC PDU subheader结构如下:
L:表示对应的MAC SDU的长度;
F:表示L字段的长度;
F2:用于short DCQR;
E:指示MAC header里是否存在更多的字段,0表示下个字节是MAC SDU 或 MAC control element 或padding;1表示下个字节是另一组R/F2/E/LCID;
R:保留位;
LCID:logical channel ID,指示MAC SDU 或 MAC control element 或padding对应的逻辑通道ID;
eLCID:extended logical channel ID。
2.4、物理层处理
物理层负责调制和解调,LTE的物理层支持三种类型的无线帧结构:
- Type 1, applicable to FDD;
- Type 2, applicable to TDD;
- Type 3, applicable to LAA secondary cell operation only.