5G PDCP Protocol
From 3glteinfo telecom reference
PDCP is the Packet Data Convergence Protocol in the NR radio protocol stack. It sits between upper layers and RLC, and it is the layer where sequence-aware delivery, reordering, security, compression, duplication support, and several advanced bearer-handling functions become visible.
This page is the PDCP foundation reference for 3GLTEInfo. It maps the protocol from the viewpoint of architecture, services, functions, procedures, security, compression, duplication, PDU formats, PDCP SN, COUNT, and runtime-control concepts so engineers can understand the role of PDCP before moving into deeper child pages across RLC, RRC, and radio-bearer context.
Quick facts
| Technology | 5G NR |
|---|---|
| Area / Protocol | PDCP (Packet Data Convergence Protocol) |
| Main spec | 3GPP TS 38.323 V18.1.0 |
| ETSI publication | ETSI TS 138 323 V18.1.0 (2024-05) |
| Release | Release 18 |
| Stack position | Between upper layers and RLC in the NR radio protocol stack |
| Main concerns | Architecture, services, functions, data transfer, reordering, security, compression, duplication, PDU formats, SN, COUNT, and runtime control |
| Key runtime theme | PDCP state variables, constants, and timers control delivery, reordering, and procedure flow |
PDCP Topics
Overview and Architecture | Services and Functions | Data Transfer, Reordering and Delivery | State Variables, Constants and Timers | Ciphering and Integrity Protection | PDU Formats, SN, COUNT and Parameters | Entity Handling, Discard, Status and Recovery | PDCP Duplication and Routing | ROHC Header Compression | Ethernet Header Compression (EHC) | Uplink Data Switching and UDC
Contents
- Introduction to 5G PDCP
- Where PDCP Fits in the NR Protocol Stack
- PDCP Architecture Overview
- PDCP Entities and Bearer Context
- Services Provided to Upper Layers
- Services Expected from Lower Layers
- Core PDCP Functions
- PDCP Data Transfer, Reordering, and Delivery
- PDCP Security: Ciphering and Integrity Protection
- Header Compression and Decompression in PDCP
- PDCP Duplication, Routing, and Advanced Data Handling
- PDCP PDUs, PDCP SN, COUNT, and Parameters
- State Variables, Constants, and Timers
- Why PDCP Matters in 5G NR
- References
- FAQ
- Related PDCP Pages / Next Reading
PDCP topic map
Use this page as the top-level PDCP reference. The order follows the broad structure of TS 38.323: general concepts first, then services and functions, then procedures, then formats, parameters, and runtime-control values. When the question starts from setup or bearer role rather than live packet behavior, pair this page with RRC and radio bearers.
PDCP foundations
- Overview and Architecture Start here for PDCP position in the NR stack, architecture scope, and structural model.
- Services and Functions Use this for service exposure, functional boundaries, and the main PDCP capability map.
- Entity Handling, Discard, Status and Recovery Open this for PDCP entity handling, discard, status reporting, and recovery-oriented procedures.
Transfer and delivery
- Data Transfer, Reordering and Delivery Read this for transmit flow, receive flow, reordering, duplicate handling, and delivery decisions.
- PDCP Duplication and Routing Use this for duplication, duplicate discard, routing support, and advanced bearer data handling.
- Uplink Data Switching and UDC Open this for uplink data switching and uplink compression or decompression capabilities.
Security and compression
- Ciphering and Integrity Protection Read this for ciphering, deciphering, integrity protection, and integrity verification.
- ROHC Header Compression Use this for ROHC-focused compression behavior and protocol efficiency.
- Ethernet Header Compression (EHC) Open this for Ethernet Header Compression in Release 18 PDCP.
Formats and runtime control
- PDU Formats, SN, COUNT and Parameters Use this for PDCP PDU types, format interpretation, SN handling, COUNT, and key parameters.
- State Variables, Constants and Timers Open this when reading runtime state, timer behavior, and delivery-control context.
| PDCP topic area | Main concern | Best next page |
|---|---|---|
| Architecture and structure | Where PDCP sits and how the protocol is organized. | Overview and Architecture |
| Service and function scope | What PDCP offers and what it actually does. | Services and Functions |
| Transfer and delivery | Transmit, receive, reorder, and deliver behavior. | Data Transfer, Reordering and Delivery |
| Security and compression | Ciphering, integrity, ROHC, EHC, and compression support. | Ciphering and Integrity Protection |
| Formats and runtime control | PDU structure, SN, COUNT, variables, constants, and timers. | PDU Formats, SN, COUNT and Parameters |
Introduction to 5G PDCP
PDCP is the Packet Data Convergence Protocol for NR. It is the radio-side protocol layer that connects upper-layer data handling to RLC while adding sequence-aware behavior, security processing, compression capabilities, duplication support, and delivery control.
This page is intentionally broad rather than section-by-section. It explains what PDCP is, where it fits, what services and functions it owns, how major procedures connect, and which deeper PDCP references engineers should open next.
Where PDCP Fits in the NR Protocol Stack
PDCP is part of the NR radio protocol stack and sits between upper layers and RLC. Conceptually, upper layers hand data into PDCP, PDCP applies its sequence, security, compression, and delivery logic, and the processed data is then passed to RLC for lower-layer transport handling.
That placement is why PDCP is so important. It is high enough in the stack to apply security and compression, but low enough to shape how radio-bearer traffic is ordered, duplicated, discarded, or released upward.
Upper-layer SDU -> PDCP processing -> RLC PDCP Architecture Overview
The architecture part of TS 38.323 explains PDCP in terms of structure, services, and functional placement. For a pillar page, the main point is that PDCP is not only a security layer or a sequence layer. It is a protocol block that combines transfer, protection, reordering, and bearer-aware data handling in one coherent entity model.
The details of how PDCP is split across different bearer contexts and deployment options belong on child pages. At this overview level, it is enough to see PDCP as the layer that prepares data for RLC while preserving the state and logic needed for correct receive-side behavior.
PDCP Entities and Bearer Context
PDCP behavior is tied to PDCP entities and the radio-bearer context in which those entities operate. The protocol does not act as one global data stream. Instead, PDCP procedures, state, security, and delivery behavior are all anchored to the relevant entity and bearer configuration.
From an engineering viewpoint, this is why entity handling matters. Establishment, re-establishment, release, suspend, resume, and reconfiguration determine how PDCP state is started, preserved, or reset. Those lifecycle topics belong in the deeper entity-handling page, but this pillar page should make the dependency clear.
Services Provided to Upper Layers
The service view in TS 38.323 can be read as the upward-facing contract of PDCP. PDCP provides a data-transfer service that is more than raw forwarding: it can condition delivery through sequence-aware behavior, security, compression, discard, and duplication-related handling depending on the configured bearer and feature set.
| Service view | Meaning for engineers |
|---|---|
| Provided to upper layers | Transfer of data and orderly delivery behavior according to PDCP configuration. |
| Security services | Ciphering and integrity functions applied at PDCP where configured. |
| Efficiency services | Header compression, decompression, and related compression capabilities. |
| Delivery conditioning | Reordering, duplicate discard, out-of-order delivery where configured, and discard behavior. |
| Advanced bearer handling | Duplication, routing support, uplink switching, and recovery-oriented handling. |
Services Expected from Lower Layers
PDCP depends on lower layers to carry its protocol units and support the delivery context that PDCP procedures assume. In practical NR stacks, that means PDCP relies on RLC below it, with the bearer mode and lower-layer behavior affecting how PDCP data ultimately reaches the peer side. In many traces, MAC and PHY still explain why PDCP behavior looks delayed or uneven.
This dependency is why PDCP should never be read in isolation. The best way to understand observed PDCP behavior is to read it together with the corresponding RLC configuration, RRC bearer setup, and radio-stack context.
Core PDCP Functions
This is the functional map of PDCP. It is the layer where transfer, security, compression, ordering, duplication-aware handling, and certain advanced data-handling functions are collected into one bearer-oriented protocol block.
| PDCP function | Role in the protocol |
|---|---|
| Transfer of data | Move upper-layer data through PDCP toward RLC and back upward on the receive side. |
| Header compression and decompression | Reduce transmitted overhead and restore headers on receive. |
| Ciphering and deciphering | Apply or remove confidentiality protection at PDCP. |
| Integrity protection and verification | Protect and verify control-plane signaling integrity where configured. |
| Maintenance of PDCP SN | Support sequence-aware delivery, duplicate handling, COUNT construction, and runtime progression. |
| Reordering and delivery control | Manage receive-side reordering and release data in the required order unless out-of-order delivery is configured. |
| SDU discard | Discard data when configured procedure rules require it. |
| Duplication and duplicate discard | Support duplicated transfer paths and suppress repeated delivery. |
| Routing support | Support advanced bearer handling and path selection behavior. |
| Advanced compression and switching | Cover EHC, uplink data switching, and uplink data compression or decompression features in Release 18 scope. |
| Capability area | Representative functions | Why it matters |
|---|---|---|
| Delivery and ordering | Transfer of data, reordering, out-of-order delivery, duplicate discard | Controls what the receiver releases upward and when. |
| Security | Ciphering, deciphering, integrity protection, integrity verification | Makes PDCP the practical radio-side security execution layer. |
| Efficiency | ROHC, EHC, uplink data compression and decompression | Reduces overhead and supports more efficient transport behavior. |
| Advanced bearer handling | Duplication, routing support, uplink data switching | Supports more complex path and redundancy behavior. |
PDCP Data Transfer, Reordering, and Delivery
The procedure side of PDCP should be read as a linked transmit and receive system. On transmit, PDCP accepts data from upper layers, applies the required processing, and sends PDCP PDUs downward. On receive, PDCP checks, reorders, discards duplicates where required, and decides when data is ready to deliver upward.
Reordering is one of the most important receive-side concepts. It is the mechanism that stops early upward release when later data has arrived ahead of earlier data. At overview level, the main control point is t-Reordering, which limits how long the receiver waits before releasing data according to procedure rules. The dedicated transfer page and the runtime-control page carry the deeper walkthrough.
Data Transfer, Reordering and Delivery
Open the dedicated page for transmit flow, receive flow, reordering, duplicate handling, and upward delivery decisions.
State Variables, Constants and Timers
Use the runtime-control page when delivery timing, reordering progression, and receive-side state need more detail.
PDCP Security: Ciphering and Integrity Protection
PDCP is the protocol layer where confidentiality and integrity functions are applied in NR. That includes ciphering and deciphering as well as integrity protection and verification where configured. This is a defining part of PDCP rather than an optional side topic.
For a pillar page, the key point is not the algorithm details. It is the architectural role: PDCP is where the protected protocol view is formed before traffic is handed downward to RLC, and where receive-side verification and reverse processing happen on the way back up.
Header Compression and Decompression in PDCP
Header compression is one of PDCP’s efficiency functions. Release 18 PDCP includes support areas such as ROHC and EHC, and the protocol also covers related compression or decompression capabilities including uplink data compression behavior.
For engineers, the practical takeaway is that PDCP is not only about security and ordering. It is also the layer that can reduce overhead before data is transported further down the stack and then restore the protocol view on reception.
ROHC Header Compression
Use the ROHC page when compression context, profile behavior, and decompression matter more than the general PDCP overview.
Ethernet Header Compression (EHC)
Open the EHC page for Ethernet-specific compression behavior within Release 18 PDCP.
Uplink Data Switching and UDC
Use this when uplink compression, decompression, and path-specific data handling become the main question.
PDCP Duplication, Routing, and Advanced Data Handling
PDCP also covers the more advanced side of bearer handling. That includes PDCP duplication, duplicate PDU discard, routing support, uplink data switching, and uplink data compression or decompression functions.
These features matter when PDCP is used for more than single-path in-order delivery. They let the layer support redundancy, path-aware behavior, and advanced data handling while still controlling what is ultimately delivered upward.
PDCP PDUs, PDCP SN, COUNT, and Parameters
PDCP defines its own protocol data units, their formats, and the key parameters needed to interpret them. This includes data PDUs, control PDUs, and the protocol fields that drive trace reading and runtime behavior.
Two core concepts in this area are PDCP SN and COUNT. PDCP SN anchors sequence-aware behavior such as ordering and duplicate handling, while COUNT is a foundational runtime concept tied to protected PDCP operation. The pillar page should flag both clearly without turning into a field-level decode guide.
| Format concept | Why it matters |
|---|---|
| PDCP data PDU | Carries user or control-plane payload through the PDCP data path. |
| PDCP control PDU | Supports dedicated control behavior defined by the protocol. |
| PDCP SN | Drives ordering, duplicate detection, and receive-side progression. |
| COUNT | Core runtime value tied to protected PDCP operation and sequence context. |
| Parameters | Define how formats and procedures are interpreted in live operation. |
State Variables, Constants, and Timers
PDCP also has its own runtime-control model. The protocol does not rely only on static procedures or packet formats. It also defines state variables, constants, and timers that determine how transmit and receive progression, reordering, protection context, and delivery behavior are controlled in live operation.
At overview level, the most important message is that PDCP runtime behavior is stateful. When reading traces or implementation behavior, engineers should expect sequence progression, reordering decisions, discard behavior, and release timing to be shaped by these defined control values.
Why PDCP Matters in 5G NR
PDCP matters because it brings together several functions that would otherwise be scattered across the stack. It is the layer that combines security, ordering, delivery control, compression, and advanced bearer handling while still remaining close enough to the radio stack to coordinate with RLC and bearer-specific behavior.
In practical engineering work, PDCP is the layer that explains why data was held for reordering, why duplicated traffic was not delivered twice, why protected traffic cannot be read below PDCP, why compression changed the observed payload view, and why bearer context changes can alter runtime delivery behavior.
References
- 3GPP TS 38.323 V18.1.0, NR Packet Data Convergence Protocol (PDCP) specification
- ETSI TS 138 323 V18.1.0 (2024-05), NR PDCP Release 18 publication
- 3GPP TS 38.300 V19.2.0, overall NR and NG-RAN description for architectural context
- 3GPP TS 38.331 V18.5.1, NR RRC specification for bearer and configuration context
FAQ
Is PDCP mainly a security layer?
No. Security is a major part of PDCP, but PDCP also handles transfer, reordering, sequence-aware behavior, compression, duplication, duplicate discard, and advanced bearer data handling.
Why does PDCP need reordering if RLC already exists below it?
Because PDCP has its own receive-side delivery rules and sequence-aware behavior. RLC and PDCP solve different problems at different layers, and PDCP still needs to decide when data is ready for upward release.
What is the difference between PDCP SN and COUNT?
PDCP SN is the visible sequence concept used for ordering and progression, while COUNT is a broader runtime value associated with protected PDCP operation and sequence context.
Does PDCP support compression only through ROHC?
No. Release 18 scope also includes EHC and related uplink compression or decompression capabilities in addition to ROHC.