summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc2023.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc2023.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc2023.txt')
-rw-r--r--doc/rfc/rfc2023.txt563
1 files changed, 563 insertions, 0 deletions
diff --git a/doc/rfc/rfc2023.txt b/doc/rfc/rfc2023.txt
new file mode 100644
index 0000000..3f6cbea
--- /dev/null
+++ b/doc/rfc/rfc2023.txt
@@ -0,0 +1,563 @@
+
+
+
+
+
+
+Network Working Group D. Haskin
+Request for Comments: 2023 E. Allen
+Category: Standards Track Bay Networks, Inc.
+ October 1996
+
+ IP Version 6 over PPP
+
+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) [1] 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.
+
+ This document defines the method for transmission of IP Version 6 [2]
+ packets over PPP links as well as the Network Control Protocol (NCP)
+ for establishing and configuring the IPv6 over PPP. It also specifies
+ the method of forming IPv6 link-local addresses on PPP links.
+
+Table of Contents
+
+ 1. Introduction .......................................... 2
+ 1.1. Specification of Requirements ...................... 2
+ 2. Sending IPv6 Datagrams ................................ 3
+ 3. A PPP Network Control Protocol for IPv6 ............... 3
+ 4. IPV6CP Configuration Options .......................... 4
+ 4.1. Interface-Token ................................... 4
+ 4.2. IPv6-Compression-Protocol.......................... 7
+ 5. Stateless Autoconfiguration and Link-Local Addresses .. 9
+ A. IPV6CP Recommended Options ............................. 9
+ Security Considerations ....................................... 10
+ References .................................................... 10
+ Acknowledgments ............................................... 10
+ Authors' Addresses ............................................ 10
+
+
+
+
+
+
+
+
+Haskin & Allen Standards Track [Page 1]
+
+RFC 2023 IP Version 6 over PPP October 1996
+
+
+1. Introduction
+
+ PPP 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.
+
+ In this document, the NCP for establishing and configuring the IPv6
+ over PPP is referred as the IPv6 Control Protocol (IPV6CP).
+
+ 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.).
+
+1.1. Specification of Requirements
+
+ In this document, several words are used to signify the requirements
+ of the specification. These words are often capitalized.
+
+ MUST This word, or the adjective "required", means that the
+ definition is an absolute requirement of the specification.
+
+ MUST NOT This phrase means that the definition is an absolute
+ prohibition of the specification.
+
+ SHOULD This word, or the adjective "recommended", means that there
+ may exist valid reasons in particular circumstances to
+ ignore this item, but the full implications must be
+ understood and carefully weighed before choosing a
+ different course.
+
+ MAY This word, or the adjective "optional", means that this
+ item is one of an allowed set of alternatives. An
+ implementation which does not include this option MUST be
+
+
+
+Haskin & Allen Standards Track [Page 2]
+
+RFC 2023 IP Version 6 over PPP October 1996
+
+
+ prepared to inter-operate with another implementation which
+ does include the option.
+
+2. Sending IPv6 Datagrams
+
+ Before any IPv6 packets may be communicated, PPP must reach the
+ Network-Layer Protocol phase, and the IPv6 Control Protocol must
+ reach the Opened state.
+
+ Exactly one IPv6 packet is encapsulated in the Information field of
+ PPP Data Link Layer frames where the Protocol field indicates type
+ hex 0057 (Internet Protocol Version 6).
+
+ The maximum length of an IPv6 packet transmitted over a PPP link is
+ the same as the maximum length of the Information field of a PPP data
+ link layer frame. PPP links supporting IPv6 must allow at least 576
+ octets in the information field of a data link layer frame.
+
+3. A PPP Network Control Protocol for IPv6
+
+ The IPv6 Control Protocol (IPV6CP) is responsible for configuring,
+ enabling, and disabling the IPv6 protocol modules on both ends of the
+ point-to-point link. IPV6CP uses the same packet exchange mechanism
+ as the Link Control Protocol (LCP). IPV6CP packets may not be
+ exchanged until PPP has reached the Network-Layer Protocol phase.
+ IPV6CP packets received before this phase is reached should be
+ silently discarded.
+
+ The IPv6 Control Protocol is exactly the same as the Link Control
+ Protocol [1] with the following exceptions:
+
+ Data Link Layer Protocol Field
+
+ Exactly one IPV6CP packet is encapsulated in the Information field
+ of PPP Data Link Layer frames where the Protocol field indicates
+ type hex 8057 (IPv6 Control Protocol).
+
+ Code field
+
+ Only Codes 1 through 7 (Configure-Request, Configure-Ack,
+ Configure-Nak, Configure-Reject, Terminate-Request, Terminate-Ack
+ and Code-Reject) are used. Other Codes should be treated as
+ unrecognized and should result in Code-Rejects.
+
+
+
+
+
+
+
+
+Haskin & Allen Standards Track [Page 3]
+
+RFC 2023 IP Version 6 over PPP October 1996
+
+
+ Timeouts
+
+ IPV6CP packets may not be exchanged until PPP has reached the
+ Network-Layer Protocol phase. An implementation should be prepared
+ to wait for Authentication and Link Quality Determination to finish
+ before timing out waiting for a Configure-Ack or other response. It
+ is suggested that an implementation give up only after user
+ intervention or a configurable amount of time.
+
+ Configuration Option Types
+
+ IPV6CP has a distinct set of Configuration Options, which are
+ defined below.
+
+4. IPV6CP Configuration Options
+
+ IPV6CP Configuration Options allow negotiation of desirable IPv6
+ parameters. IPV6CP uses the same Configuration Option format defined
+ for LCP [1], 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.
+
+ Up-to-date values of the IPV6CP Option Type field are specified in
+ the most recent "Assigned Numbers" RFC [5]. Current values are
+ assigned as follows:
+
+ 1 Interface-Token
+ 2 IPv6-Compression-Protocol
+
+
+4.1. Interface-Token
+
+ Description
+
+ This Configuration Option provides a way to negotiate a unique
+ 32-bit interface token to be used for the address
+ autoconfiguration [3] at the local end of the link (see section
+ 5). The interface token MUST be unique within the PPP link; i.e.
+ upon completion of the negotiation different Interface-Token
+ values are to be selected for the ends of the PPP link.
+
+ Before this Configuration Option is requested, an implementation
+ must choose its tentative Interface-Token. It is recommended that
+ a non-zero value be chosen in the most random manner possible in
+ order to guarantee with very high probability that an
+ implementation will arrive at a unique token value. A good way to
+ choose a unique random number is to start with a unique seed.
+ Suggested sources of uniqueness include machine serial numbers,
+
+
+
+Haskin & Allen Standards Track [Page 4]
+
+RFC 2023 IP Version 6 over PPP October 1996
+
+
+ other network hardware addresses, system clocks, etc. Note that it
+ may not be sufficient to use a link-layer address alone as the
+ seed, since it will not always be unique. Thus it is suggested
+ that the seed should be calculated from a variety of sources that
+ are likely to be different even on identical systems and as many
+ sources as possible be used simultaneously. Good sources of
+ uniqueness or randomness are required for the Interface-Token
+ negotiation to succeed. If a good source of randomness cannot be
+ found, it is recommended that a zero value be used for the
+ Interface-Token transmitted in the Configure-Request. In this
+ case the PPP peer may provide a valid non-zero Interface-Token in
+ its response as described below. Note that if at least one of the
+ PPP peers is able to generate a unique random number, the token
+ negotiation will succeed.
+
+ When a Configure-Request is received with the Interface-Token
+ Configuration Option and the receiving peer implements this
+ option, the received Interface-Token is compared with the
+ Interface-Token of the last Configure-Request sent to the peer.
+ Depending on the result of the comparison an implementation MUST
+ respond in one of the following ways:
+
+ If the two Interface-Tokens are different but the received
+ Interface-Token is zero, a Configure-Ack is sent with a non-zero
+ Interface-Token value suggested for use by the remote peer. Such
+ a suggested Interface-Token MUST be different from the Interface-
+ Token of the last Configure-Request sent to the peer.
+
+ If the two Interface-Tokens are different and the received
+ Interface-Token is not zero, the Interface-Token MUST be
+ acknowledged, i.e. a Configure-Ack is sent with the requested
+ Interface-Token, meaning that the responding peer agrees with the
+ Interface-Token requested.
+
+ If the two Interface-Tokens are equal and are not zero, a
+ Configure-Nak MUST be sent specifying a different non-zero
+ Interface-Token value suggested for use by the remote peer.
+
+ If the two Interface-Tokens are equal to zero, the Interface-
+ Tokens negotiation MUST be terminated by transmitting the
+ Configure-Reject with the Interface-Token value set to zero. In
+ this case a unique Interface-Token can not be negotiated.
+
+ If a Configure-Request is received with the Interface-Token
+ Configuration Option and the receiving peer does not implement
+ this option, Configure-Rej is sent.
+
+
+
+
+
+Haskin & Allen Standards Track [Page 5]
+
+RFC 2023 IP Version 6 over PPP October 1996
+
+
+ A new Configure-Request SHOULD NOT be sent to the peer until
+ normal processing would cause it to be sent (that is, until a
+ Configure-Nak is received or the Restart timer runs out).
+
+ A new Configure-Request MUST NOT contain the Interface-Token
+ option if a valid Interface-Token Configure-Reject is received.
+
+ Reception of a Configure-Nak with a suggested Interface-Token
+ different from that of the last Configure-Nak sent to the peer
+ indicates a unique Interface-Token. In this case a new
+ Configure-Request MUST be sent with the token value suggested in
+ the last Configure-Nak from the peer. But if the received
+ Interface-Token is equal to the one sent in the last Configure-
+ Nak, a new Interface-Token MUST be chosen. In this case, a new
+ Configure-Request SHOULD be sent with the new tentative
+ Interface-Token. This sequence (transmit Configure-Request,
+ receive Configure-Request, transmit Configure-Nak, receive
+ Configure-Nak) might occur a few times, but it is extremely
+ unlikely to occur repeatedly. More likely, the Interface-Tokens
+ chosen at either end will quickly diverge, terminating the
+ sequence.
+
+ If negotiation about the Interface-Token is required, and the peer
+ did not provide the option in its Configure-Request, the option
+ SHOULD be appended to a Configure-Nak. The tentative value of the
+ Interface-Token given must be acceptable as the remote Interface-
+ Token; i.e. should be different from the token value selected for
+ the local end of the PPP link. The next Configure-Request from
+ the peer may include this option. If the next Configure-Request
+ does not include this option the peer MUST NOT send another
+ Configure-Nak with this option included. It should assume that the
+ peer's implementation does not support this option.
+
+ By default, an implementation SHOULD attempt to negotiate the
+ Interface-Token for its end of the PPP connection.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Haskin & Allen Standards Track [Page 6]
+
+RFC 2023 IP Version 6 over PPP October 1996
+
+
+ A summary of the Interface-Token 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 | Interface-Token
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ Interface-Token (cont) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Type
+
+ 1
+
+ Length
+
+ 6
+
+ Interface-Token
+
+ The 32-bit Interface-Token which is very likely to be unique on
+ the link or zero if a good source of uniqueness can not be found.
+
+ Default Token Value
+
+ If no valid interface token can be successfully negotiated, no
+ default Interface-Token value should be assumed. The procedures
+ for recovering from such a case are unspecified. One approach is
+ to manually configure the interface token of the interface.
+
+4.2. IPv6-Compression-Protocol
+
+ Description
+
+ 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 bi-directional 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 negotiations via Compression Control Protocol (CCP), which
+ potentially effect all datagrams.
+
+
+
+
+
+Haskin & Allen Standards Track [Page 7]
+
+RFC 2023 IP Version 6 over PPP October 1996
+
+
+ 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.
+
+ Up-to-date values of the IPv6-Compression-Protocol field are
+ specified in the most recent "Assigned Numbers" RFC [5].
+
+ Current values are assigned as follows:
+
+ Value (in hex) Protocol
+
+ 004f IPv6 Header Compression
+
+ Data
+
+ The Data field is zero or more octets and contains additional data
+ as determined by the particular compression protocol.
+
+ Default
+
+ No IPv6 compression protocol enabled.
+
+
+
+
+
+
+
+Haskin & Allen Standards Track [Page 8]
+
+RFC 2023 IP Version 6 over PPP October 1996
+
+
+5. Stateless Autoconfiguration and Link-Local Addresses
+
+ The interface token, which is used for forming IPv6 addresses of a
+ PPP interface, SHOULD be negotiated in the IPV6CP phase of the PPP
+ connection setup (see section 4.1). If no valid interface token has
+ been successfully negotiated, procedures for recovering from such a
+ case are unspecified. One approach is to manually configure the
+ interface token of the interface.
+
+ As long as the interface token is negotiated in the IPV6CP phase of
+ the PPP connection setup, it is redundant to perform duplicate
+ address detection as a part of the IPv6 Stateless Autoconfiguration
+ protocol [3]. Therefore it is recommended that for PPP links with
+ the IPV6CP Interface-Token option enabled the default value of the
+ DupAddrDetectTransmits autoconfiguration variable [3] be zero.
+
+ Link-local addresses of PPP interfaces have the following format:
+
+ | 10 bits | 86 bits | 32 bits |
+ +----------+--------------+---------------------+-----------------+
+ |1111111010| 0 | Interface Token |
+ +----------+--------------+---------------------+-----------------+
+
+ The most significant 10 bits of the address is the Link-Local prefix
+ FE80::. 86 zero bits pad out the address between the Link-Local
+ prefix and the Interface Token fields.
+
+A. IPV6CP Recommended Options
+
+ The following Configurations Options are recommended:
+
+ Interface-Token
+
+ IPv6-Compression-Protocol
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Haskin & Allen Standards Track [Page 9]
+
+RFC 2023 IP Version 6 over PPP October 1996
+
+
+Security Considerations
+
+ Security issues are not discussed in this memo.
+
+References
+
+
+ [1] Simpson, W., "The Point-to-Point Protocol", STD 51, RFC 1661,
+ July 1994.
+
+ [2] Deering, S., and R. Hinden, Editors, "Internet Protocol,
+ Version 6 (IPv6) Specification", RFC 1883, December 1995.
+
+ [2] Hinden, R., and S. Deering, "IP Version 6 Addressing
+ Architecture", RFC 1884, December 1995.
+
+ [3] Thomson, S., and T. Narten, "IPv6 Stateless Address
+ Autoconfiguration", RFC 1971, August 1996.
+
+ [4] Narten, T., Nordmark, E., and W. Simpson, "Neighbor Discovery
+ for IP Version 6 (IPv6)", RFC 1970, August 1996.
+
+ [5] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC
+ 1700, October 1994.
+
+Acknowledgments
+
+ This document borrows from the Magic-Number LCP option and as such is
+ partially based on previous work done by the PPP working group.
+
+Authors' Addresses
+
+ Dimitry Haskin
+ Bay Networks, Inc.
+ 2 Federal Street
+ Billerica, MA 01821
+ email: dhaskin@baynetworks.com
+
+ Ed Allen
+ Bay Networks, Inc.
+ 2 Federal Street
+ Billerica, MA 01821
+ email: eallen@baynetworks.com
+
+
+
+
+
+
+
+
+Haskin & Allen Standards Track [Page 10]
+