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.

1.  Introduction

   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.

2. Header compression requirements

   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.

2.1 Impact on Internet infrastructure

   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.

2.2 Supported headers and kinds of RTP streams

   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.

2.3 Efficiency

   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.

3.  IANA Considerations

   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.

4.  Security Considerations

   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.

5.  Editor's Address

   Mikael Degermark
   Dept. of Computer Science
   University of Arizona
   P.O. Box 210077
   Tucson, AZ 85721-0077
   USA

   Phone: (May-July): +46 70 833-8933
   Phone: +1 520 621-3489
   Fax:   +1 520 621-4246
   EMail: micke@cs.arizona.edu














Degermark                    Informational                      [Page 6]


RFC 3096            Requirements for IP/UDP/RTP ROHC           July 2001


6.  References

   [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


7.  Full Copyright Statement

   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]