Network Working Group                                       R. Pereira
Request for Comments: 2394                        TimeStep Corporation
Category: Informational                                  December 1998
        
Network Working Group                                       R. Pereira
Request for Comments: 2394                        TimeStep Corporation
Category: Informational                                  December 1998
        

IP Payload Compression Using DEFLATE

使用DEFLATE压缩IP有效载荷

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 (1998). All Rights Reserved.

版权所有(C)互联网协会(1998年)。版权所有。

Abstract

摘要

This document describes a compression method based on the DEFLATE compression algorithm. This document defines the application of the DEFLATE algorithm to the IP Payload Compression Protocol.

本文描述了一种基于DEFLATE压缩算法的压缩方法。本文档定义了DEFLATE算法在IP有效负载压缩协议中的应用。

Table of Contents

目录

   1. Introduction...................................................2
     1.1 The DEFLATE Compression Algorithm...........................2
     1.2 Licensing...................................................2
     1.3 Specification of Requirements...............................3
   2. DEFLATE Algorithm Implementation...............................3
     2.1 Compression.................................................3
     2.2 Decompression...............................................4
   3. Thresholds.....................................................4
   4. IPSec Transform Identifier.....................................4
   5. Security Considerations........................................4
   6. References.....................................................5
   7. Acknowledgments................................................5
   8. Editor's Address...............................................5
   9. Full Copyright Statement.......................................6
        
   1. Introduction...................................................2
     1.1 The DEFLATE Compression Algorithm...........................2
     1.2 Licensing...................................................2
     1.3 Specification of Requirements...............................3
   2. DEFLATE Algorithm Implementation...............................3
     2.1 Compression.................................................3
     2.2 Decompression...............................................4
   3. Thresholds.....................................................4
   4. IPSec Transform Identifier.....................................4
   5. Security Considerations........................................4
   6. References.....................................................5
   7. Acknowledgments................................................5
   8. Editor's Address...............................................5
   9. Full Copyright Statement.......................................6
        
1. Introduction
1. 介绍

The 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].

IP有效负载压缩协议允许通过支持不同的压缩算法来压缩IP数据报。本文档描述了如何将DEFLATE压缩算法[Deutsch96]集成到IPCOMP[IPCOMP]中。

This document SHOULD be read in conjunction with [IPCOMP] and MUST be taken in its context.

本文件应与[IPCOMP]一起阅读,且必须结合上下文理解。

1.1 The DEFLATE Compression Algorithm
1.1 DEFLATE压缩算法

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:

PKZIP和gzip压缩器使用的“deflate”压缩格式[Deutsch96]体现在自由广泛分发的zlib[Gailly95]库源代码中,具有以下特性:

o an apparently unencumbered encoding and compression algorithm, with an open and publicly-available specification.

o 一种明显无阻碍的编码和压缩算法,具有开放和公开的规范。

o low-overhead escape mechanism for incompressible data. The PPP Deflate specification offers options to reduce that overhead further.

o 不可压缩数据的低开销转义机制。PPP Deflate规范提供了进一步减少开销的选项。

o heavily used for many years in networks, on modem and other point-to-point links to transfer files for personal computers and workstations.

o 多年来在网络、调制解调器和其他点对点链接上大量使用,以传输个人计算机和工作站的文件。

o easily achieves 2:1 compression on the Calgary corpus [Corpus90] using less than 64KBytes of memory on both sender and receive.

o 在卡尔加里语料库[Corpus90]上轻松实现2:1压缩,发送方和接收方的内存均少于64KB。

1.2 Licensing
1.2 许可

The zlib source is widely and freely available, subject to the following copyright:

zlib来源广泛且免费,受以下版权限制:

(C) 1995 Jean-Loup Gailly and Mark Adler

(C) 1995年Jean Loup Gailly和Mark Adler

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

本软件按“原样”提供,无任何明示或暗示担保。在任何情况下,作者均不对因使用本软件而造成的任何损害负责。

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

