Network Working Group Request for Comments: January IP Payload Compression Using ITU-T V.44 Packet Method

Similar documents
Network Working Group Request for Comments: December 1998

RFC 3173 IP Payload Compression Protocol September 2001

Request for Comments: 2393 Category: Standards Track Hi/fn R. Pereira TimeStep M. Thomas AltaVista Internet December 1998

Category: Informational December 1998

Category: Informational March Portable Font Resource (PFR) - application/font-tdpfr MIME Sub-type Registration

Network Working Group. November Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4)

Category: Standards Track August 2002

Request for Comments: 2711 Category: Standards Track BBN October 1999

Network Working Group Request for Comments: 3508 Category: Informational April H.323 Uniform Resource Locator (URL) Scheme Registration

Category: Standards Track November Registration of Charset and Languages Media Features Tags. Status of this Memo

Request for Comments: February Mobile IP Vendor/Organization-Specific Extensions

Network Working Group. Category: Standards Track NIST November 1998

Request for Comments: 3206 Category: Standards Track February 2002

Updates: 2710 September 2003 Category: Standards Track. Source Address Selection for the Multicast Listener Discovery (MLD) Protocol

Category: Standards Track Cisco Systems, Inc. D. McPherson TCB K. Peirce Malibu Networks, Inc. November 2002

Category: Standards Track May Transport Layer Security Protocol Compression Methods

Request for Comments: 3566 Category: Standards Track Intel September The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

Network Working Group. Category: Standards Track January 1999 Updates: 2284, 1994, PPP LCP Internationalization Configuration Option

Category: Informational November 2000

Network Working Group Request for Comments: Category: Best Current Practice January 2004

Network Working Group Request for Comments: 3397 Category: Standards Track Apple Computer, Inc. November 2002

Category: Standards Track December 2003

Network Working Group Request for Comments: 3408 Category: Standards Track November 2002

Request for Comments: 2536 Category: Standards Track March DSA KEYs and SIGs in the Domain Name System (DNS)

Network Working Group. Category: Standards Track December 2001

Category: Standards Track August POP URL Scheme. Status of this Memo

Request for Comments: 3153 Category: Standards Track C. Fox Cisco Systems August 2001

Request for Comments: 2420 Category: Standards Track September The PPP Triple-DES Encryption Protocol (3DESE)

Category: Standards Track December 2007

Category: Informational 1 April 2001

Request for Comments: 3243 Category: Informational April 2002

Category: Standards Track August 2002

See Also: 1201 January 1999 Category: Standards Track

Request for Comments: 3548 July 2003 Category: Informational

Request for Comments: 3306 Category: Standards Track Microsoft August 2002

Network Working Group. November 1999

Network Working Group. Category: Standards Track February SIEVE Filtering: Spamtest and VirusTest Extensions

Request for Comments: October Transmission of IPv6 Packets over IEEE 1394 Networks

Updates: 2409 May 2005 Category: Standards Track. Algorithms for Internet Key Exchange version 1 (IKEv1)

Network Working Group Request for Comments: 4573 Category: Standard Track July MIME Type Registration for RTP Payload Format for H.

Network Working Group Request for Comments: 4869 Category: Informational May Suite B Cryptographic Suites for IPsec. Status of This Memo

November VeriSign Registry Registrar Protocol (RRP) Version 2.0.0

Request for Comments: 2464 Obsoletes: 1972 December 1998 Category: Standards Track. Transmission of IPv6 Packets over Ethernet Networks

Network Working Group Request for Comments: Category: Experimental J. Postel ISI December 1998

Network Working Group Request for Comments: IBM L. Masinter AT&T December 1999

Network Working Group Request for Comments: 3634 Category: Standards Track Comcast Cable J. Bevilacqua N. Davoust YAS Corporation December 2003

Network Working Group Request for Comments: 2671 Category: Standards Track August 1999

Request for Comments: Columbia U. November 2000

Category: Standards Track June 1999

Network Working Group Request for Comments: 2696 Category: Informational Microsoft T. Howes Netscape September 1999

Request for Comments: 3192 Obsoletes: 2304 October 2001 Updates: 2846 Category: Standards Track

Network Working Group. Category: Informational Tenet Technologies September 2002

Network Working Group. Extreme Networks July Intermediate System to Intermediate System (IS-IS) Cryptographic Authentication

Network Working Group. Category: Informational DayDreamer August 1996

