Fact-checked by Grok 2 weeks ago

Packet Data Convergence Protocol

The Packet Data Convergence Protocol (PDCP) is a Layer 2 sublayer protocol within the radio access network (RAN) of 3GPP mobile communication standards, including UMTS, LTE, and 5G New Radio (NR), designed to efficiently transfer user and control plane data over the radio interface while providing security and optimization features. Specified in 3GPP Technical Specification (TS) 25.323 for UMTS (introduced in Release 1999), TS 36.323 for LTE (Release 8 onward), and TS 38.323 for 5G NR (Release 15 onward), PDCP operates between the Radio Resource Control (RRC) or Service Data Adaptation Protocol (SDAP) layers above and the Radio Link Control (RLC) layer below, ensuring reliable packet handling in wireless environments. PDCP's core functions include header compression and using protocols such as Robust Header Compression (ROHC) for packets and Ethernet Header Compression (EHC) for Ethernet frames, to reduce overhead on the air interface, thereby improving . It also performs ciphering and deciphering of data for , as well as and to prevent tampering, particularly for signaling. Additional capabilities encompass maintenance of sequence numbers for in-sequence delivery and duplicate detection, reordering of out-of-order packets, timer-based service data unit (SDU) discard, and support for data duplication and recovery during handovers or re-establishments. These features enable PDCP to support both acknowledged and unacknowledged data transfer modes, adapting to varying radio conditions in cellular networks. Evolving with each 3GPP release, PDCP has incorporated enhancements such as support for dual connectivity and in , and in , additions like uplink data switching for faster handovers and improved status reporting for robust retransmissions. In Release 18, further enhancements support (XR) services, enhanced multicast broadcast service (eMBS), and multi-path relaying for advanced applications. The protocol's design emphasizes and high throughput, critical for modern applications like ultra-reliable low-latency communications (URLLC) in . Overall, PDCP plays a pivotal role in the end-to-end packet data handling, bridging upper-layer applications with the physical radio transmission.

Introduction

Definition and Purpose

The Packet Data Convergence Protocol (PDCP) is a sublayer of Layer 2 in the radio access network protocol stack, positioned above the (RLC) sublayer and below the Service Data Adaptation Protocol (SDAP) in the 5G NR user plane or below the (RRC) in the . In and , it serves as the uppermost Layer 2 sublayer for the user plane, responsible for converging and processing packet data from upper layers before transfer to the lower layers. It operates within the radio interface between the (UE) and the , handling both user plane data packets and signaling to ensure efficient radio resource utilization in mobile networks such as , , and . The primary purposes of PDCP include the efficient transfer of user plane and data, reduction of protocol overhead through header compression, and provision of security features to protect and during transmission over the air interface. By compressing headers of -based data streams, such as / or RTP//, PDCP minimizes consumption on radio links where resources are scarce. Additionally, it applies ciphering to prevent unauthorized access and integrity protection to detect tampering, ensuring robust data handling in potentially hostile wireless environments. PDCP provides key services to upper layers, including the (RRC) for control plane signaling and the (IP) layer for user plane traffic, such as sequenced delivery of service data units (SDUs) and mapping of radio bearers to dedicated PDCP entities. Each PDCP entity is configured per radio bearer by upper layers, supporting functions like maintenance of sequence numbers for reordering and duplication detection. It interacts with the (RLC) sublayer below for segmentation and reassembly of PDCP protocol data units (PDUs) to adapt to varying radio conditions. PDCP distinguishes between user plane and control plane operations to optimize for different requirements. User plane PDCP entities prioritize data efficiency through header and ciphering, focusing on high-throughput transfer of application over data radio bearers (DRBs). In contrast, control plane PDCP entities emphasize signaling security via mandatory integrity protection and optional ciphering for signaling radio bearers (SRBs), ensuring reliable delivery of RRC messages without the need for extensive .

Position in the Protocol Stack

The Packet Data Convergence Protocol (PDCP) is a sublayer of Layer 2 in the , positioned above the (RLC) sublayer and below the Service Data Adaptation Protocol (SDAP) in the user plane or below the (RRC) in the control plane. In and , it is the uppermost Layer 2 sublayer for the user plane. This placement applies symmetrically in both the () and the base station ( in or gNodeB in NR). PDCP interacts with adjacent layers through logical interfaces where it delivers PDCP units (PDUs) to the RLC sublayer as units (SDUs), and receives PDCP SDUs from the RLC sublayer for . There is no direct connection between PDCP entities across the air interface; instead, transfer relies on the underlying RLC and (MAC) sublayers for segmentation, reassembly, and . In terms of radio bearer mapping, a dedicated PDCP entity is instantiated for each radio bearer, supporting both data radio bearers (DRBs) that carry user plane traffic and signaling radio bearers (SRBs) that handle signaling. This one-to-one mapping ensures isolated processing of bearer-specific data flows. PDCP is deployed across both the and user plane architectures, with termination occurring at the PDCP layer itself in the network side (e.g., at the gNodeB for NR). In the , it primarily supports SRBs for RRC signaling, while in the user plane, it processes DRBs for transmission, enabling functions such as header compression for efficient upper-layer data handling.

History and Evolution

Origins in UMTS

