In order to answer this question, take a look at the picture below. I have shown PDCP protocol both in Control and User plane protocol stack.

The PDCP protocol performs the following

  1. Supports Robust Header Compression (ROHC) and decompression of user plane data.
  2. PDCP supports ciphering of user plane data and control plane data (NAS signaling).
  3. PDCP supports integrity protection of control plane data (NAS Signaling).
  4. PDCP contains a Service Data Unit (SDU) discard mechanism based on a discard timer that discards PDCP SDUs and PDCP Protocol Data Units (PDUs) when the age of the SDU exceeds a certain value.


  • PDCP handles the prioritization of packets at handover; the eNodeB transmits any packets received over X2 before starting the transmission of packets received over S1.
  • In downlink, the source eNodeB forwards PDCP SDUs that have not yet been acknowledged when AM RLC mode is used to the target eNodeB. (In case UM RLC mode is used non-transmitted PDCP SDUs may optionally be forwarded to the target eNodeB.)
  • The target eNodeB assures that downlink data is transmitted in-sequence by prioritizing data forwarded on X2 over data received on S1. In uplink, the source eNodeB may forward PDCP SDUs received out of sequence to the target eNodeB.
  • A PDCP status report may, depending on configuration, be exchanged between the UE and the target eNodeB to minimize the number of unnecessarily transmitted PDCP PDUs at handover.


Reordering of PDCP PDUs to achieve in-sequence delivery is performed by the UE in downlink and in the target eNodeB in uplink.

The visual role of PDCP in one shot is shown in the picture below.