Network Working Group L-E. Jonsson INTERNET-DRAFT Ericsson Expires: April 2003 October 28, 2002 RObust Header Compression (ROHC): A Compression Profile for IP Status of this memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or cite them other than as "work in progress". The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/lid-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This document is a submission of the IETF ROHC WG. Comments should be directed to the ROHC WG mailing list, rohc@ietf.org. Abstract The original RObust Header Compression (ROHC) RFC, RFC 3095, defines a framework for header compression, along with compression protocols (profiles) for IP/UDP/RTP, IP/ESP, IP/UDP, and also for uncompressed packet streams. However, no profile was defined for compression of IP only, which has been identified as a flaw in RFC 3095. This document addresses that problem and defines a ROHC compression profile for IP, similar to the IP/UDP profile defined by RFC 3095, but simplified to exclude UDP. Jonsson [Page 1] INTERNET-DRAFT A ROHC Compression Profile for IP October 28, 2002 Table of Contents 1. Introduction..................................................2 2. Terminology...................................................2 3. ROHC IP Compression (Profile 0x0004)..........................3 4. Security Considerations.......................................4 5. IANA Considerations...........................................4 6. References....................................................4 7. Author's Address..............................................4 1. Introduction The original RObust Header Compression (ROHC) RFC [RFC-3095] defines a framework for header compression, along with compression protocols (profiles) for IP/UDP/RTP, IP/ESP, IP/UDP, and also for uncompressed packet streams. The profile for uncompressed data was defined to provide means to encapsulate all traffic over a link within ROHC packets. Through this profile, the lower layers do not have to provide multiplexing for different packet types, but instead ROHC can handle any packet stream, even if compression profiles for all kinds of packet streams have yet not been defined or implemented over the link. Although the profile without compression is simple and can tunnel arbitrary packets, it has of course a major weakness in that it does not compress the headers at all. When considering that normally all packets are expected to be IP [RFC-791, RFC-1883] packets, and that the IP header often represent a major part of the total header, a useful alternative to no compression would for most packets be compression of the IP header only. Unfortunately, such a profile was not defined in [RFC-3095], and this has thus been identified as an important missing piece in the ROHC toolbox. This document addresses this missing compression support and defines a ROHC compression profile for IP [RFC-791, RFC-1883] only, similar to the IP/UDP profile defined by [RFC-3095], but simplified to exclude UDP. Due to the similarities with the IP/UDP profile, the IP compression profile is described based on the IP/UDP profile, mainly covering differences. 2. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC-2119]. ROHC UDP "ROHC UDP" in this document refers to the IP/UDP profile (Profile 0x0002) as defined in [RFC-3095]. Jonsson [Page 2] INTERNET-DRAFT A ROHC Compression Profile for IP October 28, 2002 3. ROHC IP Compression (Profile 0x0004) In principle, there is no real difference between the ROHC UDP profile and the IP profile defined in this document, since the removal of UDP does not at all effect the compression mechanisms. As for ROHC UDP, the compressor generates a 16-bit sequence number which increases by one for each packet compressed in the packet stream, called SN or IP SN below. Unless stated explicitly below, mechanisms and formats are as for ROHC UDP. 3.1. Initialization The static context for ROHC IP compression can be initialized in either of two ways: 1) By using an IR packet as in ROHC UDP, where the profile is 0x0004 and the static chain ends with the static part of an IP header. ********************************************************************* * Note: An open issue is how to terminate the static chain. Any * * NextHdr/Protocol other than 4 (IPinIP) or 41 (IPv6) would * * terminate the chain, but so would also a third IP header. * ********************************************************************* At the compressor, IP SN is initialized to a random value when the IR packet is sent. 2) By reusing an existing context where the existing static chain contains the static part of an IP header. ********************************************************************* * Note: This will have to be revised based on what is decided for * * the above issue. * ********************************************************************* As for ROHC UDP, this is done with an IR-DYN packet, identifying profile 0x0004, where the dynamic chain corresponds to the prefix of the existing static chain that ends with the IP header. ********************************************************************* * Note: This will have to be revised based on what is decided for * * the above issue. * ********************************************************************* At the compressor, IP SN is initialized to a random value. For ROHC IP, the dynamic part of a compressed packet is similar to the one for ROHC UDP, with a two-octet field containing the SN added to the end of the chain. This affects the format of dynamic chains in IR and IR-DYN packets. Jonsson [Page 3] INTERNET-DRAFT A ROHC Compression Profile for IP October 28, 2002 4. Security Considerations The security considerations of [RFC-3095] apply equally to this document, without exceptions or additions. 5. IANA Considerations ROHC profile identifier 0x0004 has been reserved by the IANA for the profile defined in this document. [TO BE REMOVED BEFORE PUBLICATION] A ROHC profile identifier must be reserved by the IANA for the profile defined in this document. Profile number 0x0004 has previously been saved for this purpose, and should thus be used. As for previous ROHC profiles, profile numbers 0xnnXX must also be reserved for future updates of this profile. A suggested registration in the "RObust Header Compression (ROHC) Profile Identifiers" name space would then be: 0x0004 ROHC IP [RFCXXXX (this)] 0xnn04 Reserved [END] 6. References [RFC-2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, March 1997. [RFC-3095] Bormann, C., Burmeister, C., Degermark, M., Fukushima, H., Hannu, H., Jonsson, L-E., Hakenberg, R., Koren, T., Le, K., Liu, Z., Martensson, A., Miyazaki, A., Svanbro, K., Wiebke, T., Yoshimura, T. and H. Zheng, "Robust Header Compression (ROHC)", RFC 3095, July 2001. [RFC-791] Postel, J., "Internet Protocol", RFC 791, September 1981. [RFC-1883] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 1883, December 1995. 7. Author's Address Lars-Erik Jonsson Tel: +46 920 20 21 07 Ericsson AB Fax: +46 920 20 20 99 Box 920 SE-971 28 Lulea Sweden EMail: lars-erik.jonsson@ericsson.com Jonsson [Page 4] INTERNET-DRAFT A ROHC Compression Profile for IP October 28, 2002 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. This Internet-Draft expires April 28, 2003. Jonsson [Page 5]