The Packet Data Convergence Protocol (PDCP) was introduced in 3GPP Release 99, with initial specifications around 2000-2001, as a component of the Terrestrial Radio Access Network (UTRAN) to support efficient packet data handling in third-generation mobile networks. This release aimed to enhance IP-based services over the air , with PDCP positioned at Layer 2 of the radio to process user data before transmission to the (RLC) layer. The initial specification, documented in TS 25.323 ( TS 125 323 V3.6.0, September 2001), outlined PDCP's core role in the packet-switched (PS) domain, associating each PS domain Radio Access Bearer (RAB) with a dedicated PDCP entity. PDCP's primary functions in early centered on IP header compression and basic ciphering for user plane data, enabling robust transport of packets over the Wideband Code Division Multiple Access (WCDMA) air interface. In Releases 99 and 4, header compression utilized RFC 2507 for compressing , , and headers over point-to-point links, reducing overhead from typically 40 octets (IPv4) to as low as 2-3 octets per packet. Support for the more advanced Robust Header Compression (ROHC) in RFC 3095 for real-time streams like RTP// was added in Release 5 ( TS 125 323 V5.0.0, March 2002). Ciphering was applied to PDCP Service Data Units (SDUs) post-compression to ensure of user plane traffic, using algorithms specified in the overall security architecture, but without integrity protection for user plane data. Support for the was limited and optional, primarily through signaling primitives for configuration, while the protocol's scope remained confined to the PS domain, excluding circuit-switched (CS) services. A key early use case for PDCP in was to facilitate efficient transport in bandwidth-constrained WCDMA environments, where large headers could consume up to 40% of air interface resources for voice or data sessions; mitigated this waste, supporting emerging services with improved . This foundational design prioritized lossless data transfer and sequence numbering for Serving Subsystem (SRNS) relocation, ensuring continuity during handovers without advanced features like integrity.

Developments in LTE

The Packet Data Convergence Protocol (PDCP) for Long-Term Evolution () was first specified in 3GPP Technical Specification TS 36.323 as part of Release 8, published in , with ongoing enhancements documented through subsequent releases up to Release 15. These developments built upon the foundational PDCP from Universal Mobile Telecommunications System () by introducing advanced security and efficiency features tailored to LTE's all-IP architecture. A key advancement in PDCP was the introduction of integrity protection specifically for signaling radio bearers (SRBs), which safeguards (RRC) messages against tampering. This protection employs 32-bit message authentication codes (MAC-I) generated using algorithms such as 128-EIA1, based on the 3G stream cipher, or 128-EIA2, based on in CMAC mode. Additionally, ciphering was extended to both user plane data radio bearers (DRBs) and SRBs, utilizing 128-EEA1 ( 3G) or 128-EEA2 ( in counter mode) to encrypt PDCP data units (PDUs), with keys derived from the security context. These security mechanisms, mandatory for SRBs and optional for DRBs, enhance protection against and modification in LTE's evolved packet system. LTE PDCP also supports configurable sequence numbers (SNs) of 7 bits or 12 bits for both user plane DRBs and SRBs (with 5 bits as a for SRBs), allowing for extended numbering spaces up to 4096 to accommodate higher data rates. This enables robust in-sequence reordering of out-of-order PDUs at the receiving end and detection of duplicates, reducing and ensuring reliable delivery even under variable channel conditions. In later releases, such as Release 10 onward, these SN mechanisms were optimized for , where PDCP entities manage routing and reordering across multiple component carriers via split bearers associated with dual acknowledged mode (AM RLC) entities. Furthermore, LTE PDCP integrated robust header compression (RoHC) as specified in RFC 3095, which compresses IP/UDP/RTP headers to as little as 2-3 bytes for efficient transmission of small payloads. This feature, configurable per DRB, is particularly vital for real-time services like Voice over LTE (VoLTE), where it minimizes overhead for RTP streams in IMS-based calls introduced in Release 9. In carrier aggregation contexts from Release 10, RoHC operates consistently across aggregated carriers, supporting seamless handover and aggregation of voice traffic without recompression.

Enhancements in 5G NR

The Packet Data Convergence Protocol (PDCP) for 5G New Radio (NR) is specified in 3GPP Technical Specification (TS) 38.323, initially introduced in Release 15 in 2018, with subsequent refinements in Releases 16 through 18 to support 5G Advanced features. These updates build on foundational elements from LTE while introducing capabilities tailored to diverse 5G use cases, including enhanced Mobile Broadband (eMBB), Ultra-Reliable Low-Latency Communications (URLLC), and massive Machine-Type Communications (mMTC). In Release 18 (as of 2025), enhancements include support for NR sidelink PDCP duplication to improve reliability in vehicle-to-everything (V2X) communications. A key enhancement is the extension of PDCP sequence numbering (SN) to support either 12-bit or 18-bit lengths for data radio bearers (DRBs) and signaling radio bearers (SRBs), configurable by upper layers via RRC signaling. This flexibility accommodates high data rates in eMBB scenarios by reducing reordering window sizes for lower SN lengths, while the 18-bit option—introduced in Release 16—enables extended sequences to minimize disruptions from or delay in URLLC and mMTC environments, ensuring robust handling of up to 2^18 - 1 PDCP protocol data units (PDUs) before wrap-around. To bolster reliability in URLLC applications, PDCP incorporates service data duplication, allowing a single PDCP entity to generate duplicate PDUs that are transmitted via multiple radio link control (RLC) entities or logical channels. Configurable for up to four RLC entities per direction and activated/deactivated by upper layers, this feature detects and discards duplicates at the receiver to avoid redundancy overhead, thereby achieving sub-millisecond latency targets without excessive resource consumption. Enhancements in Release 16 further optimize duplication for dual active protocol stack (DAPS) handovers, integrating it with split bearers for seamless mobility. User plane integrity protection, optional for DRBs starting in Release 16, represents another advancement, enabling end-to-end data verification using algorithms like NEA2 (AES-CMAC) when configured by the network. This builds continuity from LTE's protections but extends to user data for enhanced in sensitive URLLC flows, deriving keys from the master key K_AMF and applying them based on the hyperframe number (HFN), direction, bearer ID, and fresh COUNT values. PDCP's alignment with dual connectivity modes, such as E-UTRA-NR Dual Connectivity (EN-DC) and NR-DC, facilitates split bearer operations where PDCP PDUs are routed across and secondary nodes for load balancing and . Integrated with the Service Data Adaptation Protocol (SDAP) introduced in , PDCP maps QoS flows to DRBs while excluding SDAP headers from compression or ciphering to preserve QoS markings, ensuring efficient handling of differentiated traffic in multi-connectivity setups. These refinements prioritize low-latency reordering and security synchronization to meet 's stringent performance requirements.

