Network Working Group R. Pereira
Request for Comments: 2394 TimeStep Corporation
Category: Informational December 1998
IP Payload Compression Using DEFLATE
Pereira Informational [Page 1]
RFC 2394 IP Payload Compression Using DEFLATE December 1998 1. IntroductionThe IP Payload Compression Protocol allows the compression of IP datagrams by supporting different compression algorithms. This document describes how to integrate the DEFLATE compression algorithm [Deutsch96] into IPCOMP [IPCOMP].
1.1 The DEFLATE Compression Algorithm
The 'deflate' compression format [Deutsch96], as used by the PKZIP and gzip compressors and as embodied in the freely and widely distributed zlib [Gailly95] library source code, has the following features:
1.2 Licensing
The zlib source is widely and freely available, subject to the following copyright:
Pereira Informational [Page 2]
RFC 2394 IP Payload Compression Using DEFLATE December 1998
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
1.3 Specification of Requirements
The keywords "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", and "MAY" that appear in this document are to be interpreted as described in [Bradner97].
2. DEFLATE Algorithm Implementation
The DEFLATE compression algorithm was designed by Phil Katz and its details are publicly available in [Deutsch96]. Thus it is a good freely available algorithm to implement within IPCOMP.
2.1 Compression
As defined in [IPCOMP], the compression process is determined by the IP Compression Association (IPCA). The IPCA MUST define the DEFLATE algorithm for the process within this document to take place. The compression process entails compressing the data from the IP datagram and placing the result after the IPComp header. For example, compressing a TCP datagram;
Pereira Informational [Page 3]
RFC 2394 IP Payload Compression Using DEFLATE December 1998
Before: IP TCP ... After: IP IPCOMP (TCP ...)
2.2 Decompression
As in the compression process, the IPCA defines the parameters and algorithm to utilize for the decompression process.
3. Thresholds
As stated in [IPCOMP], compression on small buffers does not usually work as well as on fast links since the time it takes to compress is slower than the time to transport the data. Informal tests show that the average buffer size that produces larger results is around 90 bytes. Thus implementations SHOULD NOT attempt to compress buffers smaller than 90 bytes.
4. IPSec Transform Identifier
[IPDOI] states that the ISAKMP IPCOMP transform ID for the DEFLATE compression algorithm is IPCOMP_DEFLATE. No other ISAKMP parameters are required for the IPCOMP DEFLATE algorithm.
5. Security Considerations
This document does not add any further security considerations that [IPCOMP] and [Deutsch96] have already declared.
Pereira Informational [Page 4]
RFC 2394 IP Payload Compression Using DEFLATE December 1998 6. References[IPCOMP] Shacham, A., Monsour, R., Pereira, R., and M. Thomas, "IP
7. Acknowledgments
The author wishes to thank all of the active members of the IPPCP working group especially Abraham Shacham and Naganand Doraswamy.
8. Editor's Address
Roy Pereira TimeStep Corporation
Pereira Informational [Page 5]
RFC 2394 IP Payload Compression Using DEFLATE December 1998 9. Full Copyright StatementCopyright (C) The Internet Society (1998). All Rights Reserved.