One document matched: draft-thomas-ippcp-compression-00.txt
Compression Working Group Matt Thomas
Internet Draft AltaVista Internet Software
July 1997
The Compressed Payload Header
draft-thomas-ippcp-compression-00.txt
Abstract
This doucment defines the Compressed Payload Header. The Compressed
Payload Header encapsulates payloads (TCP header and data for
instance) which have been compressed for traversal of the network.
The Compressed Payload Header is generally used in conjunction with
the IP Security Headers.
Status of This Memo
This document is a submission to the Compression Working Group of
the Internet Engineering Task Force (IETF). Comments should be
submitted to the ippcp@external.cisco.com mailing list. This
document is not at this time a product of the Compression Working
Group, but a proposal to become a product of the Compression Working
Group.
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as ``work in
progress.''
To learn the current status of any Internet-Draft, please check the
``1id-abstracts.txt'' listing contained in the Internet-Drafts
Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast).
Distribution of this document is unlimited.
Table Of Contents
1. Introduction 3
1.1. Specification of Requirements 3
2. Compression Process 3
3. Compression Model 4
4. Compressed Payload Header Format 4
5. Negotiation 5
Expires December 1997 [Page 1]
Internet Draft The Compressed Payload Header July 1997
6. Security Considerations 5
7. Acknowledgements 5
8. References 5
9. Authors' Addresses 6
Expires December 1997 [Page 2]
Internet Draft The Compressed Payload Header July 1997
1. Introduction
The use of IP Security will prevent layers below IP from being able
to compress data. Thus in addition to the computational overhead of
IP Security, IP Security will also cause a significant loss in
effective throughput on those network paths that use compression at
the datalink level or below (e.g PPP).
To aleviate this, before the data is encrypted by IP Security it may
be compressed. For this case, the Compressed Payload Header has
been created.
A notion of a Compress Association is used in this document. It
refers to a set of compression information relating to a network
connection or a set of network connections. It is analagous to a
Security Assocation as used by IP Security.
1.1. Specification of Requirements
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC-2119].
2. Compression Process
The compression processing of IP datagrams has two phases,
compressing of outbound IP datagrams ("Compression") and
decompressing of inbound datagrams ("Decompression"). The
compression processing MUST be lossless, ensuring that the IP
atagram after being Compressed and Decompressed is identical to the
original IP datagram.
The Compression of outbound IP datagrams MUST be done before any IP
security processing, such as encryption and authentication, and
before any fragmentation of the IP datagram. Similarly, the
Decompression of inbound IP datagrams MUST be done after the
reassembly of the IP datagrams, and after the completion of all IP
security processing, such as authentication and decryption.
Processing of inbound IP datagrams MUST support both Compressed and
non-compressed IP datagrams.
The Compression is applied to only the upper layer protocol (ULP)
payload and does not include the IP header or other optional headers
such as the Hop-By-Hop header or Routing header. The size of a
Compressed datagram is always in whole octet units.
If the Compressed ULP is larger than the initial ULP, then
Compressed ULP is discarded and the initial ULP is transmitted. The
Compresser SHOULD keep track of successful compressions versus
unsuccessful compressions.
Expires December 1997 [Page 3]
Internet Draft The Compressed Payload Header July 1997
3. Compression Model
One posconceptual model that can be used is to only compress when it
will result in an overall increase in network throughput. If the
Compression Process results in a decrease in network throughput then
Compression SHOULD be stopped and the packets transmitted
uncompressed. If it consumes more resources to compress the ULP and
transmit a Compressed datagram than it does transmit the Original
datagram then that ULP should not have been compressed.
A hueristic to see if an ULP is compressable might be try to
compress the ULP and if, at some point in, the ULP is not
compressing, abort the compression process. The point at which the
test is performed could vary depending on how successful previous
compression attempts have been. The more successful, the further
into the ULP the point could be. The less successful, the closer to
the beginning of the ULP. This would try to minimize the time
trying to compress uncompressable data.
4. Compressed Payload Header Format
With inspiration from IPv6, the following header is defined as:
0 32 32+N EOP
+-------------------+--------+...--------------+
| CPI | CHDR | compressed data |
+-------------------+--------+...--------------+
CPI The Compression Parameters Index (CPI) is a 32-bit
pseudo-random value identifying the compression
association for this datagram. The Compression
Parameters Index value 0 is reserved to indicate
that "no compression association exists"; this value
should only be used for development purposes.
The set of Compression Parameters Index values in
the range 1 through 255 are reserved to the Internet
Assigned Numbers Authority (IANA) for future use. A
reserved CPI value will not normally be assigned by
IANA unless the use of that particular assigned CPI
value is openly specified in an RFC. A reserved CPI
value SHALL NOT have implicit state (payload type,
ports, etc.).
CHDR The Compression Header is a variable-length
per-algorithm area which contains information on how
to decompress the compressed data. This header MAY
end on a byte boundary.
The payload type (protocol type) of the Compress Payload Header is
<TDB>.
The payload type of the compressed data MUST be obtained from either
Expires December 1997 [Page 4]
Internet Draft The Compressed Payload Header July 1997
the Compression Association, the Compression Header, or the
compressed data. How is it obtained is algorithm-specific.
Note that compression can be negotiated without AH or ESP. The
Compression Algorithm SHOULD detect data corruption in the
compressed payload.
5. Negotiation
Before the compressed Payload Header can be used, it must be known
that the destination can decode the Compressed Payload Header. This
can be done either manually or be negotiated using ``Internet
Security Association and Key Management Protocol (ISAKMP)''
[ISAKMP], ``The resolution of ISAKMP with Oakley'' [OAKLEY], and
`The Internet IP Security Domain of Interpretation for ISAKMP''
[IPDOI].
When negotiating for the use of the Compressed Payload Header, an
ISAKMP proposal payload is generated with the PROTOCOL-ID set to CPH
<value is TBD by IANA> and a non-zero number of Transform payloads,
one for each compression protocol supported.
When specifying the CPI in the proposal payload, the CPI is placed
in first 4 bytes of SPI field in network order and remaining 4 bytes
are filled with 0.
If the negotiation fails, then compression MUST NOT be used.
6. Security Considerations
This protocol presents a challenge to security gateways. It is
expected that when the Compressed Payload Header is not encapulated
in an Encapsulating Security Payload, the CPI in conjuction with the
source and destination addresses will be used by security gateways
to permit or deny passage of the packet. Any packet not matching
the identities (e.g. protocol and/or port) of establishers of the
CPI MUST be discarded by the destination node and, optionally, an
audit entry SHOULD be created.
7. Acknowledgements
I'd like to thank Avram Shacham from whom I plagarized the
Compression Process section. I'd also like to acknowledge Thomas
Natren for acting as a soundboard.
8. References
[RFC-2119] S. Bradner, "Key words for use in RFCs to Indicate
Requirement Levels", Best Current Practices, March
1997
[IPDOI] D. Pipper, "The Internet IP Security Domain of
Interpretation for ISAKMP",
draft-ietf-ipsec-ipsec-doi-02.txt, Febuary 1997
Expires December 1997 [Page 5]
Internet Draft The Compressed Payload Header July 1997
[ISAKMP] D. Maughan, M. Schertler, M. Schneider, J. Turner,
"Internet Security Association and Key Management
Protocol (ISAKMP)", draft-ietf-ipsec-isakmp-07.txt,
March 1997
[OAKLEY] D. Harkins, D. Carrel, "The resolution of ISAKMP
with Oakley", draft-ietf-ipsec-isakmp-oakley-03.txt,
March 1997
9. Authors' Addresses
Matt Thomas
AltaVista Internet Software
30 Porter Road
Littleton, MA 01460
Email: matt.thomas@altavista-software.com
Expires December 1997 [Page 6]
| PAFTECH AB 2003-2026 | 2026-04-23 19:43:07 |