5G中的PDCP层位于Layer 2的上层介于**SDAP层与RLC层之间**承担着数据安全、头压缩和跨小区/跨节点数据锚点的关键角色。### 协议栈中的位置与双重角色在5G NR协议栈中PDCP层位于**SDAP层之下、RLC层之上**。它同时服务于两个平面- **用户面U-plane** 位于SDAP层下方承载用户数据业务。- **控制面C-plane** 位于RRC层下方承载信令消息此时没有SDAP层介入也不进行头压缩。PDCP通过**无线承载Radio Bearer** 向上层提供服务**SRB信令无线承载** 传输RRC信令**DRB数据无线承载** 传输用户数据。### ⚙️ 核心功能详解5G PDCP层的功能较为丰富主要包括以下几个方面#### 安全功能加密与完整性保护安全是PDCP层最核心的功能之一。在5G NR中**用户面完整性保护和加密是强制支持的但可选使用**。**加密Ciphering** 当安全功能激活后PDCP对上下行所有数据PDU进行加密。加密所需的输入参数包括**COUNT值**由PDCP SN和HFN组成、**方向指示DIRECTION** 、**承载标识BEARER** 和**密钥KEY** 。控制面使用 KRRCenc用户面使用 KUPenc。**完整性保护Integrity Protection** 对PDU头和加密前的数据部分进行完整性保护。SRB的数据PDU**始终**应用完整性保护DRB则需根据配置决定是否启用。对于DAPS承载双活动协议栈切换PDCP实体需要根据数据来自源小区还是目标小区分别使用对应的算法和密钥进行安全处理。#### 头压缩与解压缩PDCP层支持两种头压缩协议- **ROHCRobust Header Compression** 用于压缩TCP/IP或UDP/IP头大幅减少用户数据的传输开销。- **EHCEthernet Header Compression** 5G新增用于压缩以太网帧头。当ROHC和EHC同时配置时接收端会先进行ROHC解压缩再进行EHC解压缩。每个PDCP实体最多使用一个ROHC压缩器实例和一个解压缩器实例。#### 数据传递功能- **序列编号Sequence Numbering** 为每个PDCP PDU分配序列号SN支持12位或18位长度用于重排序和重复检测。- **重排序与按序交付Reordering In-sequence Delivery** 接收端根据PDCP SN对下层收到的PDU进行重排序确保按序递交给上层。- **重复检测与丢弃Duplicate Detection Discard** 基于窗口机制检测并丢弃重复PDU尤其在切换场景下至关重要。- **PDCP SDU重传**在切换等场景中从源节点转发过来的PDU可能需要在目标节点重新发送。- **PDCP PDU复制Duplication** 支持将同一PDU通过多条路径重复传输以提高可靠性。- **路由Routing** 对于分离承载Split Bearer发送端PDCP实体负责将PDU路由到不同的RLC实体。#### ⏱️ SDU丢弃与数据恢复- **基于定时器的SDU丢弃**当某个SDU的缓存时间超过 discardTimer 后发送端将其丢弃避免无效数据的长时间占用。- **数据恢复Data Recovery** 在RLC AM承载的PDCP实体重建时对未成功传输的数据进行恢复。### ️ 实体架构与承载映射**每个无线承载除SRB0外关联一个PDCP实体**。每个PDCP实体根据承载特性关联**一个或两个RLC实体**每个方向一个。对于分离承载每个PDCP实体关联两个AM RLC实体。PDCP实体可配置为承载控制面或用户面数据。**用户面的PDCP实体可以配置头压缩功能**控制面则不使用头压缩。### 与相邻层的关系**与SDAP层上层仅用户面** SDAP负责QoS流到DRB的映射并在数据包中标记QFI。SDAP PDU作为PDCP SDU进入PDCP层处理。**与RRC层上层仅控制面** RRC负责配置PDCP实体、激活/挂起安全功能以及配置头压缩等参数。**与RLC层下层** PDCP通过**RLC通道**将PDCP PDU递交给RLC层。RLC层将其视为RLC SDU进行分段/重组和ARQ处理。RLC AM提供有确认的数据传输服务可向PDCP指示PDU的成功交付支持PDCP层的数据恢复。在AM模式下PDCP层的序列号与RLC层的序列号相互独立。### 总结5G PDCP层是一个功能丰富的协议层。它通过**加密与完整性保护**保障数据安全通过**头压缩**提升传输效率通过**序列编号、重排序和重复检测**确保数据完整性。在5G中PDCP还新增了**PDU复制、路由以及DAPS切换支持**等特性使其成为5G Layer 2协议栈中承上启下的关键枢纽。