米葫芦网

使用DEFLATE的IP有效载荷压缩

热度:3℃ 发布时间:2024-11-17 17:59:20

本备忘录的状态
本备忘录为Internet团体提供信息。不在任何形式上规定一个Internet标准。发布本备忘录不受任何限制。
.版权声明
Copyright(C)TheInternetSociety(1998).AllRightsReserved.
.摘要
本文档一种基于DEFLATE压缩算法的压缩方法。本文档描述了DEFLATE算法对IP有效载荷压缩协议的应用。
1.介绍
IP有效载荷压缩协议答应通过支持不同的压缩算法对IP数据报的压缩。本文档描述了怎样把DEFLATE压缩算法[Deutsch96]集成到IPCOMP[IPCOMP]。
本文档SHOULD和[IPCOMP]结合阅读并且MUST通过上下文来理解。
1.1DEFLATE压缩算法
被PKZIP和gzib压缩机制使用,并且被收录到自由和广泛发布的zlib库源代码,“deflate”压缩格式[3]有以下特点;
—一个明显的不受限制的编码和压缩算法,和开放的公共可用的规范。
—对不可压缩数据的低开支的避开机制。PPPDeflate规范提供更大程度上减少开支的选项。
—很广泛的使用在网络、调制解调器和别的点到点链路上为个人计算机和工作站传输文件。
—对压缩方和解压缩方来说,使用少于64K的内存,可以在Calgarycorpus[5]上很轻易的达到2:1的压缩率。
1.2Licensing
1.2使用许可
zlib源代码是广泛的和自由的使用,服从以下版权:
(C)1995Jean-LoupGaillyandMarkAdler
提供本软件完全随意,不需要任何表示或者隐含的保证。软件的作者不对因为使用本软件而带来的损害负有任何责任。
授权给为任何目的使用本软件的任何人,包括商用程序,可以自由的改变和重新发布本软件。服从以下限制:
1.本软件的原始资料不能被歪曲,不能声明你写的最原始的软件。假如你在你的产品里使用了本软件,应该在爱产品文档里面表示致谢,但不是要求。
2.对源版本的任何改变必须明白的标出,而且绝对不答应不如实的反映源软件。
3.本提示可以从任何发布的源文件中移出或改变。
Jean-LoupGaillyMarkAdler
gzip@prep.ai.mit.edumadler@alumni.caltech.edu
假如你在你的产品中使用了zlib库,我们很不情愿收到冗长的要签署的法律文件。源代码是免费提供,不需要任何形式的授权。这个库是完全由Jean-LoupGailly和MarkAdler写成,不包含第三方的代码。
Deflate格式和压缩算法是基于Lempel-ZivLZ77压缩。为了支持其专利免费状态,GNU计划和小型网络图形(PortableNetworkGraphics)工作组做了更广泛的研究。
1.3需求说明
在本文档中出现的要害字‘MUST’、‘MUSTNOT’、‘REQUIRED’、‘SHOULD’、‘SHOULDNOT’和‘MAY’的解释在[Bradner97]中描述。
2.DEFLATE算法的执行
DEFLATE压缩算法是PhilKatz设计的,其实现细节在[Deutsch96]中可以公开得到的。所以它是一个可以在IPCOMP中实现的自由可用的算法。
压缩和解压的细节遵循[Deutsch96]中概述的,或者使用软件库更好一些。因为IPComp是一个无状态协议,不论在压缩或者解压过程不同报文之间压缩历史MUST被清空。
2.1压缩
在[IPCOMP]中定义的,压缩过程是通过IP压缩联合(IPCA)决定的。IPCA在本文档内MUST为压缩过程定义DEFLATE算法。
压缩过程需要从IP数据报中压缩数据然后把压缩结果放在IPComp头的后面。如下例,压缩一个TCP数据报:
压缩前:IPTCP...
压缩后:IPIPCOMP(TCP...)
请注重在IPCOMP头之后的数据是怎样压缩的。
DELATE答应一个压缩等级数从最好的压缩率但比较慢到比较快压缩之间变化。一个压缩等级数是压缩执行必须依靠的,因为要与解压保持一致。
2.2解压
在压缩过程中,IPCA为解压过程定义了参数和算法。按照在[IPCOMP]中的定义,IPComp头后的数据被解压然后在IP头中取代IPComp头。
使用DEFLATE的解压过程按照[Deutsch96]中定义的解压过程。
3.限度
按照[IPCOMP]中的说明,假如在一个比较小的缓冲区里面执行压缩即使链路比较快也不会工作的很好,因为压缩花费的时间比传输花费的时间要少。非正式的测试显示能够产生最好结果的平均缓冲大小是90字节。所以执行一种压缩算法的缓冲区SHOULDNOT小于90字节。
除了缓冲大小的限制,[IPCOMP]中没有定义可压缩性的测试,本文档也没有概述。
4.IPSec传输标志符
[IPDOI]声明:DEFLATE压缩算法的ISAKMPIPCOMP传输ID是IPCOMP_DEFLATE。IPCOMP_DEFLATE不需要别的ISAKMP参数。
5.安全考虑
本文档没有更深层次的增加在[IPCOMP]和[Deutsch96]中已经说明的安全方面的考虑。
6.参考资料
[IPCOMP]Shacham,A.,Monsour,R.,Pereira,R.,andM.Thomas,"IP
PayloadCompressionProtocol(IPComp)",RFC2393,
December1998.
[Deutsch96]Deutsch,P.,"DEFLATECompressedDataFormat
Specificationversion1.3",RFC1951,May1996.
[IPDOI]Piper,D.,"TheInternetIPSecurityDomainof
InterpretationforISAKMP",RFC2407,November1998.
[Corpus90]Bell,T.C.,Cleary,G.G.andWitten,I.H.,"Text
Compression",Prentice_Hall,EnglewoodCliffsNJ,1990.
Thecompressioncorpusitselfcanbefoundin
FTP://ftp.uu.net/pub/archiving/zip/
[Gailly95]Gailly,J.-L.,"Zlib0.95beta"
7.致谢
作者感谢IPPPCP工作组的所有成员,非凡是AbrahamShacham和NaganandDoraswamy。
8.编辑地址
RoyPereira
TimeStepCorporation
Phone:+1(613)599-3610x4808
EMail:rpereira@timestep.com
可以通过Email:ippcp@cisco.com联系工作组,或者通过他的主席:
NaganandDorswamy
BayNetworks
EMail:naganand@baynetworks.com
9.全部版权声明
Copyright(C)TheInternetSociety(1999).AllRightsReserved.
Thisdocumentandtranslationsofitmaybecopiedandfurnishedto
others,andderivativeworksthatcommentonorotherwiseeXPlainit
orassistinitsimplementationmaybeprepared,copied,published
anddistributed,inwholeorinpart,withoutrestrictionofany
kind,providedthattheabovecopyrightnoticeandthisparagraphare
includedonallsUChcopiesandderivativeworks.However,this
documentitselfmaynotbemodifiedinanyway,suchasbyremoving
thecopyrightnoticeorreferencestotheInternetSocietyorother
Internetorganizations,exceptasneededforthepurposeof
developingInternetstandardsinwhichcasetheproceduresfor
copyrightsdefinedintheInternetStandardsprocessmustbe
followed,orasrequiredtotranslateitintolanguagesotherthan
English.
Thelimitedpermissionsgrantedaboveareperpetualandwillnotbe
revokedbytheInternetSocietyoritssuccessorsorassigns.
Thisdocumentandtheinformationcontainedhereinisprovidedonan
"ASIS"basisandTHEINTERNETSOCIETYANDTHEINTERNETENGINEERING
TASKFORCEDISCLAIMSALLWARRANTIES,EXPRESSORIMPLIED,INCLUDING
BUTNOTLIMITEDTOANYWARRANTYTHATTHEUSEOFTHEINFORMATION
HEREINWILLNOTINFRINGEANYRIGHTSORANYIMPLIEDWARRANTIESOF
MERCHANTABILITYORFITNESSFORAPARTICULARPURPOSE.



网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
Greenfoot设置中文的方法

Greenfoot设置中文的方法

Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...

07-05

Egret UI Editor修改快捷键的方法

Egret UI Editor修改快捷键的方法

Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...

07-05

KittenCode新建项目的方法

KittenCode新建项目的方法

KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...

07-05

Thonny设置中文的方法

Thonny设置中文的方法

Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...

07-05

最新软件下载