下载
第11章 IPSec的未来
尽管I P S e c已经是一种包容极广、功能极强的 I P 安全协议,但却仍然不能算是适用于所有
配置的一套极为完整的方案,其中仍然存在一些需要解决的问题。许多协议都乐意用 I P S e c 来
弥补自己在安全方面的缺陷,但由于 I P S e c在定址能力上的薄弱,又带来了一些新的问题。事
实上,尽管I P S e c 可以从大的方面来解决问题,但它的功能对其他某些协议来说仍嫌不够
—
比如网络地址翻译(N AT)协议。
11.1 压缩
压缩算法的工作原理是侦查数据的排布样式,并删去重复。加密算法将明文翻译为看似
无序的“密文”。加密算法越好,密文看起来越随机。但无论采用何种算法,密文的随机性都
意味着它不能被压缩。若对加密过的数据进行压缩,甚至会造成数据不缩反涨!
随着越来越多的人开始在网络层使用加密技术,他们不久便会意识到自己的传统链路层
压缩技术(比如在P P P 通信中)不仅没有任何效果,反而会吞噬掉更多的带宽。透过 P P P ,传
送的数据量反而多了起来。若关闭链路层的压缩机制,情况会变得好一些,因为加密过的数
据不会由于压缩算法作崇,反而有扩充的趋势。但那些没有加密的数据呢?用户决定对数据
加密之前,仍会觉察到由于没有压缩,自己的有效带宽缩小了!
在保密与不保密之间,假若保密对自己的利益造成了严重的损害,从而变成一种令人生
厌的东西,那么有些人就会选择不保密。显然,这样做也造成潜在的威胁。在最理想的情况
下,一个人应该不必为安全操心。
为解决这个问题,人们设计了“ I P 载荷压缩协议( IP Payload Compression Protocol)”,
简称P C P 。P C P 是一种“无状态”的协议,提供了网络层压缩的能力。它的原理很简单,便是
“先压缩、再加密”!只有这样,压缩和加密的好处才能兼顾。
压缩算法利用了“历史记录”的概念,以便追踪以前的数据样式
—
通过从历史数据中汲
取经验,它们可以不必重复做相同的事情。事实上,利用 P C P 协议,这种做法已被完全取消
了。但不幸的是, P C P 不能利用压缩算法的历史经验,因为它的设计宗旨要求它必须是“无
状态”的。它甚至不能担保 I P 包以前曾经发过,更不能担保它们是按照顺序发送的。理所当
然地,它也不能维持一个正确的压缩历史记录。在此,我们其实不值得为维护这样的一个历
史记录而付出额外的开销。而且假若一个包中途丢失,或者接收的顺序不对,那么还需不断
地刷新这个记录,并重发数据,这些事情未
免过于繁琐了!因此,若 P C P 采用的一种压
缩算法要用到历史记录,那么在每次压缩和
解压操作以后,必须由那种算法对历史记录
缓冲进行刷新。
和A H和E S P 类似,P C P也是一种典型的I P协议,它分配到的编号是 1 0 8 。假如一个I P 包的
协议字段值为1 0 8,或者I P S e c 头的“下一个头”字段值为 1 0 8,便意味着紧接着的是一个 P C P
图11-1 PCP头结构
下一个头
保留
压缩参数索引(CPI)