LTE Packet Data Convergence Protocol (PDCP) - EventHelix.com
LTE Packet Data Convergence Protocol (PDCP) - EventHelix.com
LTE Packet Data Convergence Protocol (PDCP) - EventHelix.com
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
3GPP <strong>LTE</strong> <strong>Packet</strong> <strong>Data</strong> <strong>Convergence</strong><br />
<strong>Protocol</strong> (<strong>PDCP</strong>) Sub Layer<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc.<br />
All Rights Reserved.
<strong>LTE</strong> <strong>PDCP</strong> Sub Layer<br />
Functions<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
Header<br />
<strong>com</strong>pression<br />
and<br />
de<strong>com</strong>pression<br />
with ROHC<br />
Transfer of data<br />
and <strong>PDCP</strong><br />
sequence<br />
number<br />
maintenance<br />
<strong>PDCP</strong><br />
Ciphering and<br />
deciphering of<br />
user and control<br />
plane data<br />
Integrity<br />
protection and<br />
verification of<br />
control plane<br />
data<br />
• Header <strong>com</strong>pression and de<strong>com</strong>pression<br />
of IP data flows using the ROHC protocol;<br />
• Transfer of data (user plane or control<br />
plane);<br />
• Maintenance of <strong>PDCP</strong> SNs;<br />
• In-sequence delivery of upper layer PDUs<br />
at re-establishment of lower layers;<br />
• Duplicate elimination of lower layer SDUs<br />
at re-establishment of lower layers for<br />
radio bearers mapped on RLC AM;<br />
• Ciphering and deciphering of user plane<br />
data and control plane data;<br />
• Integrity protection and integrity<br />
verification of control plane data<br />
• Timer based discard<br />
• Duplicate discarding<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 2
<strong>PDCP</strong> in the <strong>LTE</strong> <strong>Protocol</strong><br />
Stack<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
MME<br />
eNodeB<br />
UE<br />
NAS<br />
RRC<br />
<strong>PDCP</strong><br />
RLC<br />
MAC<br />
PHY<br />
NAS<br />
RRC<br />
<strong>PDCP</strong><br />
RLC<br />
MAC<br />
PHY<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 3
<strong>LTE</strong> <strong>PDCP</strong> – Layer View<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
UE/E-UTRAN<br />
<strong>PDCP</strong><br />
entiy<br />
<strong>PDCP</strong>-SAP<br />
Radio Bearers<br />
<strong>PDCP</strong>-SAP<br />
C-SAP<br />
<strong>PDCP</strong><br />
sublayer<br />
<strong>PDCP</strong> entity<br />
<strong>PDCP</strong> entity<br />
<strong>PDCP</strong> - PDU<br />
RLC - SDU<br />
RLC UM-SAP<br />
RLC AM-SAP<br />
RLC<br />
sublayer<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 4
<strong>PDCP</strong> Layer Functions<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
UE/E-UTRAN<br />
E-UTRAN/UE<br />
Transmitting<br />
<strong>PDCP</strong> entity<br />
Receiving<br />
<strong>PDCP</strong> entity<br />
Sequence numbering<br />
Header Compression (u-plane<br />
only)<br />
In order delivery and duplicate<br />
detection (u-plane only)<br />
Header De<strong>com</strong>pression (uplane<br />
only)<br />
<strong>Packet</strong>s associated<br />
to a <strong>PDCP</strong> SDU<br />
Integrity Protection<br />
(c-plane only)<br />
Ciphering<br />
<strong>Packet</strong>s not<br />
associated to a<br />
<strong>PDCP</strong> SDU<br />
<strong>Packet</strong>s associated<br />
to a <strong>PDCP</strong> SDU<br />
Integrity Verification<br />
(c-plane only)<br />
Deciphering<br />
<strong>Packet</strong>s not<br />
associated to a<br />
<strong>PDCP</strong> SDU<br />
Add <strong>PDCP</strong> header<br />
Remove <strong>PDCP</strong> Header<br />
Radio Interface (Uu)<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 5
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
3GPP <strong>LTE</strong> <strong>Packet</strong> <strong>Data</strong> <strong>Convergence</strong> <strong>Protocol</strong> (<strong>PDCP</strong>) Sub Layer<br />
ROBUST HEADER COMPRESSION<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 6
RoHC Modes<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
Unidirectional Mode (U-Mode)<br />
•<strong>Packet</strong>s are only sent in one direction: from <strong>com</strong>pressor to de<strong>com</strong>pressor.<br />
•This mode therefore makes ROHC usable over links where a return path from<br />
de<strong>com</strong>pressor to <strong>com</strong>pressor is unavailable or undesirable.<br />
Bidirectional Optimistic Mode (O-Mode)<br />
•Similar to the Unidirectional mode, except that a feedback channel is used to send error<br />
recovery requests and (optionally) acknowledgments of significant context updates from<br />
the de<strong>com</strong>pressor to <strong>com</strong>pressor.<br />
•The O-mode aims to maximize <strong>com</strong>pression efficiency and sparse usage of the feedback<br />
channel.<br />
Bidirectional Reliable Mode (R-Mode)<br />
•More intensive usage of the feedback channel and a stricter logic at both the<br />
<strong>com</strong>pressor and the de<strong>com</strong>pressor that prevents loss of context synchronization<br />
between <strong>com</strong>pressor and de<strong>com</strong>pressor.<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 7
RoHC Compressor States<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
Initialization and<br />
Refresh State<br />
First Order State<br />
Second Order State<br />
• Compressor has just<br />
been created or reset<br />
• Full packet headers<br />
are sent<br />
• Detected and stored<br />
static fields (such as IP<br />
address and port<br />
number)<br />
• Sending dynamic field<br />
differences<br />
• Compressing all static<br />
fields and most<br />
dynamic fields<br />
• Suppressing all<br />
dynamic fields such as<br />
RTP sequence<br />
numbers, and send<br />
only a logical<br />
sequence number and<br />
partial checksum<br />
• Other end regenerates<br />
the headers and<br />
verifies the headers.<br />
• Compressing all static<br />
and dynamic fields<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 8
RoHC Compressor States in<br />
Unidirectional Mode (U-Mode)<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
Optimistic<br />
Optimistic<br />
Optimistic<br />
Init and<br />
Refresh<br />
First<br />
Order<br />
Second<br />
Order<br />
Timeout<br />
Timeout/Update<br />
Timeout<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 9
RoHC Compressor States in<br />
Bidirectional Optimistic Mode<br />
(O-Mode)<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
Optimistic/Ack<br />
Optimistic<br />
/Ack<br />
Optimistic<br />
/Ack<br />
Init and<br />
Refresh<br />
First<br />
Order<br />
Second<br />
Order<br />
Static<br />
Nack<br />
Nack/Update<br />
Static Nack<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 10
RoHC Compressor States in<br />
Bidirectional Reliable Mode<br />
(R-Mode)<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
Ack<br />
Ack<br />
Ack<br />
Init and<br />
Refresh<br />
First<br />
Order<br />
Second<br />
Order<br />
Static<br />
Nack<br />
Nack/Update<br />
Static Nack<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 11
RoHC De<strong>com</strong>pressor States<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
Success<br />
Success<br />
No<br />
Context<br />
Static<br />
Context<br />
Full<br />
Context<br />
Multiple Compression Failures<br />
Multiple Compression Failures<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 12
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
3GPP <strong>LTE</strong> Radio Link Control (RLC) Sub Layer<br />
<strong>PDCP</strong> PDU FORMATS<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 13
Control Plane <strong>PDCP</strong> PDUs<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
PDU for SRB<br />
PDU for Interspersed ROHC Feedback<br />
(RLC AM and UM Mapped DRBs)<br />
R R R<br />
P D C P S N<br />
O ct1<br />
D /C P D U T yp e R R R R O ct1<br />
D a ta<br />
O ct2<br />
In te rsp e rse d R O H C fe e d b a ck p a cke t<br />
O ct2<br />
.<br />
.<br />
M A C -I<br />
M A C -I(co n t.)<br />
O ctN -3<br />
O ctN -2<br />
PDU for <strong>PDCP</strong> Status Report<br />
(RLC AM Mapped DRBs)<br />
M A C -I(co n t.)<br />
O ctN -1<br />
M A C -I(co n t.)<br />
O ctN<br />
D/C<br />
PDU Type<br />
FMS Oct 1<br />
FMS (cont.)<br />
Oct 2<br />
SRB: Signaling Radio Bearer<br />
DRB: <strong>Data</strong> Radio Bearer<br />
Bitmap 1 (optional)<br />
...<br />
Bitmap N (optional)<br />
Oct 3<br />
Oct 2+N<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 14
User Plane <strong>PDCP</strong> PDUs<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
<strong>Data</strong> PDU with Long <strong>PDCP</strong> SN (12 bit)<br />
(RLC AM and UM Mapped DRBs)<br />
<strong>Data</strong> PDU with Short SN (7 bit)<br />
(RLC UM Mapped DRBs)<br />
D /C P D C P S N O ct1<br />
D /C<br />
R R R P D C P S N<br />
O ct1<br />
D a ta<br />
O ct2<br />
P D C P S N (co n t.)<br />
O ct2<br />
.<br />
D a ta<br />
.<br />
O ct3<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 15
<strong>PDCP</strong> PDU Fields 1<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
<strong>PDCP</strong> SN (Serial Number)<br />
• 5 bit for SRBs<br />
• 7 or 12 bit for DRBs<br />
<strong>Data</strong><br />
• Un<strong>com</strong>pressed <strong>PDCP</strong> SDU (user or control plane data)<br />
• Compressed PDU SDU (user plane data only)<br />
MAC-I<br />
• Contains message authentication code<br />
• Contains 0 in control plane messages<br />
COUNT<br />
• 32 bit number made from Hyper Frame Number (HFN) and <strong>PDCP</strong> SN<br />
• HFN bits = 32 – <strong>PDCP</strong> SN bits<br />
R (1 bit)<br />
• Reserved. Should be set to 0.<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 16
<strong>PDCP</strong> PDU Fields 2<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
D/C (1 bit)<br />
• 0 = Control PDU; 1 = <strong>Data</strong> PDU<br />
PDU Type (3 bit)<br />
• 0 = <strong>PDCP</strong> Status; 1 = Interspersed ROHC Feedback <strong>Packet</strong>; Rest Reserved<br />
FMS (12 bit)<br />
• <strong>PDCP</strong> SN of the first missing <strong>PDCP</strong> SDU<br />
Bitmap<br />
• The MSB of the first octet of the type "Bitmap" indicates whether or not the <strong>PDCP</strong> SDU with the SN (FMS + 1)<br />
modulo 4096 has been received and, optionally de<strong>com</strong>pressed correctly.<br />
• The LSB of the first octet of the type "Bitmap" indicates whether or not the <strong>PDCP</strong> SDU with the SN (FMS + 8)<br />
modulo 4096 has been received and, optionally de<strong>com</strong>pressed correctly.<br />
Interspersed ROHC Feedback <strong>Packet</strong><br />
• Contains ROHC Feedback packet<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 17
<strong>PDCP</strong> Variables<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
Next_<strong>PDCP</strong>_TX_SN<br />
•The variable Next_<strong>PDCP</strong>_TX_SN indicates the <strong>PDCP</strong> SN of the next <strong>PDCP</strong> SDU for a given <strong>PDCP</strong> entity.<br />
•At establishment of the <strong>PDCP</strong> entity, the UE shall set Next_<strong>PDCP</strong>_TX_SN to 0.<br />
TX_HFN<br />
•The variable TX_HFN indicates the HFN value for the generation of the COUNT value used for <strong>PDCP</strong> PDUs for a given <strong>PDCP</strong> entity.<br />
•At establishment of the <strong>PDCP</strong> entity, the UE shall set TX_HFN to 0.<br />
•The receiving side of each <strong>PDCP</strong> entity shall maintain the following state variables:<br />
Next_<strong>PDCP</strong>_RX_SN<br />
•The variable Next_<strong>PDCP</strong>_RX_SN indicates the next expected <strong>PDCP</strong> SN by the receiver for a given <strong>PDCP</strong> entity.<br />
•At establishment of the <strong>PDCP</strong> entity, the UE shall set Next_<strong>PDCP</strong>_RX_SN to 0.<br />
RX_HFN<br />
•The variable RX_HFN indicates the HFN value for the generation of the COUNT value used for the received <strong>PDCP</strong> PDUs for a given<br />
<strong>PDCP</strong> entity.<br />
•At establishment of the <strong>PDCP</strong> entity, the UE shall set RX_HFN to 0.<br />
Last_Submitted_<strong>PDCP</strong>_RX_SN<br />
•For <strong>PDCP</strong> entities for DRBs mapped on RLC AM the variable Last_Submitted_<strong>PDCP</strong>_RX_SN indicates the SN of the last <strong>PDCP</strong> SDU<br />
delivered to the upper layers.<br />
•At establishment of the <strong>PDCP</strong> entity, the UE shall set Last_Submitted_<strong>PDCP</strong>_RX_SN to 4095.<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 18
Explore More<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
Specification<br />
3GPP TS 36.323<br />
3GPP TS 36.300<br />
3GPP TS 36.321<br />
3GPP TS 36.322<br />
3GPP TS 36.211<br />
Title<br />
Evolved Universal Terrestrial Radio Access (E-UTRA); <strong>Packet</strong><br />
<strong>Data</strong> <strong>Convergence</strong> <strong>Protocol</strong> (<strong>PDCP</strong>) specification<br />
Evolved Universal Terrestrial Radio Access (E-UTRA) and<br />
Evolved Universal Terrestrial Radio Access Network (E-UTRAN);<br />
Overall description; Stage 2<br />
Evolved Universal Terrestrial Radio Access (E-UTRA); Medium<br />
Access Control (MAC) protocol specification<br />
Evolved Universal Terrestrial Radio Access (E-UTRA)<br />
Radio Link Control (RLC) protocol specification<br />
Evolved Universal Terrestrial Radio Access (E-UTRA); Physical<br />
channels and modulation<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 19
Thank You<br />
<strong>EventHelix</strong>.<strong>com</strong><br />
• tele<strong>com</strong>munication design<br />
• systems engineering<br />
• real-time and embedded systems<br />
Thank you for visiting <strong>EventHelix</strong>.<strong>com</strong>. The following links provide more<br />
information about tele<strong>com</strong> design tools and techniques:<br />
Links<br />
EventStudio System Designer 4.0<br />
VisualEther <strong>Protocol</strong> Analyzer 1.0<br />
Tele<strong>com</strong> Call Flows<br />
TCP/IP Sequence Diagrams<br />
Real-time and Embedded System<br />
Articles<br />
Description<br />
Sequence diagram based systems engineering<br />
tool.<br />
Wireshark based visual protocol analysis and<br />
system design reverse engineering tool.<br />
GSM, SIP, H.323, ISUP, <strong>LTE</strong> and IMS call flows.<br />
TCP/IP explained with sequence diagrams.<br />
Real-time and embedded systems, call flows and<br />
object oriented design articles.<br />
© 2009 <strong>EventHelix</strong>.<strong>com</strong> Inc. 20