Key Functions

Header Compression

In the Packet Data Convergence Protocol (PDCP), header compression optimizes bandwidth usage over the radio interface by reducing the overhead from , , and RTP headers in user plane . This function is essential for bandwidth-constrained environments, particularly for applications like VoIP and video streaming, where headers can constitute a significant portion of packet size. PDCP applies dynamically to service data units (SDUs) before further , targeting headers up to 40 bytes in length for IPv4//RTP packets. Early implementations in utilized IP Header Compression (IPHC) as defined in 2507, which compresses multiple headers and / headers on a hop-by-hop basis over point-to-point links. This scheme reduces and headers to typically 2-5 bytes without checksums, providing efficient for the era's networks. Starting with and continuing in , PDCP supports multiple header compression protocols, including Robust Header Compression (RoHC) per 3095, Ethernet Header Compression (EHC) for Ethernet-framed traffic, and Uplink Data Compression (UDC) for general uplink data compression. RoHC is a stateful protocol that achieves higher efficiency and robustness against transmission errors, supporting profiles for RTP//, /, ESP/, and uncompressed , compressing headers to as few as 1-3 bytes in optimal conditions. EHC, introduced in Release 10, compresses Ethernet headers to reduce overhead in scenarios involving Ethernet payloads, while UDC, from Release 11, enables dictionary-based compression of uplink SDUs for improved efficiency in mobile-originated traffic. Each protocol is independently configured for a data radio bearer (DRB) via RRC signaling. RoHC operates in three primary modes to balance compression efficiency, reliability, and feedback overhead: unidirectional mode (U-mode), which requires no from the decompressor and relies solely on periodic context refreshes; optimistic bidirectional mode (O-mode), which uses only upon decompression failure to minimize channel usage; and reliable bidirectional mode (R-mode), which employs periodic acknowledgments for robust synchronization. These modes leverage stateful management, where the compressor and decompressor maintain shared models of header patterns, enabling incremental updates rather than full header transmission. initialization occurs via initial uncompressed packets, with transitions between modes handled dynamically based on link conditions. Header is configured exclusively for user plane data radio bearers (DRBs) and is not applied to control plane signaling. Similar configuration applies to EHC and UDC, with their specific and mechanisms defined in the respective specifications. The benefits of PDCP header compression are pronounced for delay-sensitive traffic, reducing air interface overhead by 70-90% in VoIP and video scenarios, thereby improving and supporting more concurrent sessions. For instance, RoHC can save over 85% of header bytes in GSM-EFR VoIP codecs under typical conditions. Configuration parameters, including the compression profile, maximum context ID, and mode, are negotiated via (RRC) signaling during bearer setup. Decompression failures trigger feedback packets, which PDCP encapsulates and sends to the peer for context repair, ensuring resilience without full re-establishment. Ciphering is applied to the compressed data for security post-compression.

Security Mechanisms

The Packet Data Convergence Protocol (PDCP) layer ensures secure data transmission in mobile networks by implementing ciphering for and for data , primarily targeting the PDCP service data units (SDUs) while excluding certain headers to maintain efficiency. These mechanisms are applied after header compression and robust header compression (ROHC) processes, allowing compressed packets to be protected without altering their efficiency gains. Ciphering and are configured by upper layers, such as the (RRC), and are essential for protecting signaling radio bearers (SRBs) and optionally data radio bearers (DRBs). In (E-UTRA), these features are defined in 3GPP TS 36.323, while in , enhancements including additional algorithms are specified in TS 38.323, with overarching security architecture in TS 33.401 for and TS 33.501 for . Ciphering in PDCP provides by encrypting the data portion of PDCP protocol data units (PDUs), excluding the PDCP header and any service data adaptation protocol (SDAP) header in , to prevent unauthorized access to user and data. Supported algorithms include the algorithm (NEA0) for no encryption, SNOW 3G (128-NEA1) as a , and in counter mode (128-NEA2), all using 128-bit keys in . In , these are extended to include ZUC (128-NEA3), with -CTR also supporting 256-bit keys for enhanced where configured. The encryption process uses inputs such as a 128-bit key, a 32-bit COUNT (comprising a hyper frame number (HFN) and PDCP sequence number (SN)), a 5-bit bearer identifier, a 1-bit , and the message length, as specified in the architecture standards. Ciphering is applied during data transfer operations, ensuring that only the is encrypted to preserve header-based routing and sequencing. Integrity protection in PDCP verifies the authenticity and integrity of PDUs, preventing tampering or unauthorized modifications, and is mandatory for the control plane (SRBs) across and to secure RRC signaling. For the user plane (DRBs), it is optional in but required for relay nodes in , with the protection applied to both the PDCP header and data before ciphering. Algorithms include (NIA0, generating a 32-bit all-zero MAC-I with no protection), SNOW 3G (128-NIA1), AES-CMAC (128-NIA2), and in , ZUC (128-NIA3), all producing a 32-bit for integrity (MAC-I) appended to the PDCP header. The integrity computation uses similar inputs to ciphering: a 128-bit key, 32-bit COUNT, 5-bit bearer, 1-bit direction, and message, with verification performed by recomputing and comparing the MAC-I at the receiver; mismatched PDUs are discarded. This mechanism ensures robust protection against man-in-the-middle attacks on critical signaling. PDCP security keys are derived hierarchically from access stratum (AS) master keys using a key derivation function (KDF), ensuring fresh and unique keys for each session or bearer to mitigate key reuse risks. In LTE, keys such as K_RRCenc (for RRC ciphering), K_UPenc (for user plane ciphering), K_RRCint (for RRC integrity), and K_UPint (for user plane integrity in relay nodes) are generated from the base key K_eNB via a KDF with inputs including a fixed constant (e.g., FC=0x69), algorithm type, bearer identity, and length, as defined in TS 33.401. For 5G NR, the hierarchy starts from K_gNB or K_AMF, deriving K_RRCenc, K_RRCint for control plane, K_UPenc and K_UPint for user plane, and KEK (PDCP entity key) for short MAC-I in sidelink or specific configurations, using similar KDF parameters per TS 33.501; 256-bit variants are supported by deriving longer keys. Keys are provided to the PDCP entity during setup or reconfiguration, with fresh derivation triggered by security mode commands to align with authentication outcomes. Activation and deactivation of PDCP security mechanisms are managed through RRC reconfiguration procedures, allowing dynamic enabling or suspension based on policies and events. In both and , upper layers signal activation via SecurityModeCommand, applying ciphering and from specified PDCP SNs onward, with suspension possible during connection release or inactivity to reduce computational overhead. Deactivation occurs via SecurityModeRejection or reconfiguration, resetting protection until re-established, and keys are refreshed during handovers or re-establishments to prevent exposure. Replay protection is inherently provided through the 32-bit in ciphering and inputs, where the HFN and PDCP SN detect out-of-sequence or duplicate packets, discarding them to thwart replay attacks; this is activated whenever protection is enabled (except ). These procedures ensure seamless transitions without data loss.