Network Working Group. Sun Microsystems October 2001

Category: Standards Track January 1999

Network Working Group Request for Comments: Category: Standards Track April 2001

Network Working Group Request for Comments: 2866 Category: Informational June 2000 Obsoletes: 2139

Category: Best Current Practice March 2000

Network Working Group Request for Comments: October Ethernet Automatic Protection Switching (EAPS) Version 1

Network Working Group Request for Comments: Category: Standards Track August 2008

Category: Standards Track October Session Description Protocol (SDP) Simple Capability Declaration

Network Working Group Request for Comments: Category: Standards Track A. B. Roach dynamicsoft June 2002

Updates: 2535 November 2003 Category: Standards Track

Request for Comments: 3110 Obsoletes: 2537 May 2001 Category: Standards Track. RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)

Network Working Group Request for Comments: 3137 Category: Informational Cisco Systems A. Zinin Nexsi Systems D. McPherson Amber Networks June 2001

XDI Requirements and Use Cases

Copyright (C) The Internet Society (2001). All Rights Reserved.

Network Working Group. Category: Standards Track August Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Relay Agent Remote-ID Option

Network Working Group. Category: Standards Track. R. Hinden Nokia August 1999

Network Working Group. Category: Standards Track Cisco Systems May 2007

Request for Comments: 3401 Updates: 2276 October 2002 Obsoletes: 2915, 2168 Category: Informational

Request for Comments: 4715 Category: Informational NTT November 2006

Network Working Group Request for Comments: DayDreamer March 1999

Network Working Group. Category: Informational Cisco Systems J. Brezak Microsoft February 2002

Category: Informational July Generic Routing Encapsulation over CLNS Networks

Network Working Group. A. Keromytis U. of Pennsylvania March DSA and RSA Key and Signature Encoding for the KeyNote Trust Management System

Network Working Group Request for Comments: 2921 Category: Informational September 2000

Category: Standards Track September 2003

Obsoletes: 2070, 1980, 1942, 1867, 1866 Category: Informational June 2000

Category: Standards Track October 2006

Network Working Group Request for Comments: 4424 February 2006 Updates: 4348 Category: Standards Track

Network Working Group. Cisco Systems June 2007

Request for Comments: 2537 Category: Standards Track March RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)

Network Working Group Request for Comments: 2236 Updates: 1112 November 1997 Category: Standards Track

Network Working Group. Category: Standards Track Netscape Communications Corp. May 1999

Network Working Group Request for Comments: Category: Best Current Practice January IANA Charset Registration Procedures

Network Working Group. February Media Gateway Control Protocol (MGCP) Redirect and Reset Package

Network Working Group. Updates: 1858 June 2001 Category: Informational. Protection Against a Variant of the Tiny Fragment Attack

A Method for Transmitting PPP Over Ethernet (PPPoE)

Network Working Group. J. Scudder Cisco Systems, Inc. February 2001

Request for Comments: 3934 Updates: 2418 October 2004 BCP: 94 Category: Best Current Practice

J. Basney, NCSA Category: Experimental October 10, MyProxy Protocol

Category: Standards Track Human Communications S. Zilles Adobe Systems, Inc. March 1998

Network Working Group Request for Comments: D. Kuenzi 724 Solutions Inc. February 2001

Category: Standards Track A. Malis Ascend Communications, Inc. September Inverse Address Resolution Protocol. Status of this Memo

Category: Informational Stac Technology August 1996

Network Working Group. Intended status: Standards Track Columbia U. Expires: March 5, 2009 September 1, 2008

Category: Standards Track Inria March Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing

Request for Comments: 2493 Category: Standards Track January 1999

Transcription:

Network Working Group Request for Comments: 3051 Category: Informational J. Heath J. Border Hughes Network Systems January 2001 IP Payload Compression Using ITU-T V.44 Packet Method 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 describes a compression method based on the data compression algorithm described in International Telecommunication Union (ITU-T) Recommendation V.44. Recommendation V.44 is a modem standard but Annex B, Clause B.1, of the recommendation describes the implementation of V.44 in packet networks (e.g., V.44 Packet Method). This document defines the application of V.44 Packet Method to the Internet Protocol (IP) Payload Compression Protocol (RFC 2393). RFC 2393 defines a method for applying lossless compression to the payload portion of IP datagrams. V.44 Packet Method is based upon the LZJH data compression algorithm. Throughout the remainder of this document the terms V.44 Packet Method and LZJH are synonymous. Heath & Border Informational [Page 1]

