5G/NR -  PDCP  





NR PDCP is almost same as LTE PDCP. So if you are already faimiliar with LTE, you wouldn't need much of extra study to understand NR PDCP. If you are new to overall functionality of PDCP, I would suggest you to go through LTE PDCP page first. Since I wouldn't see any NR test equipment and UE in near future, I wouldn't be able to put much of practical information on NR PDCP until the equipment and UE are available. Your knowledge on LTE PDCP would help you understand NR PDCP.

Actually a large portions of the contents on this page comes from the direct copy of LTE PDCP page and I would try to highlight those parts which is unique to NR PDCP.

Overview / Overall Functionality

The data coming into the box (eNB or UE) first go through PDCP and then gets into RLC (Downlink Path). Data waiting in RLC trying to go out to the outside world has to go through PDCP to reach outside world(Uplink Path).


In the case when everything goes OK, you don't see any problems in protocol stack and just check protocol log you may think the function of PDCP looks simple and all it does is just to add/remove a small header to each packet and send/recieve it from/to RLC. But if you list up all the detailed functions of PDCP, you would get pretty long list as shown below. I would suggest you to go through this list over and over until you can write down this list from memory. Of course, you don't need to memorize these like you prepare the exam. Just read through this list as often as possible and try to elaborate each of these items in your own words.

  • Transfer of data (user plane or control plane)
  • Maintenance of PDCP SNs
  • Header compression and decompression using the ROHC (Robust Header Compression)
  • Ciphering and deciphering of user plane data and control plane data
  • Integrity protection and integrity verification of control plane data
  • Timer based SDU discard
  • For split bearers, routing or duplication
  • Reordering and in-order delivery
  • Duplicate discarding

As in other layers, let's start looking into the diagram from 3GPP specification (TS 38.323). The first diagram is as follows.


What are we supposed to do ?

Yes, Verbalize it (describe it).  i.e, explain the diagram in your own words.


In the following diagram, you see that PDCP is directly connected to RLC Layer (RLC UM and RLC AM).

Do you find anything strange or missing ?

Yes, PDCP has no connection to RLC TM mode, meaning RLC TM mode data does not go through PDCP.

< 38.323 - Figure 4.2.1-1: PDCP layer, structure view >

Following Diagram would give you more detailed information about PDCP Operation. Of course, all of the these functionality is listed in the 3GPP specification, but it would not become yours unless you combine these diagrams and the written descriptions in your own words.

Now let's follow through the diagram from left side.

  • i) Data coming into PDCP first stored in a transmission buffer and go through "Sequence Numbering" Procedure. It means that PDCP add "Sequence Number" to each of incoming data block. Once it add 'Sequence Number', it has to manage the number. On reciever side, we can figure out many things like "Is the data getting delivered in order ? Is there any duplicate data ? How can I combine the multiple chunks of data block into an original big chunk data ?"
  • ii) Then it goes through Header Compression. But it says "this applies only to U-plane data". It means that Signaling Message does not go through this Header Compression. Even though not shown in this diagram, we can disable Header Compression even for U-plane data (e.g, IP Packet data).
  • iii) From here we see two paths, one through "Integrity/Ciphering" and the other one directly goes to the last step. Integrity Protection applies only to C-Plane data (C-Plane data means RRC/NAS message, i.e DCCH data, not DTCH data). Again you may disable "Integrity Protection" setp by applying a signaling message but we need to wait until RRC/NAS specification will come out for the details.
  • iv) Then it goes to Ciphering process. Ciphering applies both C-Plane and U-Plane Data. Ciphering process can also may be disabled by applying a signaling message but we need to wait until RRC/NAS specification will come out for the details.
  • v) Next, a PDCP header is added
  • vi) If Split bearer is established, the PDCP routs the packet to the intended bearer.

The other side (right side, receiving side) is simply reverse process of transmission process. So I will leave this to the readers to interpret the diagram.

<  38.323 - Figure 4.2.2-1: PDCP layer, functional view >

Even though the overal functionaliby of NR PDCP is very similar to LTE PDCP, there is slight difference between them. I highlighted the differences in the following diagram.

PDCP Data Structure

Overall PDCP PDU structure is similar to LTE except some details as follows :

  • In many cases, SN bit length in NR is larger than the one in LTE
  • Optionally MAC-I can be added to DRB as well as SRB, implying that even DRB can apply Integrity Protection.

< Data PDU for SRB >

<  38.323 - Figure PDCP Data PDU format for SRBs >

Following shows the comparision between NR SRB PDCP and LTE SRB PDCP data structure. You will see that overall structure is same except that SN length in NR is much larger than LTE SRB PDCP.

< Data PDU for DRB >

<  38.323 - Figure PDCP Data PDU format with 12 bits PDCP SN >


<  38.323 - Figure PDCP Data PDU format for DRBs with 18 bits PDCP SN >


<  38.323 - Table 6.3.7-1: D/C field >


<  38.323 - Table 6.3.2-1: PDCP SN length >

< Control PDU >

<  38.323 - Figure PDCP Control PDU format for PDCP status report >


<  38.323 - Figure PDCP Control PDU format for interspersed ROHC feedback >


<  38.323 - Table 6.3.7-1: D/C field >


<  38.323 - Table 6.3.8-1: PDU type >


<  38.323 - Table 6.3.10-1 Bitmap >