Network Working Group M. Degermark, Editor
Request for Comments: 3096 University of Arizona
Category: Informational July 2001
Requirements for robust IP/UDP/RTP header compression
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved.
Abstract
This document contains requirements for robust IP/UDP/RTP (Internet
Protocol/User Datagram Protocol/Real-Time Transport Protocol) header
compression to be developed by the ROHC (Robust Header Compression)
WG. It is based on the ROHC charter, discussions in the WG, the 3GPP
document "3GPP TR 23.922", version 1.0.0 of October 1999, as well as
contributions from 3G.IP.
The goal of the ROHC WG is to develop header compression schemes that
perform well over links with high error rates and long link round
trip times. The schemes must perform well for cellular links built
using technologies such as WCDMA, EDGE, and CDMA-2000. However, the
schemes should also be applicable to other future link technologies
with high loss and long round trip times.
The following requirements have, more or less arbitrarily, been
divided into three groups. The first group deals with requirements
concerning the impact of an header compression scheme on the rest of
the Internet infrastructure. The second group concerns what kind of
headers that must be compressed efficiently. The final group
concerns efficiency requirements and requirements which stem from the
properties of the anticipated link technologies.
Several current standardization efforts in the cellular arena aim at
supporting voice over IP and other real-time services over IP, e.g.,
GERAN (specified by the ETSI SMG2 standards group), and UTRAN
Degermark Informational [Page 1]
RFC 3096 Requirements for IP/UDP/RTP ROHC July 2001
(specified by the 3GPP standards organization). It is critical for
these standardization efforts that a suitable header compression
scheme is developed before completion of the Release 2000 standards.
Therefore, it is imperative that the ROHC WG keeps its schedule.
1. Transparency: When a header is compressed and then decompressed,
the resulting header must be semantically identical to the original
header. If this cannot be achieved, the packet containing the
erroneous header must be discarded.
Justification: The header compression process must not produce
headers that might cause problems for any current or future part of
the Internet infrastructure.
2. Ubiquity: Must not require modifications to existing IP (v4 or
v6), UDP, or RTP implementations.
Justification: Ease of deployment.
Note: The ROHC WG may recommend changes that would increase the
compression efficiency for the RTP streams emitted by
implementations. However, ROHC cannot rely on such recommendations
being followed.
1. IPv4 and IPv6: Must support both IPv4 and IPv6.
Justification: IPv4 and IPv6 will both be around during the
foreseeable future.
2. Mobile IP: The kinds of headers used by Mobile IP{v4,v6} should be
compressed efficiently. For IPv4 these include headers of tunneled
packets. For IPv6 these include headers containing the Routing
Header, the Binding Update Destination Option, and the Home Address
option.
Justification: It is very likely that Mobile IP will be used by
cellular devices.
3. Genericity: Must support compression of headers of arbitrary RTP
streams.
Degermark Informational [Page 2]
RFC 3096 Requirements for IP/UDP/RTP ROHC July 2001
Justification: There must be a generic scheme which can compress
reasonably well for any payload type and traffic pattern. This does
not preclude optimizations for certain media types where the traffic
pattern is known, e.g., for low-bandwidth voice and low-bandwidth
video.
Note: This applies to the RTP stream before as well as after it has
passed through an internet.
4. IPSEC: ROHC should be able to compress headers containing IPSEC
subheaders.
Note: It is of course not possible to compress the encrypted part of
an ESP header, nor the cryptographic data in an AH header.
1. Performance/Spectral Efficiency: Must provide low relative
overhead under expected operating conditions; compression efficiency
should be better than for RFC 2508 under equivalent operating
conditions. The error rate should only marginally increase the
overhead under expected operating conditions.
Justification: Spectrum efficiency is a primary goal. RFC 2508 does
not perform well enough.
Note: The relative overhead is the average header overhead relative
to the payload. Any auxiliary (e.g., control or feedback) channels
used by the scheme should be taken into account when calculating the
header overhead.
2. Error propagation: Error propagation due to header compression
should be kept at an absolute minimum. Error propagation is defined
as the loss or damage of headers subsequent to headers lost or
damaged by the link, even if those subsequent headers are not lost or
damaged.
Justification: Error propagation reduces spectral efficiency and
reduces quality. CRTP suffers severely from error propagation.
Note: There are at least two kinds of error propagation; loss
propagation, where an error causes subsequent headers to be lost, and
damage propagation, where an error causes subsequent headers to be
damaged.
Degermark Informational [Page 3]
RFC 3096 Requirements for IP/UDP/RTP ROHC July 2001
3a. Handover loss events: There must be a way to run ROHC where loss
events of length 150 milliseconds are handled efficiently and where
loss or damage propagation is not introduced by ROHC during such
events.
Justification: Such loss events can be introduced by handover
operations in a (radio) network between compressor and decompressor.
Handover operations can be frequent in cellular systems. Failure to
handle handover well can adversely impact spectrum efficiency and
quality.
3b. Handover context recreation: There must be a way to run ROHC that
deals well with events where the route of an RTP conversation changes
such that either the compressor or the decompressor of the
conversation is relocated to another node, where the context needs to
be recreated. ROHC must not introduce erroneous headers during such
events, and should not introduce packet loss during such events.
Justification: Such events can be frequent in cellular systems where
the compressor/decompressor on the network side is close to the radio
base stations.
Note: In order to aid developers of context recreation schemes where
context is transfered to the new node, the specification shall
outline what parts of the context is to be transfered, as well as
conditions for its use. Procedures for context recreation (and
discard) without such context transfer will also be provided.
4. Link delay: Must operate under all expected link delay conditions.
5. Processing delay: The scheme must not contribute significantly to
system delay budget.
6. Multiple links: The scheme must perform well when there are two or
more cellular links in the end-to-end path.
Justification: Such paths will occur.
Note: loss on previous links will cause irregularities in the RTP
stream reaching the compressor. Such irregularities should only
marginally affect performance.
7a. Packet Misordering: The scheme should be able to compress when
there are misordered packets in the RTP stream reaching the
compressor. No misordering is expected on the link between
compressor and decompressor.
Degermark Informational [Page 4]
RFC 3096 Requirements for IP/UDP/RTP ROHC July 2001
Justification: Misordering happens regularly in the Internet.
However, since the Internet is engineered to run TCP reasonably well,
excessive misordering will not be common and need not be handled with
optimum efficiently.
7b. Moderate Packet Misordering: The scheme should efficiently handle
moderate misordering (2-3 packets) in the packet stream reaching the
compressor.
Note: This kind of reordering is common.
8. Unidirectional links/multicast: Must operate (possibly with less
efficiency) over links where there is no feedback channel or where
there are several receivers.
9. Configurable frame size fluctuation: It should be possible to
restrict the number of different frame sizes used by the scheme.
Justification: Some radio technologies support only a limited number
of frame sizes efficiently.
Note: Somewhat degraded performance is to be expected when such
restrictions are applied.
Note: This implies that a list of "good" frame sizes must be made
available and that ROHC may pick a suitable header format to utilize
available space as well as possible.
10. Delay: ROHC should not noticeably add to the end-to-end delay.
Justification: RTP packets carrying data for interactive voice or
video have a limited end-to-end delay budget.
Note: This requirement is intended to prevent schemes that achieve
robustness at the expense of delay, for example schemes that require
that header i+x, x>0, is received before header i can be
decompressed.
Note: Together with 2.3.5, this requirement implies that ROHC will
not noticeably add to the jitter of the RTP stream, other than what
is caused by variations in header size.
Note: This requirement does not prevent a queue from forming upstream
a bottleneck link. Nor does it prevent a compressor from utilizing
information from more than one header in such a queue.
11. Residual errors: For a residual bit-error rate of at most 1e-5,
the ROHC scheme must not increase the error rate.
Degermark Informational [Page 5]
RFC 3096 Requirements for IP/UDP/RTP ROHC July 2001
Justification: Some target links have a residual error rate, i.e,
rate of undetected errors, of this magnitude.
Note: In the presence of residual bit-errors, ROHC will need error
detection mechanisms to prevent damage propagation. These mechanisms
will catch some residual errors, but those not caught might cause
damage propagation. This requirement states that the reduction of
the damage rate due to the error detection mechanisms must not be
less than the increase in error rate due to damage propagation.
A protocol which meets these requirements, e.g., [ROHC], will require
the IANA to assign various numbers. This document by itself,
however, does not require any IANA involvement.
A protocol specified to meet these requirements, e.g., [ROHC], must
be able to compress packets containing IPSEC headers according to the
IPSEC requirement, 2.2.4. There may be other security aspects to
consider in such protocols. This document by itself, however, does
not add any security risks.
[TR] 3GPP TR 23.922 version 1.0.0, 3rd Generation partnership
Project; Technical Specification Group Services and Systems
Aspects; Architecture for an All IP network.
[TS] TS 22.101 version 3.6.0: Service Principles
[RFC768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
August 1980.
[RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, September
1981.
[RFC1144] Jacobson, V., "Compressing TCP/IP Headers for Low-Speed
Serial Links", RFC 1144, February 1990.
[CRTP] Casner, S. and V. Jacobson, "Compressing IP/UDP/RTP Headers
for Low-Speed Serial Links", RFC 2508, February 1999.
[OHC] Bormann, C., Editor, "Robust Header Compression (ROHC)", RFC
3095, June 2001.
Degermark Informational [Page 7]
RFC 3096 Requirements for IP/UDP/RTP ROHC July 2001
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Degermark Informational [Page 8]