Table of Contents 1. Introduction...2 1.1 General...2 1.2 Background of LZJH Data Compression...2 1.3 Intellectual Property Rights...3 1.4 Specification of Requirements...4 2. Compression Process...4 2.1 Encoder Dictionary...4 2.2 Encoder Output...4 2.3 Padding...4 3. Decompression Process...5 3.1 Compressed Datagram...5 3.2 Original Uncompressed Datagram...5 4. IPComp Association (IPCA) Parameters...5 4.1 Transform ID...5 4.2 Security Association Attributes...5 4.3 Manual configuration...5 4.4 Minimum packet size threshold...6 4.5 Compressibility test...6 5. Security Considerations...6 6. IANA Considerations...6 7. Acknowledgements...6 8. References...6 9. Authors Addresses...7 10. Full Copyright Statement...8 1. Introduction 1.1 General This document specifies the application of LZJH data compression, a lossless data compression algorithm, to IP datagram payloads. LZJH data compression is to be used in conjunction with the IP Payload Compression Protocol (IPComp) [RFC2393]. This document is written with the assumption that the reader has an understanding of the IPComp protocol. 1.2 Background of LZJH Data Compression LZJH is similar to the algorithm described in [LZ78] although it also has aspects which are similar to the algorithm described in [LZ77]. As such, it provides the execution speed and low memory requirements of [LZ78] with compression ratios that are better than [LZ77]. Originally developed for the satellite industry to compress IP datagrams independently, it is ideal for the IPComp application. The LZJH algorithm was modified to compress a continuous stream of data for a modem environment and this modified version is the basis for Heath & Border Informational [Page 2]

Recommendation V.44. LZJH is an adaptive, general purpose, lossless data compression algorithm. It was selected by the ITU-T as the basis for Recommendation V.44 based on its performance across a wide variety of data types, particularly web HTML s, and based on its compression ratio characteristics, per MIP and memory utilized (as compared to other candidate algorithms). Its encoder is extremely efficient and can encode a two character string with 3 bits the second time that string is encountered in the data. A typical [LZ78] compression algorithm, such as V.42bis, is not suitable for an IPComp application since it takes too long to build up its dictionary, resulting in poor compression ratios on IP datagrams that are compressed independently. It also requires too many cycles to reset an [LZ78] dictionary between datagrams which adversely affects execution times. Similarly, a typical [LZ77] compression algorithm suffers in the IPComp application due to poor execution times. Hash tables, that help improve execution times when compressing continuous data, may cause deterioration of execution times in an IPComp application since they must be reset to an initial state between each datagram. LZJH not only has superior execution times when encoding or decoding packet data, but the reset of the dictionary between IP datagrams is trivial. The encoder requires only the initialization of a 256 word array and a handful of variables while the decoder requires only the initialization of a handful of variables. The LZJH algorithm uses a dictionary of 1525 entries, a total of only 16K of dictionary memory, for the IPComp application. During the encode process unmatched characters are encoded as ordinals and matched redundant strings of characters are encoded as codewords or string-extension lengths that represent the redundant strings. During the decode process the ordinals, codewords, and stringextension lengths are interpreted to re-create exactly the original datagram payload. The details of LZJH data compression can be found in [V44]. 1.3 Intellectual Property Rights The IETF has been notified of intellectual property rights claimed in regard to some or all of the specifications contained in this document. For more information, consult the online list of claimed rights. Heath & Border Informational [Page 3]

1.4 Specification of Requirements 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 [RFC2119]. 2. Compression Process The compression of datagrams is performed by a function called the Encoder. 2.1 Encoder Dictionary The transmitting entity MUST reset the encoder dictionary prior to processing each datagram s payload, as specified in clause 7.5.1 of [V44]. This ensures that each datagram s payload can be correctly decompressed independently of any other, as is required in an environment where datagrams may be lost or received out of order. The transmitting entity MUST flush unprocessed encoder data after the last byte of the datagram has been passed into the encoder such that the compressed datagram can be transmitted as a unit. The flush ensures that all data is processed and included in the output, i.e., the compressed datagram is complete and no data from the current datagram will be processed with the next datagram. 2.2 Encoder Output The input to the payload compression algorithm is an IP datagram payload. The output of the algorithm is a new (and hopefully smaller) payload. The output payload contains the input payload s data in either compressed or uncompressed format. The input and output payloads are each an integral number of bytes in length. If the uncompressed form is used, the output payload is identical to the input payload and the IPComp header is omitted. If the compressed form is used, the output payload is prepended with the IPComp header and encoded as defined in clause 6.3 of [V44]. 2.3 Padding A datagram payload compressed using LZJH always ends with a FLUSH codeword in the last one or two compressed data bytes. The FLUSH codeword may start in the 2nd to the last compressed data byte and end in the last compressed data byte or be totally within the last data byte. The FLUSH codeword is used to signal the end of the Heath & Border Informational [Page 4]