允许任何人出于任何目的(包括商业应用)使用本软件,并根据以下限制自由修改和重新发布本软件:

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. 不得歪曲本软件的来源;您不能声称您编写了原始软件。如果您在产品中使用此软件,请在产品文档中确认,但这不是必需的。

2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

2. 更改后的源版本必须清楚地标记为原始版本,并且不得被误认为是原始软件。

3. This notice may not be removed or altered from any source distribution.

3. 不得从任何源分发中删除或更改此通知。

Jean-Loup Gailly Mark Adler gzip@prep.ai.mit.edu madler@alumni.caltech.edu

让·洛普·盖利·马克·阿德勒gzip@prep.ai.mit.edu madler@alumni.caltech.edu

If you use the zlib library in a product, we would appreciate *not* receiving lengthy legal documents to sign. The sources are provided for free but without warranty of any kind. The library has been entirely written by Jean-Loup Gailly and Mark Adler; it does not include third-party code.

如果您在产品中使用zlib库,我们希望*不要*收到冗长的法律文件以供签署。这些来源是免费提供的,但不提供任何形式的担保。该图书馆完全由Jean Loup Gailly和Mark Adler编写;它不包括第三方代码。

The deflate format and compression algorithm are based on Lempel-Ziv LZ77 compression; extensive research has been done by the GNU Project and the Portable Network Graphics working group supporting its patent free status.

deflate格式和压缩算法基于Lempel-Ziv-LZ77压缩;GNU项目和支持其无专利地位的便携式网络图形工作组已经进行了广泛的研究。

1.3 Specification of Requirements
1.3 需求说明

The keywords "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", and "MAY" that appear in this document are to be interpreted as described in [Bradner97].

本文件中出现的关键词“必须”、“不得”、“必需”、“应该”、“不应该”和“可能”应按照[Bradner97]中所述进行解释。

2. DEFLATE Algorithm Implementation
2. DEFLATE算法的实现

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.

DEFLATE压缩算法由Phil Katz设计,其详细信息可在[Deutsch96]中公开获取。因此,它是一个很好的在IPCOMP中实现的免费算法。

Compression and decompression algorithm details should be followed as outlined in [Deutsch96] or the use of a software library may be preferable. Since IPComp is a stateless protocol, history MUST be cleared between packets when either compressing or decompressing.

应遵循[Deutsch96]中概述的压缩和解压缩算法细节,或者最好使用软件库。由于IPComp是一个无状态协议,所以在压缩或解压缩数据包时,必须清除数据包之间的历史记录。

2.1 Compression
2.1 压缩

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.

如[IPCOMP]中所定义,压缩过程由IP压缩协会(IPCA)确定。IPCA必须为本文件中的流程定义放气算法。

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;

压缩过程需要压缩来自IP数据报的数据,并将结果放在IPComp报头之后。例如,压缩TCP数据报;

Before: IP TCP ... After: IP IPCOMP (TCP ...)

以前:IP TCP。。。之后:IP IPCOMP(TCP…)

Please note how everything after the IPCOMP header is compressed.

请注意如何压缩IPCOMP头之后的所有内容。

DEFLATE allows for a number of compression levels ranging from best compression but slow to fast compression. The level that one compresses data is implementation dependant since it is always compatible with the decompression algorithm.

DEFLATE允许多种压缩级别,从最佳压缩到慢速压缩到快速压缩。压缩数据的级别取决于实现,因为它始终与解压缩算法兼容。

2.2 Decompression
2.2 减压

As in the compression process, the IPCA defines the parameters and algorithm to utilize for the decompression process.

与压缩过程一样,IPCA定义了用于解压缩过程的参数和算法。

As defined in [IPCOMP] the data after the IPComp header is decompressed and replaces the IPComp header within the IP header.

如[IPCOMP]中所定义,IPCOMP头解压缩后的数据将替换IP头中的IPCOMP头。

Decompression using the DEFLATE algorithm follows the decompression process defined in [Deutsch96].

