Network Working Group Richard Price, Siemens/Roke Manor INTERNET-DRAFT Robert Hancock, Siemens/Roke Manor Expires: August 2001 Stephen McCann, Siemens/Roke Manor Mark A West, Siemens/Roke Manor Abigail Surtees, Siemens/Roke Manor Paul Ollis, Siemens/Roke Manor Christian Schmidt, Siemens February 23, 2001 Generating a ROHC 08 Compatible Profile Using EPIC Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of [RFC-2026]. 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 to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This document is a submission to the IETF ROHC WG. Comments should be directed to the mailing list of ROHC, rohc@cdt.luth.se. Abstract The Efficient Protocol Independent Compression [EPIC] scheme is a general mechanism for providing additional profiles for use within the [ROHC8] framework. The EPIC inputset is a list of fields from the protocol stack to be compressed, and for each field a choice of encoding techniques together with the probabilities that they will be used. The output of EPIC is a set of optimally efficient compressed header formats for the chosen protocol stack, and an automatic mechanism for translating between compressed and uncompressed packet formats. This document describes EPIC input tables for compatibility with the profiles included in [ROHC8] itself. The advantage of these input tables is that a ROHC implementation containing only EPIC-generated profiles can interoperate with a ROHC implementation containing the original [ROHC8] profiles. Price et al. [PAGE 1] INTERNET-DRAFT ROHC 08 Compatible Profile February 23, 2001 Table of contents 1. Introduction.................................................2 2. General parameters...........................................2 3. EPIC inputset for ROHC headers UO-0, UO-1 and UOR-2..........3 4. EPIC inputset for ROHC extension headers 0, 1, 2 and 3.......5 5. EPIC inputset for ROHC Inner IP header encodings.............6 6. EPIC inputset for ROHC Outer IP header encodings.............7 7. EPIC inputset for ROHC RTP header encodings..................7 8. EPIC inputset for self-describing variable-length values.....8 9. Security considerations......................................9 10. Acknowledgements............................................9 11. Intellectual Property Considerations........................9 12. References..................................................9 13. Authors' Addresses..........................................10 1. Introduction The EPIC input tables described in this draft generates bitwise identical compressed headers to those described in [ROHC8]. This allows EPIC to generate a ROHC profile that is compatible with one of the four profiles specified in [ROHC8]. The current version of the draft specifies the EPIC input tables for ROHC Profile 1 (RTP/UDP/IP) in UO Mode with random IP-ID. Instructions for processing these input tables can be found in [EPIC]. The input tables for ROHC Profile 1 are divided into six different inputsets, each of which handles a different portion of the ROHC compressed header. Each inputset is described in one of the following chapters: Chapter 2 handles the ROHC packet types UO-0, UO-1 and UOR-2 Chapter 3 handles the ROHC extension types 0, 1 and 2 and 3 Chapter 4 handles the optional Inner IP Header Fields for Extension 3 Chapter 5 handles the optional Outer IP Header Fields for Extension 3 Chapter 6 handles the optional RTP Header Fields for Extension 3 Chapter 7 handles the "self-describing variable-length values" Note that even though it is possible to generate the entire set of ROHC compressed headers using a single EPIC inputset, it is not recommended due to the large memory requirements. 2. General parameters For this inputset in Chapter 2, the general EPIC parameters SHOULD be initialized as follows: ALIGN : 8 NPATTERNS : 224 This ensures that the compressed headers generated by EPIC are compatible with the [ROHC8] framework. Price et al. [PAGE 2] INTERNET-DRAFT ROHC 08 Compatible Profile February 23, 2001 For the inputsets in the remaining chapters, the general EPIC parameters SHOULD be set as follows: ALIGN : 8 NPATTERNS : 256 3. EPIC inputset for ROHC headers UO-0, UO-1 and UOR-2 This chapter describes the EPIC inputset for generating the UO-0, UO-1 and UOR-2 compressed headers described in Sections 5.7.1 to 5.7.4 of [ROHC8]. The inputset also covers the inferred fields and the fields that are transmitted uncompressed at the end of each ROHC header. Note that each field specified in the inputset is defined in [ROHC8]. Fields not listed MUST be compressed as STATIC with 100% probability. Instructions for processing these input tables can be found in [EPIC]. BASE-HEADER-ENCODING: +------------------------+----------------------------+-------------+ | Field Name(s) | Encoding Method | Probability | +------------------------+----------------------------+-------------+ | Outer Packet Length | INFERRED | 100% | | Inner Packet Length | | | | Outer Header Checksum | | | | Inner Header Checksum | | | | UDP Length | | | | UDP Checksum | | | +------------------------+----------------------------+-------------+ | TS | UO-0 | 57% | | M | | | | SN +----------------------------+-------------+ | X | UO-1 | 29% | | CRC +----------------------------+-------------+ | Tsc | UOR-2 | 14% | +------------------------+----------------------------+-------------+ | Outer IP-ID | UNCOMPRESSED | 100% | | Inner IP-ID | | | | UDP Checksum Value | | | +------------------------+----------------------------+-------------+ Notes: The UDP Checksum Value field holds the full UDP checksum if the UDP Checksum in the context is non-zero, otherwise it is empty. The UDP Checksum is copied at the decompressor from the UDP Checksum Value field (if present), otherwise it is assumed to be zero. The following EPIC input tables correspond to the header formats UO- 0, UO-1 and UOR-2 described in [ROHC8]. Price et al. [PAGE 3] INTERNET-DRAFT ROHC 08 Compatible Profile February 23, 2001 UO-0: +------------------------+----------------------------+-------------+ | Field Name(s) | Encoding Method | Probability | +------------------------+----------------------------+-------------+ | TS | IRREGULAR(0) | 100% | +------------------------+----------------------------+-------------+ | SN | LSB(4,-1) | 100% | +------------------------+----------------------------+-------------+ | CRC | IRREGULAR(3) | 100% | +------------------------+----------------------------+-------------+ | Tsc | VALUE("0") | 100% | | M | | | | X | | | +------------------------+----------------------------+-------------+ UO-1: +------------------------+----------------------------+-------------+ | Field Name(s) | Encoding Method | Probability | +------------------------+----------------------------+-------------+ | TS | IRREGULAR(6) | 100% | +------------------------+----------------------------+-------------+ | M | IRREGULAR(1) | 100% | +------------------------+----------------------------+-------------+ | SN | LSB(4,-1) | 100% | +------------------------+----------------------------+-------------+ | CRC | IRREGULAR(3) | 100% | +------------------------+----------------------------+-------------+ | Tsc | VALUE("0") | 100% | | X | | | +------------------------+----------------------------+-------------+ UOR-2: +------------------------+----------------------------+-------------+ | Field Name(s) | Encoding Method | Probability | +------------------------+----------------------------+-------------+ | TS | IRREGULAR(6) | 100% | +------------------------+----------------------------+-------------+ | M | IRREGULAR(1) | 100% | +------------------------+----------------------------+-------------+ | SN | LSB(6,-1) | 100% | +------------------------+----------------------------+-------------+ | X | IRREGULAR(1) | 100% | +------------------------+----------------------------+-------------+ | CRC | IRREGULAR(7) | 100% | +------------------------+----------------------------+-------------+ | Tsc | VALUE("0") | 100% | +------------------------+----------------------------+-------------+ Price et al. [PAGE 4] INTERNET-DRAFT ROHC 08 Compatible Profile February 23, 2001 4. EPIC inputset for ROHC extension headers 0, 1, 2 and 3 This chapter describes the EPIC inputset for generating the Extension 0, 1, 2 and 3 headers as described in Section 5.7.5 of [ROHC8]. EXTENSION-ENCODING: +------------------------+----------------------------+-------------+ | Field Name(s) | Encoding Method | Probability | +------------------------+----------------------------+-------------+ | SN | EXTENSION-012 | 75% | | TS | | | | R-TS | | | | Tsc +----------------------------+-------------+ | Inner IP-ID | EXTENSION-3 | 25% | | ip | | | | rtp | | | +------------------------+----------------------------+-------------+ The following input table generates Extension 0, Extension 1 and Extension 2 in full. EXTENSION-012: +------------------------+----------------------------+-------------+ | Field Name(s) | Encoding Method | Probability | +------------------------+----------------------------+-------------+ | SN | LSB(3,-1) | 100% | +------------------------+----------------------------+-------------+ | TS | IRREGULAR(3) | 33.3% | | +----------------------------+-------------+ | | IRREGULAR(11) | 33.3% | | +----------------------------+-------------+ | | IRREGULAR(19) | 33.3% | +------------------------+----------------------------+-------------+ | Tsc | STATIC | 100% | | Inner IP-ID | | | +------------------------+----------------------------+-------------+ | R-TS | VALUE("0") | 100% | | ip | | | | rtp | | | +------------------------+----------------------------+-------------+ The following input table generates the basic Extension 3. Note that the optional fields for the Inner IP, Outer IP and RTP headers are described in subsequent chapters. Price et al. [PAGE 5] INTERNET-DRAFT ROHC 08 Compatible Profile February 23, 2001 EXTENSION-3: +------------------------+----------------------------+-------------+ | Field Name(s) | Encoding Method | Probability | +------------------------+----------------------------+-------------+ | ip | IRREGULAR(1) | 100% | | rtp | | | +------------------------+----------------------------+-------------+ | SN | STATIC | 50% | | +----------------------------+-------------+ | | LSB(8,-1) | 50% | +------------------------+----------------------------+-------------+ | R-TS | VALUE("0") | 50% | | Tsc +----------------------------+-------------+ | | VALUE("1") | 50% | +------------------------+----------------------------+-------------+ | Inner IP-ID | STATIC | 50% | | +----------------------------+-------------+ | | IRREGULAR(16) | 50% | +------------------------+----------------------------+-------------+ | TS | IRREGULAR(0) | 100% | +------------------------+----------------------------+-------------+ 5. EPIC inputset for ROHC Inner IP header encodings This chapter describes the EPIC inputset for generating the optional Inner IP Header Fields as described in Section 5.7.5 of [ROHC8]. INNER-ENCODING: +------------------------+----------------------------+-------------+ | Field Name(s) | Encoding Method | Probability | +------------------------+----------------------------+-------------+ | IPX | IRREGULAR(1) | 100% | | NBO | | | | RND | | | | ip2 | | | +------------------------+----------------------------+-------------+ | Type of Service | STATIC | 50% | | Time to Live +----------------------------+-------------+ | | IRREGULAR(8) | 50% | +------------------------+----------------------------+-------------+ | DF | VALUE("0") | 50% | | +----------------------------+-------------+ | | VALUE("1") | 50% | +------------------------+----------------------------+-------------+ | Protocol | STATIC | 50% | | +----------------------------+-------------+ | | IRREGULAR(8) | 50% | +------------------------+----------------------------+-------------+ Price et al. [PAGE 6] INTERNET-DRAFT ROHC 08 Compatible Profile February 23, 2001 6. EPIC inputset for ROHC Outer IP header encodings This chapter describes the EPIC inputset for generating the optional Outer IP Header Fields as described in Section 5.7.5 of [ROHC8]. OUTER-ENCODING: +------------------------+----------------------------+-------------+ | Field Name(s) | Encoding Method | Probability | +------------------------+----------------------------+-------------+ | Type of Service | STATIC | 50% | | Time to Live +----------------------------+-------------+ | | IRREGULAR(8) | 50% | +------------------------+----------------------------+-------------+ | DF2 | VALUE("0") | 50% | | +----------------------------+-------------+ | | VALUE("1") | 50% | +------------------------+----------------------------+-------------+ | Protocol | STATIC | 50% | | +----------------------------+-------------+ | | IRREGULAR(8) | 50% | +------------------------+----------------------------+-------------+ | IPX2 | VALUE("0") | 50% | | NBO2 +----------------------------+-------------+ | RND2 | VALUE("1") | 50% | +------------------------+----------------------------+-------------+ | Outer IP-ID | STATIC | 50% | | +----------------------------+-------------+ | | IRREGULAR(16) | 50% | +------------------------+----------------------------+-------------+ 7. EPIC inputset for ROHC RTP header encodings This chapter describes the EPIC inputset for generating the optional RTP Header Fields as described in Section 5.7.5 of [ROHC8]. RTP-ENCODING: +------------------------+----------------------------+-------------+ | Field Name(s) | Encoding Method | Probability | +------------------------+----------------------------+-------------+ | M | IRREGULAR(1) | 100% | | R-X | | | | CSRC | | | | TSS | | | | TIS | | | +------------------------+----------------------------+-------------+ Price et al. [PAGE 7] INTERNET-DRAFT ROHC 08 Compatible Profile February 23, 2001 +------------------------+----------------------------+-------------+ | Mode | VALUE("00") | 25% | | +----------------------------+-------------+ | | VALUE("01") | 25% | | +----------------------------+-------------+ | | VALUE("10") | 25% | | +----------------------------+-------------+ | | VALUE("11") | 25% | +------------------------+----------------------------+-------------+ | R-P | STATIC | 50% | | RTP-PT +----------------------------+-------------+ | | PADDING-ENCODING | 50% | +------------------------+----------------------------+-------------+ PADDING-ENCODING: +------------------------+----------------------------+-------------+ | Field Name(s) | Encoding Method | Probability | +------------------------+----------------------------+-------------+ | R-P | IRREGULAR(1) | 100% | +------------------------+----------------------------+-------------+ | RTP-PT | IRREGULAR(7) | 100% | +------------------------+----------------------------+-------------+ 8. EPIC inputset for self-describing variable-length values This chapter describes the EPIC inputset for generating the "self- describing variable-length values" as described in Section 4.5.6 of [ROHC8]. TS-ENCODING: +------------------------+----------------------------+-------------+ | Field Name(s) | Encoding Method | Probability | +------------------------+----------------------------+-------------+ | TS | IRREGULAR(7) | 50% | | +----------------------------+-------------+ | | IRREGULAR(14) | 25% | | +----------------------------+-------------+ | | IRREGULAR(21) | 12.5% | | +----------------------------+-------------+ | | IRREGULAR(29) | 12.5% | +------------------------+----------------------------+-------------+ Notes: Three copies of this inputset are needed: one for the TS field, one for the TS Stride field and one for the Time Stride field. These latter input tables are named TS-STRIDE-ENCODING and TIME-STRIDE- ENCODING respectively. Price et al. [PAGE 8] INTERNET-DRAFT ROHC 08 Compatible Profile February 23, 2001 9. Security Considerations EPIC generates compressed header formats for direct use in ROHC profiles. Consequently the security considerations for EPIC match those of [ROHC8]. 10. Acknowledgements Header compression schemes from [ROHC8] have been important sources of ideas and knowledge. Basic Huffman encoding [HUFF] was enhanced for the specific tasks of robust, efficient header compression. Thanks to Carsten Bormann (cabo@tzi.org) Max Riegel (maximilian.riegel@icn.siemens.de) for valuable input and review. 11. Intellectual Property Considerations This proposal in is full conformity with [RFC-2026]. Siemens may have patent rights on technology described in this document which employees of Siemens contribute for use in IETF standards discussions. In relation to any IETF standard incorporating any such technology, Siemens hereby agrees to license on fair, reasonable and non-discriminatory terms, based on reciprocity, any patent claims it owns covering such technology, to the extent such technology is essential to comply with such standard. 12. References [EPIC] "Efficient Protocol Independent Compression (EPIC)", Price et al, , Internet Engineering Task Force, February 23, 2001 [ROHC8] "RObust Header Compression (ROHC)", Carsten Bormann et al, , Internet Engineering Task Force, February 7, 2001 [HUFF] "The Data Compression Book", Mark Nelson and Jean-Loup Gailly, M&T Books, 1995 [IMPL] http://www.roke.co.uk/networks/epic/epic.html [RFC-2026] "The Internet Standards Process - Revision 3", Scott Bradner, Internet Engineering Task Force, October 1996 Price et al. [PAGE 9] INTERNET-DRAFT ROHC 08 Compatible Profile February 23, 2001 13. Authors' Addresses Richard Price Tel: +44 1794 833681 Email: richard.price@roke.co.uk Robert Hancock Tel: +44 1794 833601 Email: robert.hancock@roke.co.uk Stephen McCann Tel: +44 1794 833341 Email: stephen.mccann@roke.co.uk Mark A West Tel: +44 1794 833311 Email: mark.a.west@roke.co.uk Abigail Surtees Tel: +44 1794 833131 Email: abigail.surtees@roke.co.uk Paul Ollis Tel: +44 1794 833168 Email: paul.ollis@roke.co.uk Roke Manor Research Ltd Romsey, Hants, SO51 0ZN United Kingdom Christian Schmidt Tel: +49 89 722 27822 Email: christian.schmidt@icn.siemens.de Siemens ICM N MR ST1 Munich Germany Price et al. [PAGE 10]