Sequence Handling and Reordering

The Packet Data Convergence Protocol (PDCP) utilizes sequence numbering to maintain the and order of data transfer across potentially lossy radio links. Each PDCP entity assigns a monotonically increasing sequence number () to every incoming (SDU) before transmission, ensuring unique identification within the entity's scope. The SN length has evolved across releases: 7 bits in (Release 99 to 6), providing a sequence space of 128; 12 bits in (Release 8 onward), offering 4096 possible values; and 12 or 18 bits in (Release 15 onward), with 18-bit support configurable for user plane data radio bearers (DRBs) and multicast radio bearers (MRBs) to accommodate higher data rates and larger buffers, while signaling radio bearers (SRBs) and some DRBs use 12 bits. The exact length is signaled by upper layers via (RRC) configuration, differing by bearer type (e.g., SRBs versus DRBs) and direction (uplink/downlink), with the full value incorporating the SN and a hyper frame number (HFN) for extended range. At the transmitting PDCP entity, the SN assignment occurs immediately after SDU reception and before lower-layer submission: the SN is derived as the TX_NEXT state variable modulo $2^{\text{SN length}}, after which TX_NEXT is incremented by 1 for the next SDU. This process repeats per SDU, cycling through the sequence space without reset unless re-establishment occurs, and applies independently to each PDCP entity for uplink, downlink, or sidelink communications. The resulting PDCP (PDU) carries the SN in its header, enabling downstream functions like reordering and integrity checks. On the receiving side, PDCP implements reordering to reconstruct the original SDU sequence for upper-layer delivery, buffering out-of-order PDUs in a buffer while discarding those outside the valid . The reordering size is half the sequence space—2048 for 12-bit SN and 131072 for 18-bit SN—defining the maximum gap tolerated before declaring losses. Key state variables include RX_NEXT (the expected next ), RX_DELIV (the first undelivered ), and RX_REORD (the reordering , set to RX_NEXT plus the window size). Upon PDU , if the received COUNT (RCVD_COUNT) equals RX_NEXT, consecutive buffered SDUs are delivered upward and variables advanced; if RCVD_COUNT > RX_NEXT but within the window, the PDU is buffered and a t-Reordering starts (or restarts if already running). expiration triggers delivery of all buffered SDUs up to RX_REORD, forwarding any gaps as losses to lower layers for potential . This mechanism ensures robust in-sequence delivery even under packet reordering from multipath or scheduling delays. Duplication detection prevents redundant processing by comparing the RCVD_COUNT against RX_DELIV: PDUs with RCVD_COUNT < RX_DELIV are discarded as duplicates, as are those already buffered with matching . For radio bearers, a configurable discardTimer (set by RRC, typically milliseconds to seconds) starts upon SDU arrival; if it expires without successful reordering and delivery, the SDU is discarded to free buffer space and signal lateness, enhancing efficiency in high-mobility scenarios. This timer applies per DRB but not to SRBs, where state continuity may override. PDCP status reporting provides feedback on reception status via optional PDCP Status PDUs, sent from the receiving entity to the transmitter upon triggers like re-establishment, , or periodic polling for acknowledged mode (AM) DRBs and MRBs. The PDU format includes a 32-bit first missing COUNT (FMC, set to RX_DELIV) followed by a (up to ~9000 bytes) where each bit indicates if the corresponding (FMC + bit position $2^{32}) is missing (0) or received (1), covering up to 71680 SDUs. Upon receipt, the transmitting PDCP discards SDUs marked as received to avoid resubmission to lower layers, indirectly prompting RLC retransmissions for missing ones in AM mode; this is absent in unacknowledged mode (UM) DRBs to minimize overhead.

Data Duplication

PDCP supports data duplication to enhance transmission robustness, particularly in for scenarios requiring high reliability such as (CA), dual connectivity (), and sidelink communications. Introduced in Release 16 and specified in TS 38.323 for NR, this function allows the transmitting PDCP entity to duplicate selected PDUs and submit copies to multiple RLC entities associated with different logical channels, increasing the likelihood of successful delivery without relying solely on lower-layer retransmissions. Duplication is configured per DRB via RRC, targeting specific bearers (e.g., for URLLC traffic), and uses the same SN for duplicates to enable detection at the receiver. The receiving PDCP de-duplicates using the SN, delivering only the first correctly received copy in sequence. This mechanism reduces for critical applications by providing proactive , with activation/deactivation managed during bearer setup or reconfiguration to balance reliability and resource overhead.