compressed data and differentiate compressed data from padding. Any bits or bytes beyond the FLUSH codeword within the compressed payload are to be considered padding. The size of a compressed payload MUST be in whole octet units. 3. Decompression Process The decompression of datagrams is performed by a function called the Decoder. 3.1 Compressed Datagram If the received datagram is compressed, the receiver MUST reset the decoder dictionary prior to processing the datagram. This ensures that each datagram can be decoded independently of any other datagram in the event datagrams are lost or received out of order. Beginning with the decoder dictionary in the initial state, as specified in clause 7.5.2 of [V44], the receiver decodes the payload data field of the datagram according to the procedure specified in clause 6.4 of [V44]. 3.2 Original Uncompressed Datagram If the received datagram is not compressed, the receiver does not perform compression decoding and passes the payload data field of the datagram unaltered to the next protocol layer. 4. IPComp Association (IPCA) Parameters IKE [RFC2409] MAY be used to negotiate the use of the LZJH compression algorithm to establish an IPCA, as defined in [RFC2393]. 4.1 Transform ID The value of the LZJH Transform ID is IPCOMP_LZJH. This value is used to negotiate the use of the LZJH data compression algorithm using IKE. 4.2 Security Association Attributes There are no other parameters required for the negotiation of the LZJH compression algorithm using IKE. 4.3 Manual configuration The CPI value IPCOMP_LZJH is used for manually configured IPComp Compression Associations. Heath & Border Informational [Page 5]

4.4 Minimum packet size threshold As stated in [RFC2393], small packets may not compress well. Informal tests using the LZJH algorithm on internet web pages and e- mail files show that the average payload size that typically produces expanded data is approximately 50 bytes. Thus, implementations may prefer not to attempt to compress payloads of approximately 50 bytes or smaller. 4.5 Compressibility test The LZJH algorithm, as described in [V44], is easily modified to incorporate an adaptive compressibility test, as referenced in [RFC2393]. Annex B of [V44] specifies the mechanism for including such a test in LZJH. 5. Security Considerations This document does not add any further security considerations to those discussed in [RFC2393]. 6. IANA Considerations This document does not introduce any new name spaces. The value of IPCOMP_LZJH is assigned from the IPsec IPCOMP transform identifier space defined in [RFC2407]. IANA has assigned a value of 4 for this purpose. 7. Acknowledgements This document is modeled upon [RFC2395]. 8. References [LZ77] [LZ78] Lempel, A., and Ziv, J., "A Universal Algorithm for Sequential Data Compression", IEEE Transactions On Information Theory, Vol. IT-23, No. 3, May 1977. Lempel, A., and Ziv, J., "Compression of Individual Sequences via Variable Rate Coding", IEEE Transactions On Information Theory, Vol. IT-24, No. 5, Sep 1978. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2393] Shacham, A., "IP Payload Compression Protocol (IPComp)", RFC 2393, December 1998. Heath & Border Informational [Page 6]

[RFC2395] Friend, R. and R. Monsour, "IP Payload Compression Using LZS", RFC 2395, December 1998. [RFC2407] Piper, D., "The Internet IP Security Domain of Interpretation for ISAKMP", RFC 2407, November, 1998. [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange", RFC 2409, November 1998. [V44] ITU Telecommunication Standardization Sector (ITU-T) Recommendation V.44 "Data Compression Procedures", November 2000. 9. Authors Addresses Jeff Heath Hughes Network Systems 10450 Pacific Center Ct. San Diego, CA 92121 Phone: 858-452-4826 Fax: 858-597-8979 EMail: jheath@hns.com John Border Hughes Network Systems 11717 Exploration Lane Germantown, MD 20876 Phone: 301-601-4099 Fax: 301-601-4275 EMail: border@hns.com Heath & Border Informational [Page 7]

10. 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. Heath & Border Informational [Page 8]