HTTP/1.1 200 OK Date: Mon, 08 Apr 2002 23:48:55 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Sat, 05 Apr 1997 02:55:17 GMT ETag: "2e6e03-2cd1-3345bf15" Accept-Ranges: bytes Content-Length: 11473 Connection: close Content-Type: text/plain Network Working Group M. Engan INTERNET-DRAFT Lulea University of Technology Expire in six months January 1997 Header Compression for IPv6 over PPP Status of this Memo Distribution of this memo is unlimited. 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). Abstract The Point-to-Point Protocol [RFC1548] provides a standard method of encapsulating Network Layer protocol information over point-to-point links. Header Compression for IPv6 [IPv6HC] is a method to compress IPv6 datagram headers (any combination of IPv6, IPv4, TCP and UDP headers can be compressed). This document describes methods for transmission of datagrams with headers compressed by IPv6 Header Compression over point-to-point links. Engan [Page 1] INTERNET-DRAFT Januari 14, 1997 1. Introduction In order to establish IPv6 Header Compression (IPv6HC) over a PPP link each end of the link must agree on a set of configuration parameters for IPv6HC. The process of negotiating link parameters for network layer protocols is handled by a family of network control protocols (NCPs). IPv6HC is not limited to compression of only IPv6 datagram headers but can also compress IPv4 headers. Header Compression for IPv6 can be negotiated by either one of the two NCPs that control link parameters for IPv6 and IPv4. In this document the configuration option that is used by an NCP to negotiate parameters for IPv6 Header Compression is defined. IPv6HC relies on the link layers ability to indicate the types of datagrams carried in the link layer frames. New PPP Data Link Layer Protocol Field values need to be allocated to IPv6 Header Compression otherwise the efficiency of the compression scheme will be lower than what can be achieved. In this document four new values for the PPP ProtoID along with their meaning are defined. 2. Configuration Option Format The IPv6 Header Compression is useful for compression of both IPv4 and IPv6 datagram headers. Therefore both the network control protocol for IPv4, IPCP [RFC1332] and the IPv6 NCP, IPV6CP [RFC2023] may be able to negotiate IPv6 Header Compression parameters. The format of the configuration option is the same for both IPCP and IPV6CP. Engan [Page 2] INTERNET-DRAFT Januari 14, 1997 Description This NCP configuration option is used to negotiate parameters for IPv6 Header Compression. The option format is summarized below. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | IPV6-Compression-Protocol | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | F_MAX_PERIOD | F_MAX_TIME | MAX_HEADER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TCP_SPACE | NON_TCP_SPACE | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 2 Length 12 IPV6-Compression-Protocol TO BE ASSIGNED F_MAX_PERIOD Maximum interval between full headers. No more than F_MAX_PERIOD compressed headers may be sent between full headers. Default: 256 F_MAX_PERIOD must be at least 1 and at most 65535. F_MAX_TIME Maximum time interval between full headers. Compressed headers may not be sent more than F_MAX_TIME seconds after sending last full header. Default: 5 seconds F_MAX_TIME must be at least 1 and at most 255. MAX_HEADER The largest header size in 8-octet units that may be compressed. Default: 21 (168 octets) MAX_HEADER must be at least 13 (120 octets) and at most 125 (1000) Engan [Page 3] INTERNET-DRAFT Januari 14, 1997 octets. TCP_SPACE The TCP_SPACE field is one octet and indicates the maximum value of a connection identifier in the space of connection identifiers allocated for TCP. Default: 16 TCP_SPACE must be at least 3 and at most 255. NON_TCP_SPACE The NON_TCP_SPACE field is two octets and indicates the maximum value of a connection identifier in the space of connection identifiers allocated for non-TCP. Default: 15 NON_TCP_SPACE must be at least 3 and at most 65535. FLAGS The FLAGS field consists of eight one bit flags. Only one is currently defined. 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |R| | +-+-+-+-+-+-+-+-+ [R] EXPECT_REORDERING Use mechanisms that protect from link-layer reordering of datagrams. Default: 0 3. Multiple Network Control Protocols The IPv6 Header Compression protocol compresses both IPv6 and IPv4 datagrams. Thus IPv6HC may be useful even if only IPv4 is used on a link. Therefore both IPCP and IPV6CP should be able to negotiate option values for IPv6 Header Compression. If a node is capable of using both IPv6 and IPv4 and is configured to use IPv6 Header Compression for both network layer protocols over one link, the header compression option values negotiated by IPV6CP should have absolute precedence over option values negotiated by IPCP. If IPCP has completed negotiation of link parameters for IPv4 and Engan [Page 4] INTERNET-DRAFT Januari 14, 1997 has applied the IPv6 Header Compression configuration parameters before IPV6CP has done the same, the parameters negotiated by IPV6CP should take precedence and the IPv6 Header Compression should be reinitialized. If IPV6CP has completed negotiation of link parameters for IPv6 and has applied the IPv6 Header Compression comfiguration parameters before IPCP has done the same, the parameters negotiated by IPCP should be discarded. 4. Demultiplexing of Datagrams The specification of IPv6 Header Compression [IPv6HC] defines four header formats for different types of compressed headers. They are compressed TCP, compressed TCP with no delta encoding, compressed non-TCP with 8 bit CID and compressed non-TCP with 16 bit CID. A fifth header format, the full header (distinct from a regular header) is also defined. For correct decompression the link layer must be able to indicate that the type of a received datagram is either a full header, compressed TCP, compressed TCP with no delta encoding or compressed non-TCP. Four PPP Data Link Layer Protocol Field values are specified FULL_HEADER The frame contains a full header as specified in [IPv6HC] Section 5.3. Value: TO BE ASSIGNED 1 COMPRESSED_TCP The frame contains a datagram with a compressed header with the format as specified in [IPv6HC] Section 6a. Value: TO BE ASSIGNED 2 COMPRESSED_TCP_NODELTA The frame contains a datagram with a compressed header with the format as specified in [IPv6HC] Section 6b. Value: TO BE ASSIGNED 3 COMPRESSED_NON_TCP The frame contains a datagram with a compressed header with the format as specified in either Section 6c or Section 6d of [IPv6HC]. Value: TO BE ASSIGNED 4 Engan [Page 5] INTERNET-DRAFT Januari 14, 1997 NOTE: IPv6 Header Compression should be the only header compression protocol for compression of IPv6 and IPv4 datagram header used over a given point-to-point link at a given time. It is not impossible to use IPv6HC and Van Jacobson header compression at the same time, but there is no reason to. The following proposal makes it impossible to use both IPv6HC and Van Jacobson header compression at the same time: PROPOSAL Two PPP Data Link Layer Protocol Field values can be reused if the two Protocol Field values used by Van Jacobson header compression are also used by IPv6HC. In addition to the two Van Jacobson Protocol Field values two more need to be assigned to IPv6HC. At least one unique Protocol Field value must be assigned to IPv6HC, otherwise current specifications [RFC2023] will make it impossible to negotiate configuration parameters for IPv6 Header Compression. 5. References [RFC1548] Simpson, W., "The Point-To-Point Protocol (PPP)", RFC 1548, December 1993. [IPv6HC] Degermark, M., Nordgren, B., Pink, S., "Header Compression for IPv6", Internet-Draft (work in progress), November 26, 1996, expires May 1997. [RFC1332] McGregor, G., "The PPP Internet Protocol Control Protocol (IPCP)", RFC 1332, May 1992. [RFC2023] Haskin, E., Allan, E., "IP Version 6 over PPP", RFC 2023, October 1996. [RFC1144] V. Jacobson, "Compressing TCP/IP Headers for Low-Speed Serial Links", RFC 1144, February 1990. Engan [Page 6] INTERNET-DRAFT Januari 14, 1997 Security Considerations Security issues are not discussed in this memo. Author's Address Mathias Engan Tel: +46 920 72288 CDT/Dept of Computer Communication Fax: +46 920 72801 Lulea University of Technology Mobile: +46 70 522 8109 S-971 87 Lulea, Sweden EMail: engan@cdt.luth.se Engan [Page 7]