简介
数据压缩可减小通过网络链路传输的数据帧的大小。减小帧大小可缩短通过网络传输帧所需的时间。数据压缩在传输链路的每一端提供编码方案,允许从链路发送端的数据帧中删除字符,然后在接收端正确替换字符。由于压缩帧占用的带宽较少,因此我们可以一次传输更大的卷。
我们将网间设备中使用的数据压缩方案称为无损压缩算法。这些方案精确地再现原始比特流,而不会降低或丢失。路由器和其他设备需要此功能才能通过网络传输数据。网际设备上最常用的两种压缩算法是Stacker压缩和Predictor数据压缩算法。
开始使用前
规则
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
先决条件
本文档没有任何特定的前提条件。
使用的组件
本文档不限于特定的软件和硬件版本。
数据压缩
数据压缩可以广泛分为硬件和软件压缩。此外,软件压缩可以分为两种类型,CPU密集型或内存密集型。
栈式压缩
堆垛机压缩是基于Lempel-Ziv压缩算法的。Stacker算法使用编码字典,用代码替换连续的字符流。这将由代码表示的符号存储在字典样式列表中。由于代码和原始符号之间的关系随着数据的变化而变化,因此这种方法对数据中的变化的响应更快。这种灵活性对LAN数据尤其重要,因为许多不同的应用可以在任意时间通过WAN传输。此外,随着数据的变化,字典也会随之改变以适应和适应流量的不同需求。栈式压缩占用 CPU 资源较多,但内存消耗较低。
要配置Stacker压缩,请在接口配置模式下发出命令compress stac。
预测器压缩
Predictor压缩算法尝试通过使用索引在压缩字典中查找序列来预测数据流中的下一个字符序列。然后检查数据流中的下一个序列,看其是否匹配。如果是,该序列将替换字典中查找的序列。如果没有匹配,算法将查找索引中的下一个字符序列,然后重新开始该过程。索引通过从输入流中散列一些最近的字符序列来更新自身。尝试压缩已经压缩的数据时无需花费任何时间。用预测器得到的压缩比不像其他压缩算法那么好,但它仍然是目前最快的压缩算法之一。Predictor 压缩占用内存资源较多,但 CPU 消耗较低。
要配置Predictor压缩,请在接口配置模式下发出命令compress predictor。
思科网际互联设备使用Stacker和Predictor数据压缩算法。压缩服务适配器(CSA)仅支持Stacker算法。Stacker方法功能最全面,因为它运行于任何受支持的点对点第2层封装上。Predictor仅支持PPP和LAPB。
Cisco IOS 数据压缩
没有行业标准压缩规范,但Cisco IOS®软件支持多种第三方压缩算法,包括Hi/fn Stac Limpel Zif Stac(LZS)、Predictor和Microsoft点对点压缩(MPPC)。 这些数据会按每个连接或在网络中继级别压缩数据。
压缩可以在整个数据包、仅报头或仅负载的基础上进行。这些解决方案的成功很容易通过压缩比和平台延迟来衡量。
Cisco IOS软件支持以下数据压缩产品:
但是,压缩可能并不总是合适,并且可能受以下因素影响:
-
无标准:虽然Cisco IOS软件支持多种压缩算法,但它们是专有的,不一定具有互操作性。
注:压缩事务的两端必须支持相同的算法。
-
数据类型:相同的压缩算法会根据要进行压缩的数据类型产生不同的压缩比。某些数据类型固有的可压缩性比其他数据类型低,可实现高达6:1的压缩比。思科保守地将Cisco IOS压缩比平均为2:1。
-
已压缩数据:尝试压缩已压缩的数据(如JPEG或MPEG文件)比传输数据所花的时间要长,而根本不进行任何压缩。
-
处理器使用:软件压缩解决方案在路由器中消耗宝贵的处理器周期。路由器还必须支持其他功能,如管理、安全和协议转换;压缩大量数据会降低路由器性能并导致网络延迟。
压缩率最高的通常是使用高度可压缩的文本文件。压缩数据会导致性能下降,因为它是软件而不是硬件压缩。在配置压缩时,对于内存较少且CPU速度较慢的较小系统,请谨慎。
Cisco 硬件压缩
Cisco 7000 平台
CSA为思科网际网络操作系统(Cisco IOSTM)压缩服务执行硬件辅助的高性能压缩。它适用于所有配备Cisco 7500系列、7200系列和RSP7000的7000系列路由器。
CSA在中心站点提供高性能压缩。它能够使用基于Cisco IOS软件的压缩从远程思科路由器接收多个压缩流。CSA通过从RSP7000、7200和7500的中央处理引擎卸载压缩算法(使用分布式压缩)来最大限度地提高路由器性能,使其能够专用于路由和其他特殊任务。
在Cisco 7200系列路由器中使用时,CSA可以在任何接口上卸载压缩。如果在VIP2上使用,则它仅在同一VIP上的相邻端口适配器上卸载压缩。
Cisco 3620 及 3640 平台
压缩网络模块通过从主CPU卸载压缩所需的密集处理来显着提高Cisco 3600系列的压缩带宽。它使用专用的优化协处理器设计,支持全双工压缩和解压。压缩位于链路层或第2层,支持PPP和帧中继。
在主Cisco 3600系列CPU上执行的Cisco IOS软件通常支持低速广域网压缩。对于Cisco 3620,此带宽远低于T1/E1速率,而对于Cisco 3640,则接近T1速率。但是,如果Cisco 3600系统还要执行其他处理器密集型任务,则无法达到这些速率。压缩网络模块卸载了主CPU,以便它能够处理其他任务,同时将Cisco 3620和Cisco 3640上的压缩带宽提高到2 E1全双工(2 x 2.048 Mbps全双工)。 您可以将此带宽用于单个信道或电路或跨多达128个信道。示例范围从E1或T1租用线路到128个ISDN B信道或帧中继虚电路。
Cisco 3660 平台
Cisco 3660系列的数据压缩高级集成模块(AIM)使用两个可用的Cisco 3660内部AIM插槽中的任一一个,确保外部插槽可用于集成模拟语音/传真、数字语音/传真、ATM、信道服务单元/数字服务单元(CSU/DSU)、模拟和数字等组件调制解调器。
数据压缩技术通过减小帧大小和允许通过链路传输更多数据来最大化带宽并提高广域网链路吞吐量。虽然基于软件的压缩功能可以支持部分T1/E1速率,但基于硬件的压缩会卸载平台的主处理器,以提供更高级别的吞吐量。数据压缩AIM的压缩比高达4:1,支持16-Mbps的压缩数据吞吐量,而不会增加额外的流量延迟 — 足以使四个T1或E1电路同时在两个方向上充满压缩数据。数据压缩AIM支持LZS和Microsoft点对点压缩(MPCC)算法。
Cisco 2600 平台
Cisco 2600系列的数据压缩AIM使用Cisco 2600的内部高级集成模块插槽,因此外部插槽可用于集成CSU/DSU、模拟调制解调器或语音/传真模块等组件。
数据压缩AIM支持8Mbps的压缩数据吞吐量,而不会增加流量延迟,它支持LZS和Microsoft点对点压缩(MPCC)算法。