Protocol Procedures

PDCP Entity Setup

The Packet Data Convergence Protocol (PDCP) entity is established during connection setup or reconfiguration for each radio bearer, including signaling radio bearers (SRBs) and data radio bearers (DRBs), excluding SRB0 and certain short-message variants like SRB1bis. This creation is triggered by the (RRC) layer through signaling messages such as RRCConnectionSetup or RRCReconfiguration in , and RRCSetup or RRCReconfiguration in , which specify key parameters including the sequence number (SN) length, header compression type, and security algorithms for ciphering and integrity protection. Upon establishment, the transmitting PDCP entity initializes its state variables, such as setting the transmit HFN (hyper frame number) to zero and preparing the sequence handling mechanism. PDCP entities operate in a full processing mode that includes header compression, security functions, and robust header compression (RoHC) or enhancements like Ethernet header compression (EHC) and uplink data compression (UDC), tailored to the bearer type. For short signaling radio bearers, a transparent-like operation may bypass certain processing steps, such as header compression, to minimize overhead, though integrity protection remains active for SRB1, SRB2, and SRB3. A reset procedure, invoked by upper layers during reconfiguration or recovery, reinitializes the PDCP state by setting the next expected transmit and receive SNs to zero, clearing buffers, and stopping any active timers to ensure a clean slate without data loss from prior sessions. To support seamless , PDCP re-establishment is performed during handovers, where the target entity inherits from the source but applies new security keys, potentially using status transfer mechanisms to report unacknowledged PDCP service data units (SDUs) and avoid . For dual active (DAPS) handovers in , the PDCP entity maintains parallel instances at source and target, enabling continued transmission until the source leg is released. This re-establishment interacts briefly with the (RLC) layer to map initial data to appropriate acknowledged or unacknowledged mode entities. Configuration parameters are defined per PDCP entity during RRC setup to optimize performance and reliability. The t-Reordering timer, set by upper layers, governs the reordering window for out-of-sequence PDUs, triggering delivery of buffered data upon expiry if no gaps remain. The discardTimer controls SDU retention at the transmitter, discarding PDUs after expiry to prevent indefinite buffering. Header profiles, such as RoHC channels for packets (profile 0x0001 for RTP//), are configured to reduce overhead, with options for continuation across handovers to maintain context efficiency.

Data Transfer Operations

The Packet Data Convergence Protocol (PDCP) facilitates the transfer of user plane and data between the transmitter and receiver in mobile networks, ensuring efficient and secure conveyance of Protocol Data Units (PDUs). On the transmitter side, the PDCP entity receives a PDCP (SDU) from the upper layer, such as the Service Data Adaptation Protocol (SDAP) or (RRC), and associates it with a value derived from the transmission number (TX_NEXT). If header compression is enabled, the SDU undergoes Robust Header Compression (ROHC) or Enhanced Header Compression (EHC) to reduce overhead, followed by optional Uplink Data Compression (UDC) if configured. Subsequently, the compressed SDU is subjected to ciphering using security keys established during entity setup, and integrity protection is applied by appending a if required. A PDCP header is then added, incorporating the PDCP set to TX_NEXT modulo the SN size (e.g., 12 or 18 bits), along with any necessary control fields. The resulting PDCP Data PDU is forwarded to the lower layer, typically the entity, for further processing and transmission. On the receiver side, the PDCP entity obtains PDCP PDUs from the lower layer, such as RLC, and derives a received COUNT (RCVD_COUNT) based on the SN in the header and the expected reception sequence (RX_NEXT). It first verifies the integrity by checking the MAC-I against the received data using the corresponding security keys; if verification fails, the PDU is discarded, and the upper layer, such as RRC, is notified of the failure. The PDU is then deciphered using RCVD_COUNT, followed by to restore the original SDU if ROHC, EHC, or UDC was applied. The decompressed SDU is stored in a reordering , where SN-based reordering ensures in ascending order of values, starting from RX_DELIV. Duplicates are detected and discarded based on prior reception checks within the reordering window, and late arrivals are supported if they fall within this window before being discarded. In-order SDUs are delivered to the upper layer once contiguous sequencing is achieved up to RX_DELIV. PDCP also handles control PDUs separately from data transfer, which do not carry upper-layer SDUs. Status report PDUs are generated and transmitted to indicate missing or received SNs, typically triggered during recovery processes, using a bitmap to report the reception status relative to a First Missing COUNT (FMC). RoHC feedback PDUs are sent without SN or ciphering to provide compression state updates to the compressor, either as standalone PDUs or interspersed within data PDUs. These control mechanisms ensure reliable feedback without disrupting the primary data flow.

Robustness Features

The Packet Data Convergence Protocol (PDCP) incorporates re-establishment procedures to maintain continuity during handovers, minimizing data loss by either resetting sequence numbers or transferring status information. In LTE systems, upon upper layers requesting PDCP re-establishment—typically triggered by handover—the transmitting PDCP entity resets its sequence number (SN) state variables, such as Next_PDCP_TX_SN and TX_HFN, to zero and retransmits all PDCP service data units (SDUs) that were not confirmed for delivery, in ascending COUNT order. For the receiving side, the PDCP entity similarly resets RX_HFN and Next_PDCP_RX_SN to zero unless stored UE access stratum (AS) context is used, in which case it initializes based on transferred status to align with the source node. This status, including the first missing SN and a bitmap of delivered packets, is transferred from the source eNodeB to the target via X2 or S1 interfaces during handover preparation, enabling the target to request retransmissions of lost PDCP protocol data units (PDUs) via status reports. In 5G New Radio (NR), PDCP enhances robustness for ultra-reliable low-latency communication (URLLC) through data duplication introduced in Release 15. When configured with pdcp-Duplication, a PDCP entity associates with up to four unidirectional unacknowledged mode (UM) or acknowledged mode (AM) radio link control (RLC) entities. The transmitting PDCP entity duplicates each PDCP Data PDU by submitting identical copies—with the same PDCP SN and COUNT—to multiple activated RLC entities, such as primary and secondary paths, for parallel transmission. Duplication is activated or deactivated dynamically via MAC control elements. The receiving PDCP entity discards duplicates upon detection via matching COUNT values, forwarding only the first correctly received copy to upper layers after integrity protection and deciphering. In Release 19 (as of 2025), PDCP introduces support for indicating delay-critical PDUs to the RLC layer, enabling prioritized handling for applications like (XR) to meet stringent low-latency requirements. To prevent ciphering desynchronization, PDCP employs hyper frame number (HFN) management as part of the 32-bit value, where HFN occupies the higher bits and PDCP SN the lower bits. The transmitting entity increments TX_HFN when Next_PDCP_TX_SN wraps around the maximum SN (e.g., after 4095 for 12-bit SN), while the receiving entity adjusts RX_HFN based on the received SN relative to RX_DELIV and the reordering window to maintain alignment. Desynchronization risks arise if more than half the SN space is unacknowledged, potentially causing HFN overflow and incorrect deciphering; thus, implementations must monitor and avoid excessive unconfirmed PDUs, with re-establishment resetting HFN to zero for recovery. This mechanism ensures robust security even in scenarios with or delays. Upon bearer release, PDCP handles end-of-data by notifying upper layers implicitly through of all remaining buffered data. The receiving PDCP entity delivers stored PDCP SDUs to upper layers in ascending COUNT order—after header and —before discarding any undelivered PDUs and releasing the entity. For the transmitting side, upper layers are informed via the discard of untransmitted SDUs, with any ongoing timers (e.g., t-Reordering) stopped to finalize . This procedure guarantees no data is lost in buffered queues during deactivation, supporting seamless session termination.

Specifications

3GPP Standards

The Packet Data Convergence Protocol (PDCP) is standardized within the 3rd Generation Partnership Project () by the Technical Specification Group (TSG) (RAN) Working Group 2 (WG2), which develops specifications for radio interface layer 2 and layer 3 protocols, including PDCP. For Universal Mobile Telecommunications System (), the core PDCP specification is defined in 3GPP TS 25.323, which outlines the protocol's operation, while (RRC) aspects related to PDCP configuration and management are covered in TS 25.331; security aspects are specified in TS 33.102. These specifications evolved across Releases 4 to 7 to support enhanced packet data handling in networks. In Long-Term Evolution (LTE), the primary PDCP specification is provided in 3GPP TS 36.323, with RRC integration detailed in TS 36.331 to handle PDCP entity setup and control; these documents span Releases 8 to 17, and security aspects, including ciphering and integrity protection for PDCP, are specified in TS 33.401. For 5G New Radio (NR), PDCP is specified in TS 38.323, complemented by RRC procedures in TS 38.331 for PDCP management, and security in TS 33.501; introduced in Release 15 and onward, TS 38.323 received significant updates in version 16 to support packet duplication for improved reliability in dual connectivity scenarios. As of November 2025, the most recent versions of these specifications incorporate enhancements from Releases 18 and 19, enabling advanced features for 5G-Advanced deployments such as improved reduction and .

Header and PDU Formats

The Packet Data Convergence Protocol (PDCP) employs byte-aligned Protocol Data Units (PDUs) consisting of a header followed by , with the header structure varying based on the PDU type ( or ) and parameters such as the length of the PDCP Sequence Number () field. The basic header format is a 1- or 2-byte structure that includes a / (D/C) indicator (1 bit: 0 for control PDU, 1 for PDU), optional reserved bits (R, set to 0 and ignored upon reception), and the PDCP field, which supports variable lengths of 5, 7, 12, 15, or 18 bits depending on the radio bearer type and release (e.g., 7 or 12 bits in user plane, 12 or 18 bits in ). While no explicit plane indicator (user vs. ) appears in the header—the plane is determined by the PDCP entity —the format accommodates both user plane transfer and signaling radio bearer (SRB) operations. Reserved bits ensure future-proofing with unused fields in current releases. PDCP Data PDUs carry the Service Data Unit (SDU) from upper layers, preceded by the header and optionally followed by a 32-bit Message Authentication Code for Integrity (MAC-I) if integrity protection is enabled. The SDU may be header-compressed and/or ciphered prior to encapsulation, but the header itself remains unciphered to enable SN-based reordering. Header sizes range from 1 byte (e.g., 7-bit SN in LTE user plane) to 3 bytes (e.g., 18-bit SN in 5G NR data radio bearer), with the SN providing uniqueness for duplicate detection and reordering—though detailed SN usage in reordering is addressed elsewhere. For instance, in an LTE user plane configuration with a 12-bit SN, the 2-byte header allocates the first byte to the D/C bit (bit 8=1), three reserved bits (bits 7-5=000), and SN bits 11-4 (bits 4-1), while the second byte holds SN bits 3-0 (bits 8-5), followed directly by the SDU or MAC-I. Control PDUs, identified by D/C=0, use distinct formats without an SN in most cases and are not subject to ciphering or . There are three primary types: PDCP PDUs for RoHC (variable length, consisting of a 1-byte header with D/C=0 followed by the RoHC feedback packet), PDUs (variable length, comprising a 12- or 18-bit First Missing SDU (FMS) indicator followed by a of received SNs to signal losses), and Inter-RAT Report PDUs (specific to LTE-WLAN Aggregation, including FMS, highest received , and number of missing PDUs). Reserved bits ensure octet , and the total control PDU header overhead remains minimal (typically 1-2 bytes plus payload). These formats support robust operation across (TS 36.323) and 5G NR (TS 38.323), with NR introducing a 3-bit PDU Type (e.g., 000 for , 001 for RoHC ) immediately after D/C to differentiate control subtypes.
PDU TypeHeader Size (bytes)Key FieldsOptional Elements
Data PDU (7-bit , LTE UP)1D/C (1 bit), (7 bits)MAC-I (4 bytes)
Data PDU (12-bit , LTE/SRB)2D/C (1 bit), R (3 bits), (12 bits)MAC-I (4 bytes)
Data PDU (18-bit , )3D/C (1 bit), R (1 bit), (18 bits)MAC-I (4 bytes)
: RoHC Variable (1+)D/C (1 bit), RoHC packetNone
: Variable (2+)D/C (1 bit), PDU Type (3 bits), FMS (12/18 bits), None
: Inter-RAT ()Variable (3+)D/C (1 bit), PDU Type (3 bits), FMS, HRW, NMPNone
This table illustrates representative formats, highlighting the scalability of header overhead based on SN length and PDU purpose.

References

  1. [1]
  2. [2]
    Specification # 36.323 - 3GPP
    ... Packet Data Convergence Protocol (PDCP) specification. Status: Under change control. Type: Technical specification (TS). Initial planned Release: Release 8.
  3. [3]
    Specification # 38.323 - 3GPP
    Mar 22, 2017 · NR; Packet Data Convergence Protocol (PDCP) specification. Status: Under change control. Type: Technical specification (TS). Initial planned ...
  4. [4]
    Specification # 25.323 - 3GPP
    Jan 27, 2015 · Packet Data Convergence Protocol (PDCP) specification. Status: Under change control. Type: Technical specification (TS). Initial planned ...
  5. [5]
    [PDF] ETSI TS 138 323 V16.2.0 (2020-11)
    Packet Data Convergence Protocol (PDCP) specification. (3GPP TS 38.323 version 16.2.0 Release 16). TECHNICAL SPECIFICATION. Page 2. ETSI. ETSI TS 138 323 V16.
  6. [6]
    [PDF] ETSI TS 136 323 V15.0.0 (2018-07)
    ETSI TS 136 323 V15.0.0 (2018-07). 32. 3GPP TS 36.323 version 15.0.0 Release 15. 6.1.2 PDCP Control PDU. The PDCP Control PDU is used to convey: - a PDCP status ...
  7. [7]
    [PDF] ETSI TS 125 323 V16.0.0 (2020-09)
    The Packet Data Convergence Protocol shall perform the following functions: - header compression and decompression of IP data streams (e.g., TCP/IP and RTP/UDP/ ...
  8. [8]
    [PDF] ETSI TS 138 300 V17.13.0 (2025-07)
    3GPP TS 37.355: "LTE Positioning Protocol (LPP)". [44]. 3GPP TS 29.002 ... Packet Data Convergence Protocol (PDCP) and Service Data Adaptation Protocol (SDAP).
  9. [9]
    [PDF] ETSI TS 138 323 V18.1.0 (2024-05)
    Packet Data Convergence Protocol (PDCP) specification. (3GPP TS 38.323 version 18.1.0 Release 18). TECHNICAL SPECIFICATION. Page 2. ETSI. ETSI TS 138 323 V18.
  10. [10]
    [PDF] Overview of 3GPP Release 5
    TS 25.323. TS 25.331. Radio Resource Control (RRC) protocol ... Packet Data Convergence Protocol (PDCP) specification. Radio Resource Control ...
  11. [11]
    [PDF] ETSI TS 125 323 V5.0.0 (2002-03)
    The Packet Data Convergence Protocol shall perform the following functions: - header compression and decompression of IP data streams (e.g., TCP/IP and RTP/UDP/ ...
  12. [12]
    RFC 2507: IP Header Compression
    This document describes how to compress multiple IP headers and TCP and UDP headers per hop over point to point links.
  13. [13]
    [PDF] ETSI TS 136 323 V8.3.0 (2008-11)
    In this version of the specification, only the robust header compression protocol (ROHC), is supported. Every PDCP entity uses at most one ROHC instance. A PDCP ...
  14. [14]
    None
    Below is a merged summary of PDCP Security in LTE based on ETSI TS 133 401 V9.7.0, consolidating all information from the provided segments into a dense and comprehensive response. To maximize detail and clarity, I will use tables where appropriate (in CSV format within the text) and organize the content by key topics: Integrity Protection, Ciphering, Algorithms, Relevant Sections, and Useful URLs.
  15. [15]
    [PDF] ETSI TS 136 323 V13.6.0 (2017-07)
    For split bearers, each PDCP entity is associated with two AM RLC. Page 10. ETSI. ETSI TS 136 323 V13.6.0 (2017-07). 9. 3GPP TS 36.323 version 13.6.0 Release 13.
  16. [16]
    RFC 3095 - RObust Header Compression (ROHC) - IETF Datatracker
    This document specifies a highly robust and efficient header compression scheme for RTP/UDP/IP (Real-Time Transport Protocol, User Datagram Protocol, Internet ...Missing: PDCP LTE VoLTE
  17. [17]
    [PDF] ETSI TS 138 323 V15.8.0 (2021-09)
    The content of the PDF version shall not be modified without the written authorization of ETSI. The copyright and the foregoing restriction extend to ...
  18. [18]
    [PDF] ETSI TS 138 323 V17.4.0 (2023-04)
    The PDCP layer supports the following functions: - transfer of data (user plane or control plane);. Page 15. ETSI. ETSI TS 138 323 V17.4.0 (2023-04). 14. 3GPP ...
  19. [19]
    RFC 2507 - IP Header Compression - IETF Datatracker
    This document describes how to compress multiple IP headers and TCP and UDP headers per hop over point to point links.
  20. [20]
    [PDF] ETSI TS 125 323 V7.2.0 (2006-09)
    In this version of the specification, only two header compression protocol types, RFC 2507 [6] and RFC 3095 [8], are supported. The PDCP sublayer is configured ...Missing: IPHC | Show results with:IPHC
  21. [21]
    [PDF] ETSI TS 136 323 V16.4.0 (2021-10)
    - if PDCP duplication is activated: - if the PDCP PDU is a PDCP Data PDU: - duplicate the PDCP Data PDU and submit the PDCP Data PDU to the associated RLC ...
  22. [22]
    [PDF] ETSI TS 138 323 V17.5.0 (2023-07)
    [8]. IETF RFC 3095: "RObust Header Compression (ROHC): Framework and four profiles: RTP,. UDP, ESP and uncompressed". [9]. IETF RFC 4815: "RObust Header ...<|separator|>
  23. [23]
    [PDF] The concept of robust header compression, ROHC - Effnet AB
    It is possible to compress those headers, providing in many cases more than 90% savings, and thus save the bandwidth and use the expensive resource efficiently.
  24. [24]
    [PDF] Voice Quality Evaluation for Wireless Transmission with ROHC ...
    Our evaluations of RObust Header Compression (ROHC) indicate that with ROHC the header size is reduced by approximately 85%, which for the considered GSM ...
  25. [25]
    [PDF] ETSI TS 136 323 V16.5.0 (2022-01)
    [6]. 3GPP TS 33.401: "3GPP System Architecture Evolution: Security Architecture". ... 3GPP TS 36.323 version 16.5.0 Release 16. 5.7. Integrity Protection and ...
  26. [26]
    [PDF] ETSI TS 133 501 V17.5.0 (2022-05)
    This Technical Specification (TS) has been produced by ETSI 3rd Generation Partnership Project (3GPP). The present document may refer to technical ...
  27. [27]
    [PDF] ETSI TS 133 401 V15.7.0 (2019-05)
    "00002" EEA0 Null ciphering algorithm. "00012" 128-EEA1 SNOW 3G based algorithm. "00102" 128-EEA2 AES based algorithm. "00112" 128-EEA3 ZUC based algorithm. The ...
  28. [28]
    [PDF] ETSI TS 138 323 V17.3.0 (2023-01)
    - For split bearers, each PDCP entity is associated with two UM RLC entities (for same direction), four UM RLC entities (two for each direction), or two AM RLC ...
  29. [29]
    [PDF] ETSI TS 138 323 V18.4.0 (2025-01)
    The PDCP layer supports the following functions: - transfer of data (user plane or control plane);. - maintenance of PDCP SNs;. - header compression and ...
  30. [30]
    [PDF] ETSI TS 136 323 V18.0.0 (2024-05)
    3GPP TS 36.323 version 18.0.0 Release 18 d) t-StatusReportType2. The duration ... CR on PDCP structure for split bearer and LWA bearer. 15.3.0. 2019-06 RP ...
  31. [31]
    [PDF] ETSI TS 138 323 V18.5.0 (2025-04)
    The PDCP layer supports the following functions: - transfer of data (user plane or control plane);. - maintenance of PDCP SNs;. - header compression and ...Missing: URLLC | Show results with:URLLC
  32. [32]
    [PDF] ETSI TS 136 323 V17.1.0 (2022-08)
    For DAPS bearers, when submitting PDCP PDUs to lower layers, the transmitting PDCP entity shall: - if the uplink data switching has not been requested by upper ...
  33. [33]
    [PDF] ETSI TS 138 323 V17.1.0 (2022-08)
    When upper layers reconfigure the PDCP entity to release DAPS, the UE shall: - release the ciphering function associated to the released RLC entity for the ...Missing: management | Show results with:management<|separator|>
  34. [34]
    RAN WG2 - 3GPP
    Within the 3GPP Technical Specification Group Radio Access Network (TSG RAN), RAN WG2 (RAN2) is in charge of the Radio Interface architecture and protocols ...
  35. [35]
    Specification # 25.331 - 3GPP
    Mar 21, 2017 · A NW or UE vendor wishing to implement/support the Second Broadcast Channel must use the version 12.8.0 (or later) of TS 25.331.
  36. [36]
    Specification # 36.331 - 3GPP
    Aug 28, 2020 · A NW or UE vendor wishing to implement/support the SSTD measurement reporting must use the version 13.4.0 (or later) of TS 36.331.
  37. [37]
    Specification # 33.401 - 3GPP
    Jul 4, 2016 · Rel-8 LTE 3G Long Term Evolution - Evolved Packet System RAN part. RP ... ZUC EEA3 and EIA3 (new Encryption & Integrity EPS security Algorithms).Missing: SNOW AES
  38. [38]
    Specification # 38.331 - 3GPP
    Mar 22, 2017 · Specification 38.331 is a technical specification for NR Radio Resource Control (RRC) protocol, under change control, and planned for Release ...
  39. [39]
    Release 18 - 3GPP
    Release 18 specifies further improvements of the 5G-Avanced system. These improvements consist both in enhancements of concepts/Features introduced in the ...Missing: PDCP | Show results with:PDCP
  40. [40]
    [PDF] TS 138 323 - V16.6.0 - 5G; NR - ETSI
    - For split bearers, each PDCP entity is associated with two UM RLC entities (for same direction), four UM RLC entities (two for each direction), or two AM RLC ...