IPV6CP compression: Negotiation for IPv6 Datagram Compression Using IPv6 Control Protocol
How the two ends of a PPP link agree to compress IPv6 packets, using one option in the IPv6 Control Protocol.
Varada, S., Ed., "Negotiation for IPv6 Datagram Compression Using IPv6 Control Protocol", RFC 5172, DOI 10.17487/RFC5172, March 2008, <https://www.rfc-editor.org/info/rfc5172>.
@misc{rfc5172,
series = {Request for Comments},
number = 5172,
howpublished = {RFC 5172},
publisher = {RFC Editor},
doi = {10.17487/RFC5172},
url = {https://www.rfc-editor.org/info/rfc5172},
author = {S. Varada},
title = {{Negotiation for IPv6 Datagram Compression Using IPv6 Control Protocol}},
pagetotal = 7,
year = 2008,
month = mar,
} RFC text
Contents
Network Working Group S. Varada, Ed. Request for Comments: 5172 Transwitch Obsoletes: 2472 March 2008 Category: Standards Track Negotiation for IPv6 Datagram Compression Using IPv6 Control Protocol Status of This Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Abstract The Point-to-Point Protocol (PPP) provides a standard method of encapsulating network-layer protocol information over point-to-point links. PPP also defines an extensible Link Control Protocol, and proposes a family of Network Control Protocols (NCPs) for establishing and configuring different network-layer protocols. The IPv6 Control Protocol (IPV6CP), which is an NCP for a PPP link, allows for the negotiation of desirable parameters for an IPv6 interface over PPP. This document defines the IPv6 datagram compression option that can be negotiated by a node on the link through the IPV6CP. Table of Contents 1. Introduction ....................................................2 1.1. Specification of Requirements ..............................2 2. IPV6CP Configuration Options ....................................3 2.1. IPv6-Compression-Protocol ..................................3 3. Security Considerations .........................................4 4. IANA Considerations .............................................5 5. Management Considerations .......................................5 6. Acknowledgments .................................................5 7. References ......................................................5 7.1. Normative References .......................................5 7.2. Informative References .....................................6 1. Introduction PPP [1] has three main components: 1) A method for encapsulating datagrams over serial links. 2) A Link Control Protocol (LCP) for establishing, configuring, and testing the data-link connection. 3) A family of Network Control Protocols (NCPs) for establishing and configuring different network-layer protocols. In order to establish communications over a point-to-point link, each end of the PPP link must first send LCP packets to configure and test the data link. After the link has been established and optional facilities have been negotiated as needed by the LCP, PPP must send NCP packets to choose and configure one or more network-layer protocols. Once each of the chosen network-layer protocols has been configured, datagrams from each network-layer protocol can be sent over the link. The link will remain configured for communications until explicit LCP or NCP packets close the link down, or until some external event occurs (power failure at the other end, carrier drop, etc.). In the IPv6 over PPP specification [2], the NCP, or IPV6CP, for establishing and configuring IPv6 over PPP is defined. The same specification defines the Interface Identifier parameter, which can be used to generate link-local and globally unique IPv6 addresses, for negotiation. In this specification, the compression parameter for use in IPv6 datagram compression is defined. Together with RFC 5072 [2], this document obsoletes RFC 2472 [13]. However, no protocol changes have been introduced over RFC 2472. 1.1. Specification of Requirements In this document, several words are used to signify the requirements of the specification. 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 [3]. 2. IPV6CP Configuration Options IPV6CP Configuration Options allow negotiation of desirable IPv6 parameters. IPV6CP uses the same Configuration Option format as defined for LCP [1] but with a separate set of Options. If a Configuration Option is not included in a Configure-Request packet, the default value for that Configuration Option is assumed. The only IPV6CP option defined in this document is the IPv6- Compression-Protocol. The Type field for this IPV6CP Option is as follows: 2 IPv6-Compression-Protocol Note that the up-to-date values of the IPV6CP Option Type field are specified in the on-line database of "Assigned Numbers" maintained by IANA [7]. 2.1. IPv6-Compression-Protocol This Configuration Option provides a way to negotiate the use of a specific IPv6 packet compression protocol. The IPv6-Compression- Protocol Configuration Option is used to indicate the ability to receive compressed packets. Each end of the link MUST separately request this option if bidirectional compression is desired. By default, compression is not enabled. IPv6 compression negotiated with this option is specific to IPv6 datagrams and is not to be confused with compression resulting from a compression method negotiated via the PPP Compression Control Protocol (CCP) [12], which potentially affects all datagrams. A summary of the IPv6-Compression-Protocol Configuration Option format is shown below. The fields are transmitted from left to right. 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+ Type 2 Length >= 4 IPv6-Compression-Protocol The IPv6-Compression-Protocol field is two octets and indicates the compression protocol desired. Values for this field are always the same as the PPP Data Link Layer Protocol field values for that same compression protocol. IPv6-Compression-Protocol field values have been assigned in [4, 5] for IP Header Compression (0061), and in [6] for Robust Header Compression (ROHC) (0003). Other assignments can be made in documents that define specific compression algorithms. Data The Data field is zero or more octets and contains additional data as determined by the particular compression protocol. The default (in the absence of negotiation of this option) is to have no IPv6 compression protocol enabled. 3. Security Considerations Lack of proper link security, such as authentication, prior to data transfers may enable man-in-the middle attacks resulting in the loss of data integrity and confidentiality. The mechanisms that are appropriate for ensuring PPP link security are addressed below together with the reference to a generic threat model. The mechanisms that are appropriate for ensuring PPP link security are: 1) Access Control Lists that apply filters on traffic received over the link for enforcing admission policy, 2) an authentication protocol that facilitates negotiations between peers [8] to select an authentication method (e.g., MD5 [9]) for validation of the peer, and 3) an encryption control protocol that facilitates negotiations between peers to select encryption algorithms (or crypto-suites) to ensure data confidentiality [10]). There are certain threats associated with peer interactions on a PPP link even with one or more of the above security measures in place. For instance, using the MD5 authentication method [9] exposes one to replay attacks, in which an attacker could intercept and replay a station's identity and password hash to get access to a network. The user of this specification is advised to refer to [8], which presents a generic threat model, for an understanding of the threats posed to the security of a link. The reference [8] also gives a framework to specify requirements for the selection of an authentication method for a given application. 4. IANA Considerations No specific action is needed for the assignment of a value for the Type field of IPv6 datagram compression option specified in this specification. The current assignment is up-to-date in the registry "PPP IPV6CP CONFIGURATION OPTIONS" for item IPv6-Compression-Protocol (2) at [7]. However, the RFC reference for that item has been changed to 5172. No action is needed either for the assignment of the IPV6- Compression-Protocol values, as such values have already been defined by other documents listed in Section 2.1. Values for this field are always the same as the PPP Data Link Layer Protocol field values for that same compression protocol. As a result, future allocation of these values is governed by RFC 3818 [11] that requires IETF Consensus. Current values are in the registry "IPv6-Compression- Protocol Types". However, the RFC reference for that registry has been changed to 5172. 5. Management Considerations From an operational point of view, the status of the negotiation and the compression algorithm on the link should be observable by an operator managing a network. There is no standard management interface that covers this at the time of the writing of this specification. 6. Acknowledgments The editor is grateful to Jari Arkko for the direction provided on this document and James Carlson for helpful suggestions. Acknowledgments are also due to D. Haskin and E. Allen for the specification work done in RFC 2023 and RFC 2472. 7. References 7.1. Normative References [1] Simpson, W., Ed., "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, July 1994. [2] Varada, S., Ed., Haskin, D., and E. Allen, "IP Version 6 over PPP", RFC 5072, September 2007. [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [4] Degermark, M., Nordgren, B., and S. Pink, "IP Header Compression", RFC 2507, February 1999. [5] Koren, T., Casner, S., and C. Bormann, "IP Header Compression over PPP", RFC 3544, July 2003. [6] Bormann, C., "Robust Header Compression (ROHC) over PPP", RFC 3241, April 2002. 7.2. Informative References [7] IANA, http://www.iana.org. [8] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H. Levkowetz, Ed., "Extensible Authentication Protocol (EAP)", RFC 3748, June 2004. [9] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, April 1992. [10] Meyer, G., "The PPP Encryption Control Protocol (ECP)", RFC 1968, June 1996. [11] Schryver, V., "IANA Considerations for the Point-to-Point Protocol (PPP)", BCP 88, RFC 3818, June 2004. [12] Rand, D., "The PPP Compression Control Protocol(CCP)", RFC 1962, June 1996. [13] Haskin, D. and E. Allen, "IP Version 6 over PPP", RFC 2472, December 1998. Editor's Address Srihari Varada TranSwitch Corporation 3 Enterprise Dr. Shelton, CT 06484 US Phone: +1 203 929 8810 EMail: varada@ieee.org Full Copyright Statement Copyright (C) The IETF Trust (2008). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
AI ELI5
On this page
§1Introduction
The Point-to-Point Protocol (PPP) has three main parts: a method for encapsulating datagrams over serial links, a Link Control Protocol (LCP) for establishing, configuring and testing the link, and a family of Network Control Protocols (NCPs) for configuring network-layer protocols.
RFC 5172 defines one parameter for the NCP used by IPv6, the IPv6 Control Protocol (IPV6CP): the compression parameter for IPv6 datagram compression. The Interface Identifier parameter lives in the companion document, RFC 5072.
Before two computers on a cable can talk, they first agree on the rules, a bit like two friends agreeing on a game before they play. This paper adds one rule: whether to use shorthand.
§1.1Where IPV6CP Fits in a PPP Link
To set up a link, each end first sends LCP packets to configure and test the data link. After that, PPP sends NCP packets to choose and configure one or more network-layer protocols. Once a network-layer protocol is configured, its datagrams can flow over the link.
The link stays configured until explicit LCP or NCP packets close it, or until some external event occurs, such as a power failure at the other end or a carrier drop. IPV6CP is the NCP that does this configuration for IPv6.
First the two ends shake hands to make the link work. Then they talk about the details of each kind of traffic. IPV6CP is the talk about IPv6 traffic.
§2The IPv6-Compression-Protocol Option
IPV6CP uses the same Configuration Option format as LCP, but with its own set of options. If an option is left out of a Configure-Request, its default value is assumed. The only option defined here is IPv6-Compression-Protocol, Type 2.
The option signals the ability to receive compressed packets. Each end MUST request it separately if compression is wanted in both directions. By default, compression is not enabled.
The option is specific to IPv6 datagrams. It is not to be confused with compression negotiated through the PPP Compression Control Protocol (CCP), which can affect all datagrams.
Each side says which shorthand it can understand when listening. If you want shorthand both ways, both sides have to ask for it. If nobody asks, everyone speaks normally.
§2.1Option Format and Field Values
The option has a Type of 2, a Length of at least 4, a two-octet IPv6-Compression-Protocol field, and a Data field of zero or more octets whose content depends on the chosen compression protocol.
The two-octet value is always the same as the PPP Data Link Layer Protocol field value for that compression protocol. Values have been assigned for IP Header Compression (0061) and for Robust Header Compression (ROHC) (0003). Other assignments can be made in documents that define specific compression algorithms.
The option is a small label with a number on it that says which shorthand you mean, plus room for extra notes that only that shorthand understands.
§3Security Considerations
Without proper link security such as authentication before data transfer, man-in-the-middle attacks could cost data integrity and confidentiality. The RFC lists three appropriate mechanisms: access control lists that filter traffic received over the link, an authentication protocol that lets peers pick an authentication method such as MD5, and an encryption control protocol for choosing encryption algorithms.
Even with these in place, threats remain. For example, MD5 authentication exposes a link to replay attacks. Readers are pointed to RFC 3748 for a generic threat model.
Make sure you know who is on the other end of the line before you start talking, and use a secret code if the conversation is private.
§4IANA and Management Considerations
No new assignment is needed. Option type 2 is already in the "PPP IPV6CP CONFIGURATION OPTIONS" registry, and only its RFC reference changed to 5172. The compression protocol values are the same as PPP protocol field values, so future allocation follows RFC 3818, which requires IETF Consensus. The "IPv6-Compression-Protocol Types" registry reference likewise changed to 5172.
For management, the status of the negotiation and the compression algorithm on the link should be observable by an operator, but the RFC says no standard management interface covers this at the time of writing.
The official list of numbers already had this option in it, so only the name of the paper that describes it was updated. Nobody has yet made a standard way to check which shorthand a link is using.