5G NR协议栈其他博文参考:
https://blog.csdn.net/qq_41245381/article/details/105700029
https://blog.csdn.net/qq_41245381/article/details/105782751
一、SDAP概述
SDAP层是通过RRC信令来配置的,SDAP层负责将QoS流映射到对应的DRB上。一个或者多个QoS流可以映射到同一个DRB上,一个QoS流只能映射到一个DRB上。SDAP架构如图所示。
SDAP层功能主要有:
- 传输用户面数据
- 为上下行数据进行QoS Flow到DRB的映射
- 在上下行数据包中标记QoS FLow ID
- 为上行SDAP数据进行反射QoS流到DRB的映射
SDAP实体位于SDAP层,每个PDU会话都会建立对应的SDAP实体,一个UE可以有多个SDAP实体(因为一个UE可以同时建立多个PDU会话)。一个SDAP实体从上层接收SDAP SDU(也就是应用层的数据包),将其打包为SDAP PDU(增加了SDAP header),最后通过下层(PDCP)将SDAP PDU发给对端SDAP实体。一个SDAP实体从下层(PDCP)接收对端SDAP实体发过来的SDAP PDU,去除SDAP header后,将SDAP SDU投递给上层。
二、PDCP概述
PDCP(Packet Data Convergence Protocol)层位于SDAP/RRC层和RLC层之间。它通过RLC通道(RLC channel)访问RLC层的传输服务,并向上层提供DRB(对SDAP,用户面)和SRB(对RRC,信令面)服务访问点(SAP)。
同一gNB下的两个UE通信流程如下图,UE2向UE1发数据。
用户面协议栈处理报文流程如下图。
5GNR的PDCP主要有3个功能:头压缩、加密/完保、排序
PDCP层加密功能只对Data部分(不包含SDAP协议头)进行。PDCP提供两种RB承载,SRB和DRB,其中SRB的Data PDU必须进行完整性保护,DRB的Data PDU可根据配置需要进行完整性保护。
- PDCP实体内部结构如图,每个PDCP实体对应一个无线承载。同时,每个PDCP层都包含控制平面和用户平面,根据无线承载携带的信息确定相应的平面。如果存在RB分割,则添加Routing和Duplication功能。
- 5GNR系统PDCP协议层的主要目的是发送或接收对等PDCP实体的分组数据PDCP PDU。PDCP的上层实体有两种,控制平面和用户平面,在控制平面,加密和完整性保护是必选功能;而在用户平面,可靠头压缩(ROHC)为必选功能,数据加密为可选功能,这里的数据既可以是用户数据,也可以是应用层信令,如SIP、RTCP等。
- 5GNR中,PDCP是UE和gNB之间的传输协议,PDCP终结于gNB。PDCP向上层提供的业务包括:透明数据传输业务、确认的数据传输业务(包括对PDCP PDU传输成功的指示)、非确认的数据传输业务(按序传输、包复制或丢弃处理)等。
PDCP功能小结:
- transfer of data (user plane or control plane);
- maintenance of PDCP SNs;
- header compression and decompression using the ROHC protocol;
- ciphering and deciphering;
- integrity protection and integrity verification;
- timer based SDU discard;
- for split bearers, routing;
- duplication;
- reordering and in-order delivery;
- out-of-order delivery;
- duplicate discarding.