background image
Compression Overview 315
The Predictor compression method is like sign language. Rather than spelling out each
individual word (no compression), a single hand motion utilizes an entire word or concept
(compression). Because both parties understand the hand motions, successful communication
occurs. Conversely, when one of the people involved in the communication does not understand
sign language, communication does not occur. This same lack of communication occurs with
compression. If one side is using a compression algorithm, so too must the other side. (Need it
be mentioned that the algorithm must be the same at both sides?)
The concept behind this type of algorithm is utilized in compression methods outside the data
realm as well. Many voice compression implementations, for instance, make use of G.729 and
G.729a (CSA-CELP) implementations that provide 8-kbps voice compression, down from
64-kpbs, across a WAN. These implementations are directly based on the code book/dictionary
prediction methodology.
Although STAC is CPU-intensive, Predictor tends to be extremely memory intensive.
Therefore, if the router has not been outfitted with a good amount of RAM, don't even think
about implementing Predictor. If RAM is plentiful, it is a consideration that can be beneficial.
Payload Compression
Payload compression is exactly what its name implies. Also known as per-VC compression,
payload compression compresses only the data portion of the transmission. All headers are left
intact.
It cannot be assumed that customer WAN links are all dedicated point-to-point connections. To
that end, payload compression might need to be implemented if compression is needed on a
WAN link. WAN technologies such as Frame Relay, ATM, X.25, and SMDS require that the
header information be untouched so that it can be read by the individual switches that the
transmission crosses. Any implementation of virtual circuits disallows link compression. In
these cases, payload compression is appropriate.
TCP Header Compression
RFC 1144 defines the Van Jacobson algorithm. In doing so, it also defines the algorithm for
TCP/IP header compression. The 20-byte IP header is compressed to 2 or 4 bytes to reduce
overhead across the network. The Layer 2 header remains intact so that it can be utilized by the
appropriate Layer 2 transport.
This type of compression is most beneficial when used with implementations transmitting small
packets, such as voice over IP, Telnet, and so forth. This type of compression can be done on
just about any WAN implementation (X.25, Frame Relay, ISDN, and so on).