使用DEFLATE算法的解压缩遵循[Deutsch96]中定义的解压缩过程。

3. Thresholds
3. 阈值

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.

如[IPCOMP]中所述,小型缓冲区上的压缩通常不如快速链路上的压缩效果好,因为压缩所需的时间比传输数据所需的时间慢。非正式测试表明,产生较大结果的平均缓冲区大小约为90字节。因此,实现不应试图压缩小于90字节的缓冲区。

Other than a packet size limit, no compressibility test as defined in [IPCOMP] is outlined in this document.

除数据包大小限制外,本文件未概述[IPCOMP]中定义的压缩性测试。

4. IPSec Transform Identifier
4. IPSec转换标识符

[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.

[IPDOI]声明DEFLATE压缩算法的ISAKMP IPCOMP转换ID为IPCOMP_DEFLATE。IPCOMP DEFLATE算法不需要其他ISAKMP参数。

5. Security Considerations
5. 安全考虑

This document does not add any further security considerations that [IPCOMP] and [Deutsch96] have already declared.

本文件未添加[IPCOMP]和[Deutsch96]已经声明的任何其他安全注意事项。

6. References
6. 工具书类

[IPCOMP] Shacham, A., Monsour, R., Pereira, R., and M. Thomas, "IP Payload Compression Protocol (IPComp)", RFC 2393, December 1998.

[IPCOMP]Shacham,A.,Monsour,R.,Pereira,R.,和M.Thomas,“IP有效载荷压缩协议(IPCOMP)”,RFC 23931998年12月。

[Deutsch96] Deutsch, P., "DEFLATE Compressed Data Format Specification version 1.3", RFC 1951, May 1996.

[Deutsch96]Deutsch,P.,“DEFLATE压缩数据格式规范1.3版”,RFC1951,1996年5月。

[IPDOI] Piper, D., "The Internet IP Security Domain of Interpretation for ISAKMP", RFC 2407, November 1998.

[IPDOI]Piper,D.,“ISAKMP解释的互联网IP安全域”,RFC 2407,1998年11月。

   [Corpus90]  Bell, T.C., Cleary, G. G. and Witten, I.H., "Text
               Compression", Prentice_Hall, Englewood Cliffs NJ, 1990.
               The compression corpus itself can be found in
               ftp://ftp.uu.net/pub/archiving/zip/
        
   [Corpus90]  Bell, T.C., Cleary, G. G. and Witten, I.H., "Text
               Compression", Prentice_Hall, Englewood Cliffs NJ, 1990.
               The compression corpus itself can be found in
               ftp://ftp.uu.net/pub/archiving/zip/
        

[Gailly95] Gailly, J.-L., "Zlib 0.95 beta"

[Gailly95]Gailly,J.-L.,“Zlib 0.95β”

7. Acknowledgments
7. 致谢

The author wishes to thank all of the active members of the IPPCP working group especially Abraham Shacham and Naganand Doraswamy.

作者谨感谢IPPCP工作组的所有积极成员,特别是亚伯拉罕·沙查姆和纳加南德·多拉斯瓦米。

8. Editor's Address
8. 编辑地址

Roy Pereira TimeStep Corporation

罗伊·佩雷拉时代步公司

   Phone: +1 (613) 599-3610 x 4808
   EMail: rpereira@timestep.com
        
   Phone: +1 (613) 599-3610 x 4808
   EMail: rpereira@timestep.com
        

The IP Payload Compression Protocol (IPPCP) working group can be contacted via email (ippcp@cisco.com) or through its chair:

可通过电子邮件联系IP有效负载压缩协议(IPPCP)工作组(ippcp@cisco.com)或通过其主席:

Naganand Dorswamy Bay Networks

纳加南多斯瓦米湾网络

   EMail: naganand@baynetworks.com
        
   EMail: naganand@baynetworks.com
        
9. Full Copyright Statement
9. 完整版权声明

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

版权所有(C)互联网协会(1998年)。版权所有。

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.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。