Beruflich Dokumente
Kultur Dokumente
Table of Contents
i
RAN Feature Description List of Figures
List of Figures
ii
RAN Feature Description List of Tables
List of Tables
iii
RAN Feature Description Chapter 16 PDCP Header Compression
16.1 Introduction
16.1.1 Definition
16.1.2 Purposes
The common size of a TCP segment in bulk transfer over a medium speed link is 512
bytes. When a TCP segment is tunneled, the size of an IPv4, IPv6, or TCP header is
100 bytes. Thus, IPv6 and TCP headers account for 19.5% of the whole size, and
IPv4 and TCP headers account for 11.7%. After PDCP header compression, however,
the headers only account for less than 1% of the whole size. PDCP header
compression greatly reduces header overhead.
In addition, for speech services, a packet with huge amount of data comes with
significant delay. Small packets must be the first choice for short end-to-end delay.
For this purpose, the header overhead can be reduced to a large extent by PDCP
header compression.
When a large header is transmitted over a low speed link, echoing of characters takes
more than 100–200 ms, which is the maximum tolerable time for people not to feel
that the system is sluggish.
1
RAN Feature Description Chapter 16 PDCP Header Compression
PDCP header compression shortens response time and improves the echoing rate of
characters.
After PDCP header compression, fewer bits are transmitted for each packet.
Therefore, the packet loss rate is lower for a given Bit Error Rate (BER).
I. Terms
Term Description
Subheader
A chain of subheaders.
chain
2
RAN Feature Description Chapter 16 PDCP Header Compression
Term Description
II. Abbreviations
CN Core Network
HC Header Compression
3
RAN Feature Description Chapter 16 PDCP Header Compression
IP Internet Protocol
RB Radio Bearer
UE User Equipment
4
RAN Feature Description Chapter 16 PDCP Header Compression
16.2 Availability
16.2.1 Network Elements Involved
Table 1.1 describes the NEs involved with PDCP header compression.
MSC
UE NodeB RNC MGW SGSN GGSN HLR
Server
√ – √ – – – – –
Note:
–: not required
√: required
Note:
This chapter describes only the availability of the UE and the RNC.
Table 1.2 describes the versions of RAN products that support PDCP header
compression.
16.2.3 Miscellaneous
5
RAN Feature Description Chapter 16 PDCP Header Compression
16.3 Impact
16.3.1 On System Performance
None.
None.
The configuration model for PDCP Header Compression is as show in Figure 2.2.
RNC
RadioClass
GlobalParaClass
FRC.Class CORRMALGOSWITCH.Class
The IP protocol, transport protocols like TCP or UDP, and optional application
protocols are described in the header of a packet. Data in a header serves long-
distance transport over multiple links or multi-hop network. The header includes the
following data:
Source IP address
Destination IP address
6
RAN Feature Description Chapter 16 PDCP Header Compression
Port information
Protocol ID
Sequence number
Error checking information
For TCP packets in telecommunications, many fields are constant and others change
with small and predictable values. Depending on whether the fields remain constant
or change in specific patterns, some fields can be either excluded from each packet
or represented in a smaller number of bits. This is described as header compression.
Header compression uses the concept of packet stream context. A context is a set of
data about field values and value change patterns in the packet header. For each
packet stream, the context is formed at the compressor and the decompressor. After
the context is established on both sides, the compressor can compress the packets.
Figure 2.3 shows the block diagram of header compression.
Packet stream
Compressed packets
Header Header
compression decompression
Packet stream in
forward direction Feedback
Context Context
Figure 2.4 shows the UMTS structure for the Packet Switched (PS) domain.
7
RAN Feature Description Chapter 16 PDCP Header Compression
The header compression function is provided by the RNC. Packet data is transferred
from the Internet or other external networks to the RNC by the GGSN and SGSN
through the GPRS Tunnel Protocol (GTP). The RNC relays the packet data to the UE.
Uu lu
VLR
USIM
lub HLR
Cu NodeB
ME RNC SGSN GGSN Internet
NodeB
UE External
UTRAN CN
networks
As shown in Figure 5.1, the user plane has a layered protocol structure. It transfers
user data through data transfer control procedures. Header compression is performed
by PDCP.
After receiving data from the PS domain through the GTP-U tunnel, the RNC
processes the data as follows:
3) Performs header compression.
4) Sends the compressed data to the RLC module on the lower layer.
5) Further processes the data on lower layers and then sends the data to the UE
through the Uu interface.
After receiving the data, the UE processes the data as follows:
1) Processes the data on the lower layers.
2) Sends the data to the PDCP sub layer and decompresses it.
3) Sends the data to the application layer.
That is the process of downlink data transfer. The uplink data transfer is of the same
principle.
8
RAN Feature Description Chapter 16 PDCP Header Compression
Appli-
cation
E.g., IP, E.g., IP,
PPP PPP
Relay Relay
Figure 5.1 User plane of the protocol stack for the PS domain
Figure 5.2 shows the PDCP structure in the radio interface protocol architecture.
Radio bearers
PDCP-SDU
PDCP-SAPs ...
PDCP sublayer
C-SAP
PDCP entity
PDCP entity
PDCP entity SDU
numbering
RLC-SDU
...
9
RAN Feature Description Chapter 16 PDCP Header Compression
associated with one or two (one for each direction) RLC entities, depending on the
RB characteristic (namely, unidirectional or bidirectional) and RLC mode.
PDCP in the RNC and UE performs header compression on IP data streams at the
transmitting entity, and header decompression at the receiving entity. The headers
include TCP/IP and RTP/UDP/IP ones for IPv4 and IPv6. Every PDCP entity uses
zero, one, or several different header compression protocol types.
Input Output
Feedback
Header request
Compressor
algorithm
Yes
Packet stream
Twice algorithm
judgment algorithm
Yes
Packet
stream type Decompression No
fails?
Non-TCP TCP
Periodic header
refresh algorithm
10
RAN Feature Description Chapter 16 PDCP Header Compression
11
RAN Feature Description Chapter 16 PDCP Header Compression
Parameter ID MAXHEADER
Optional/Mandatory Optional
Description:
As a PDCP specified parameter, it indicates the maximum control header size in
bytes that may be compressed.
The compressor uses the criterion that it finds appropriate to group packets into
packet streams. To determine which packet stream a packet belongs to, a
compressor performs the following:
6) Checks the compressible chain of subheaders.
7) Checks the contents of an upper layer protocol header, such as TCP or UDP.
8) Checks if the defining fields of compressible chain of subheaders are changed.
If too many fields are used for identification, performance might suffer because more
CIDs will be used and the wrong CIDs might be reused when new flows need CIDs. If
too few fields are used for identification, performance might suffer because there are
too frequent changes to the context.
The CID spaces for TCP and non-TCP are separate. Therefore, a TCP CID and a
non-TCP CID never identify the same context even if they have the same value.
When the same number of bits is used for the CIDs, it only doubles the available CID
space. The maximum CID value configured for TCP is called TCPSPACE (Max CID v
alue for TCP connections). The maximum CID value configured for non-TCP is calle
d NONTCPSPACE (Max CID value for non-TCP connections).
12
RAN Feature Description Chapter 16 PDCP Header Compression
Parameter:
Parameter ID TCPSPACE
Default Value 15
Optional/Mandatory Optional
Description:
As a PDCP specified parameter, it indicates the maximum CID value used for TCP
connections.
Parameter ID NONTCPSPACE
Default Value 15
Optional/Mandatory Optional
Description:
As a PDCP specified parameter, it indicates the maximum CID used for non-TCP
connections.
13
RAN Feature Description Chapter 16 PDCP Header Compression
In this algorithm, the decompressor computes a checksum to check if its context has
been updated properly. If the checksum fails, the error might be caused by a lost
segment that did not update the context properly. If the lost segment contained the
same delta as the current, the delta of the current segment is then added to the
context again. The decompressor recomputes the checksum and, if successful,
continues to deliver packets. If the repair fails, the delta is applied again, that is,
adding the delta and recomputing the checksum.
Analysis of traces of diverse TCP bulk transfers shows that applying the delta of the
current segment one or two times repairs the context for 83% to 99% of all single-
segment losses in the data stream. For the acknowledgment stream, the success rate
is lower due to the delayed acknowledgment mechanism of TCP. The Twice
mechanism repairs the context for 53% to 99% of the losses in the acknowledgment
stream.
After the Twice algorithm fails, another recovery mechanism, called Header Request,
is available for repairing the context at the decompressor. When failing to repair the
context after a loss, the decompressor requests a complete header from the
compressor. This is possible only when bidirectional links are used, because the
decompressor must communicate with its compressor. The decompressor sends a
context state message to the compressor when making a header request. The
context state message can include all compressed packet streams that need a
context update.
To help the decompressor recover quickly from loss of a full header that has changed
the context, full headers are sent periodically with an exponentially increasing period
after a change in the context, as shown in Figure 8.1. This technique avoids an
exchange of messages between the compressor and decompressor. Such exchanges
are costly for wireless mobiles, because more power is consumed by the transmitter
and delay can be introduced by switching between transmission and reception.
| . | . ...| . . . . | . . . . . . . . |. . . . . . . . . . . . . . . . | ..............................
| : full header
. : compressed header
Figure 8.1 shows how packets are sent after a change in the context. The
compressor keeps a variable F_PERIOD for each non-TCP packet stream. The
14
RAN Feature Description Chapter 16 PDCP Header Compression
variable keeps track of how many compressed headers are sent between full
headers. When the headers of a non-TCP packet stream change so that its context
changes, a full header is sent and F_PERIOD is set to 1. After F_PERIOD
compressed headers are sent, a full header is sent. F_PERIOD is doubled each time
a full header is sent during compression slow-start.
To avoid losing too many packets when a receiver loses its context, there is an upper
limit, F_MAX_PERIOD (Max number of compressed non-TCP headers), on the
number of compressed headers in a non-TCP packets stream. These compressed
headers might be sent between header refreshes. If a packet is to be sent and
F_MAX_PERIOD (Max number of compressed non-TCP headers) compressed
headers have been sent after the last full header was sent for this packet stream, a
full header must be sent.
To avoid long periods of disconnection for low data rate packet streams, there is also
an upper limit, F_MAX_TIME (Max time for sending compressed headers[s]), on
the time between full headers in a non-TCP packet stream. If a packet is to be sent
and more than F_MAX_TIME (Max time for sending compressed headers[s])
seconds have passed after the last full header was sent for this packet stream, a full
header must be sent.
Parameter:
Parameter ID F_MAX_PERIOD
Optional/Mandatory Optional
Description:
As a parameter specified in PDCP, it indicates the maximum number of
compressed non-TCP headers that may be sent without a full header. The word
"compressed" means some unnecessary header information is not transmitted with
the packet data so as to save network resource.
15
RAN Feature Description Chapter 16 PDCP Header Compression
Parameter ID F_MAX_TIME
Default Value 5
Optional/Mandatory Optional
Description:
As a PDCP specified parameter, it indicates the maximum duration for sending
compressed headers after the last full header is sent.
I. Overview
16
RAN Feature Description Chapter 16 PDCP Header Compression
CHSWITCH:
Parameter ID
FRC_PDCP_COMPRESS_SWITCH
Default Value 0
Optional/Mandatory Optional
Description:
When it is checked and the PDCP header compression license is enabled, the
PDCP header compression algorithm will be applied in the RNC.
CHSWITCH:
Parameter ID
PDCP_IPV6_HEAD_COMPRESS_SWITCH
Default Value 0
Optional/Mandatory Optional
Description:
When it is checked and the PDCP header compression function is enabled, the
PDCP header compression algorithm for IPv6 will be applied in the RNC.
17
RAN Feature Description Chapter 16 PDCP Header Compression
Parameter ID RFC2507DEFPARASWITCH
Optional/Mandatory Optional
Description:
RFC2507 default parameter switch
16.5 Capabilities
None.
16.6 Implementation
16.6.1 Enabling PDCP Header Compression
I. Hardware Installation
To activate the license for PDCP header compression, perform the following steps:
9) Get the new license.
10) Download the license to the BAM installation directory\FTP\license through FTP.
11) Execute the ACT LICENSE command on the M2000 or the RNC LMT to activate
the new license.
To configure the parameters for the PDCP header compression, perform the following
steps:
12) Execute the SET CORRMALGOSWITCH command to enable the following
switches:
FRC_PDCP_COMPRESS_SWITCH
PDCP_IPV6_HEAD_COMPRESS_SWITCH
18
RAN Feature Description Chapter 16 PDCP Header Compression
Execute the LST CORRMALGOSWITCH or the LST FRC command to check if the
activation succeeds.
V. Examples
I. Switch Adjustment
Execute the LST CORRMALGOSWITCH or the LST FRC command to check if the
reconfiguration succeeds.
19
RAN Feature Description Chapter 16 PDCP Header Compression
III. Examples
I. Switch Disabling
Execute the SET CORRMALGOSWITCH or the SET FRC to disable the switches.
Execute the LST CORRMALGOSWITCH or the LST FRC to check if the deactivation
succeeds.
III. Examples
None.
20
RAN Feature Description Chapter 16 PDCP Header Compression
16.7.2 Counters
The related counters belong to RNC -> RNC PDCPGTPU, where RNC refers to the
measurement type, and RNC PDCPGTPU refers to the measurement unit. Table 1.1
describes the counters.
Counter Description
21
RAN Feature Description Chapter 16 PDCP Header Compression
Counter Description
16.8 References
RFC2507 IP Header Compression
3GPP TS 25.323 V5.2.0 (2002-09) "Packet Data Convergence Protocol (PDCP)
Specification"
22