PDCP PDU Formats, SN, COUNT, and Parameters
In NR, the PDCP specification defines the protocol data units that carry user-plane data, control-plane data, status feedback, and security-related information between PDCP peers. This page is the PDCP format-and-field reference for those PDU families.
Use it to check PDCP Data PDU formats, PDCP Control PDU formats, 12-bit and 18-bit PDCP SN, 32-bit COUNT construction, and the meaning of key PDCP header and control fields. It stays centered on the format and parameter view, then links out to runtime behavior, security, and runtime-control pages when the question moves beyond the header itself.
Quick facts
| Technology | 5G NR |
|---|---|
| Topic | PDCP PDU formats, sequence numbers, COUNT, and parameters |
| Main spec areas | TS 38.323 sections 6.1, 6.2, and 6.3 |
| PDU families | PDCP Data PDU and PDCP Control PDU |
| SN lengths | 12-bit and 18-bit PDCP SN, depending on bearer type and upper-layer configuration |
| COUNT model | 32-bit COUNT composed from HFN and PDCP SN |
| Key fields | PDCP SN, D/C, PDU Type, MAC-I, FMC, Bitmap, FDC, Discard Bitmap, SDU Type, KNRP-sess ID |
Contents
- Introduction to PDCP PDU Formats
- What This Page Covers
- PDCP PDU Types
- PDCP Data PDU Formats
- PDCP Control PDU Formats
- PDCP SN Sizes and Applicability
- COUNT Construction and Security Use
- PDCP Parameter Field Reference
- Configuration References from Upper Layers
- What This Page Does Not Cover in Detail
- References
- FAQ
- Related PDCP Pages
Introduction to PDCP PDU Formats
The PDCP format view defines the protocol data units that move between PDCP peers and the fields that let those PDUs be interpreted correctly. That includes the split between Data PDU and Control PDU families, the configuration-dependent PDCP SN, and the 32-bit COUNT value that bridges visible sequence fields to the larger runtime context across different radio-bearer types.
This is the page to open when the question is “what does this PDCP header mean?” rather than “what procedure is the protocol running?” For procedure flow, continue into data transfer; for security use of COUNT and MAC-I, continue into ciphering and integrity.
What This Page Covers
| Area | Main meaning |
|---|---|
| Protocol data units | Which PDCP PDU families exist and what they can carry. |
| Format variants | How Data PDU and Control PDU formats differ by bearer type and use case. |
| SN and COUNT | How PDCP SN length changes by configuration and how COUNT is built from HFN plus PDCP SN. |
| Field-level parameters | What the main PDCP header and control fields mean in practice. |
| Configuration references | Which names come from upper-layer configuration rather than from the PDU format itself. |
PDCP PDU Types
PDCP splits its peer-facing traffic into two main PDU families: Data PDU and Control PDU. The first carries normal payload-bearing traffic, while the second carries control-side feedback and status information.
| PDU type | What it can carry | Practical note |
|---|---|---|
| PDCP Data PDU | User-plane data, control-plane data, and MAC-I where applicable. | Main transport PDU family used across SRB, DRB, MRB, and sidelink variants. |
| PDCP Control PDU | PDCP status report, interspersed ROHC feedback, EHC feedback, UDC feedback, or PDCP SN gap report. | Used for control-side feedback and status exchange rather than normal payload carriage. |
PDCP Data PDU Formats
Data PDU formats vary by bearer type, configured SN size, and sidelink or non-sidelink context. The big differences are whether the format is SRB, DRB / MRB, or sidelink-specific, whether MAC-I is present, and whether the configured PDCP SN is 12 bits or 18 bits.
If you need the bearer-side context behind those format differences, open radio bearers first, then return here to map the bearer type to the actual PDCP header family.
| Format family | Applicable bearer types | Key fields | Practical reading note |
|---|---|---|---|
| SRB Data PDU | SRBs | D/C, PDCP SN, Data, MAC-I when integrity applies | Control-plane oriented format with integrity context. |
| DRB / MRB Data PDU with 12-bit SN | Configured DRB or MRB cases using 12-bit SN | D/C, PDCP SN, Data | Compact format when 12-bit SN is configured. |
| DRB / MRB Data PDU with 18-bit SN | Configured DRB or MRB cases using 18-bit SN | D/C, PDCP SN, Data | Larger SN field for wider sequence space. |
| Sidelink groupcast / broadcast and sidelink SRB0 / SRB4 | Sidelink groupcast, broadcast, sidelink SRB0, and sidelink SRB4 | D/C, PDCP SN, SDU Type, KNRP-sess ID, Data where applicable | Sidelink-specific format family with additional session-oriented context. |
| Sidelink SRB unicast | Sidelink SRBs for unicast | D/C, PDCP SN, Data, MAC-I where applicable | Closer to SRB-style signaling usage. |
| Sidelink DRB unicast with 12-bit SN | Sidelink DRBs for unicast with 12-bit SN | D/C, PDCP SN, Data | Unicast sidelink payload with compact SN. |
| Sidelink DRB unicast with 18-bit SN | Sidelink DRBs for unicast with 18-bit SN | D/C, PDCP SN, Data | Unicast sidelink payload with extended SN. |
PDCP Control PDU Formats
Control PDUs are distinct from Data PDUs because they exist to carry status, feedback, and gap-reporting information rather than normal payload. The most operationally important examples are the PDCP status report and the PDCP SN gap report.
| Control PDU family | Where it is used | Key fields | What it supports |
|---|---|---|---|
| PDCP status report | UM DRBs, AM DRBs including sidelink DRBs for unicast, and AM MRBs | D/C, PDU Type, FMC, Bitmap | Supports status-based receive and recovery procedures. |
| Interspersed ROHC feedback | ROHC-enabled PDCP contexts | D/C, PDU Type, feedback payload | Supports ROHC operation rather than normal payload transfer. |
| EHC feedback | EHC-enabled PDCP contexts | D/C, PDU Type, feedback payload | Supports Ethernet header-compression feedback exchange. |
| UDC feedback | UDC-enabled PDCP contexts | D/C, PDU Type, feedback payload | Supports uplink data compression or decompression control. |
| PDCP SN gap report | Contexts using SN gap reporting | D/C, PDU Type, FDC, Discard Bitmap | Supports gap and discard reporting for recovery-related handling. |
PDCP SN Sizes and Applicability
PDCP SN is the sequence field carried in the PDU, but its size depends on bearer type and upper-layer configuration. In practice, the main question is whether the format is using a 12-bit or 18-bit SN, because that changes both the visible header and the HFN size inside COUNT.
The bearer mapping behind those SN choices is easiest to read alongside the radio-bearer model, especially when you are switching between SRB, DRB, MRB, and sidelink contexts.
| SN length | Applicable bearer cases | COUNT implication | Practical note |
|---|---|---|---|
| 12-bit PDCP SN | SRBs and configured DRB, MRB, or sidelink cases where 12-bit SN applies | HFN size = 20 bits | Also the only SN length used for NR sidelink groupcast and broadcast sidelink DRBs. |
| 18-bit PDCP SN | Configured UM or AM DRBs, including sidelink DRBs for unicast, plus configured MRB cases | HFN size = 14 bits | Used when wider sequence space is required. |
COUNT Construction and Security Use
COUNT is a 32-bit runtime value built from HFN plus PDCP SN. It is one of the key bridges between the PDU format page and the PDCP security page, because the security procedures consume COUNT rather than only the visible SN field.
Operationally, this matters because PDCP needs a larger sequence-aware context than the visible header alone can provide. The visible PDCP SN is what you decode in the PDU, but COUNT is what the runtime model and security procedures consume.
| COUNT item | Main meaning |
|---|---|
| COUNT length | COUNT is 32 bits. |
| Construction | COUNT is built from HFN plus PDCP SN. |
| HFN size rule | HFN size is 32 minus the configured PDCP SN length. |
| Security use | COUNT is used in ciphering and integrity procedures as the sequence-aware runtime context. |
| Operational value | COUNT bridges visible PDU sequence fields to the larger PDCP runtime progression model. |
PDCP Parameter Field Reference
This field dictionary is the quick lookup part of the page. Use it when the question is not “which procedure is running?” but “what does this field mean in this PDU family?”
| Field | Where it appears | Main meaning | Related reading |
|---|---|---|---|
| PDCP SN | Data PDUs and COUNT-related interpretation | Visible sequence field carried in the PDU. | SN sizes and COUNT construction |
| Data | Data PDU families | Payload carried through the PDCP peer interface. | Data PDU formats |
| MAC-I | Integrity-protected Data PDU contexts | Integrity-related field used in protected PDCP contexts. | Ciphering and integrity page |
| COUNT | Runtime security and sequence context | 32-bit value made from HFN and PDCP SN. | State variables and security pages |
| R | Reserved positions in PDCP format figures | Reserved bit or bits in the format. | Specific PDU figure interpretation |
| D/C | Data and Control PDU families | Distinguishes Data PDU versus Control PDU. | PDU type split |
| PDU Type | Control PDU families | Identifies which control-PDU subtype is carried. | Control PDU formats |
| FMC | PDCP status report | First missing COUNT context in status reporting. | PDCP status report |
| Bitmap | PDCP status report | Status bitmap that accompanies FMC in control reporting. | PDCP status report |
| Interspersed ROHC feedback | ROHC Control PDU | Feedback payload used by ROHC operation. | ROHC page |
| SDU Type | Sidelink-specific Data PDU variants | Identifies sidelink SDU-type context. | Sidelink-specific formats |
| KNRP-sess ID | Sidelink-specific Data PDU variants | Session-oriented sidelink identifier field. | Sidelink-specific formats |
| FE | Feedback-related Control PDU formats | Feedback-extension style field used in feedback payload interpretation. | Feedback PDUs |
| FDC | PDCP SN gap report | Field identifying the first discard COUNT context for the gap report. | PDCP SN gap report |
| Discard Bitmap | PDCP SN gap report | Bitmap accompanying FDC in gap-report signaling. | PDCP SN gap report |
Configuration References from Upper Layers
Some of the most important PDCP format decisions do not live in the header itself. They come from upper-layer configuration, especially from RRC. That is why this page should stay focused on the PDU structure while still pointing out the configuration names readers are likely to see in logs or configuration dumps.
| Configuration name | Role | Boundary note |
|---|---|---|
| pdcp-SN-SizeUL | Upper-layer configuration of uplink PDCP SN size. | Configured outside the PDU format page itself. |
| pdcp-SN-SizeDL | Upper-layer configuration of downlink PDCP SN size. | Configured outside the PDU format page itself. |
| sl-PDCP-SN-Size | Upper-layer configuration of sidelink PDCP SN size. | Configured outside the PDU format page itself. |
| Ciphering and integrity configuration | Upper layers provide algorithm and key context used by PDCP security procedures. | Belongs to RRC and security configuration references, not to the bare PDU format. |
What This Page Does Not Cover in Detail
PDCP transmit and receive procedures
Open the runtime behavior page when the question is about processing flow, buffering, reordering, or delivery rather than header format.
Reordering and timers
Use the runtime-control page for TX_NEXT, RX_NEXT, RX_DELIV, RX_REORD, Window_Size, and timer interpretation.
Full security procedure behavior
Use the security page when the question shifts from COUNT fields to ciphering, integrity, and receive-side validation.
Service and feature boundaries
Use the service map when the question is about where PDCP fits functionally rather than how a PDU is built.
References
- ETSI TS 138 323 V18.4.0, NR PDCP specification
- 3GPP TS 38.331 V18.5.1, NR RRC configuration context for PDCP SN sizing and security configuration
FAQ
What is the difference between a PDCP Data PDU and a PDCP Control PDU?
A PDCP Data PDU carries normal payload-bearing traffic, while a PDCP Control PDU carries status, feedback, or SN-gap reporting information.
Which NR bearers use 12-bit PDCP SN and which use 18-bit PDCP SN?
PDCP SN can be 12 bits or 18 bits depending on bearer type and upper-layer configuration. Sidelink groupcast and broadcast sidelink DRBs use only 12-bit PDCP SN.
How is COUNT built in NR PDCP?
COUNT is a 32-bit value built from HFN plus PDCP SN, with HFN size equal to 32 minus the configured SN length.
Is COUNT used for PDCP ciphering and integrity?
Yes. COUNT is one of the core inputs used by PDCP ciphering and integrity procedures.
Which fields appear in a PDCP status report?
A PDCP status report uses a Control PDU format with fields such as D/C, PDU Type, FMC, and Bitmap.
What is the difference between FMC and FDC in PDCP control PDUs?
FMC belongs to PDCP status reporting, while FDC belongs to PDCP SN gap reporting with the Discard Bitmap.