ietf-corpus

rfc-5072

IP Version 6 over PPP

S. Varada (Editor), D. Haskins, E. Allen
date2007-09 streamIETF areaint wgipv6 statusDRAFT STANDARD pages16 canonicalhttps://www.rfc-editor.org/rfc/rfc5072 doi10.17487/RFC5072
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. This document defines the method for sending IPv6 packets over PPP links, the NCP for establishing and configuring the IPv6 over PPP, and the method for forming IPv6 link-local addresses on PPP links. It also specifies the conditions for performing Duplicate Address Detection on IPv6 global unicast addresses configured for PPP links either through stateful or stateless address autoconfiguration. This document obsoletes RFC 2472. [STANDARDS-TRACK]

obsoletes

updated by

Extracted elements (24)

design-rationale §4.1

A consistently reproducible unique interface identifier is preferred over a completely random one to provide stability to global scope addresses that may be derived from the interface identifier (see Appendix A). This avoids unnecessary renumbering across reboots.

ip, v6ops, privacy

design-rationale §Appendix B

The IPv6-Compression-Protocol option (Section 4.2 of RFC 2472) was removed from this document per IESG recommendation and moved to a separate standards-track document, keeping IPV6CP focused solely on interface identifier negotiation.

ip, v6ops

interoperability-note §5

3GPP2 (cdma2000) and 3GPP networks are cited as examples of technologies that use PPP for IPv6 global unicast address assignment and satisfy the two conditions under which DAD suppression (DupAddrDetectTransmits=0) is appropriate.

ip, v6ops, mobility

normative-requirement §4.1 MUST

A Configure-Request MUST contain exactly one instance of the Interface-Identifier option. The interface identifier MUST be unique within the PPP link, i.e., the two ends of the link MUST negotiate different values.

ip, v6ops

normative-requirement §2 MUST

Before any IPv6 packets may be communicated, PPP MUST reach the network-layer protocol phase, and the IPv6 Control Protocol (IPV6CP) MUST reach the Opened state.

ip, v6ops

normative-requirement §4.1 SHOULD

By default, an implementation SHOULD attempt to negotiate the interface identifier for its end of the PPP connection.

ip, v6ops

normative-requirement §5 RECOMMENDED

For PPP links with IPV6CP interface-identifier negotiation enabled, where prefixes are exclusive to the link and the access router does not autoconfigure addresses from those prefixes, it is RECOMMENDED that DupAddrDetectTransmits be set to zero, making DAD unnecessary.

ip, v6ops

normative-requirement §4.1 MUST

If both interface identifiers are equal to zero, the negotiation MUST be terminated by sending Configure-Reject with interface-identifier value zero. A new Configure-Request MUST NOT include the Interface-Identifier option after receiving a valid Configure-Reject for it.

ip, v6ops

normative-requirement §3 SHOULD

IPV6CP packets received before PPP reaches the network-layer protocol phase should be silently discarded. Implementations should be prepared to wait for Authentication and Link Quality Determination before timing out.

ip, v6ops

normative-requirement §2 MUST

PPP links supporting IPv6 MUST allow the Information field to be at least as large as the minimum link MTU size required for IPv6.

ip, v6ops

normative-requirement §5 SHOULD

The interface identifier for a PPP interface SHOULD be negotiated in the IPV6CP phase. It SHOULD NOT be assumed that the same negotiated identifier is used for global unicast addresses; a peer MAY generate additional identifiers (e.g., per RFC 4941) for global unicast autoconfiguration.

ip, v6ops, privacy

normative-requirement §4.1 SHOULD

The tentative interface identifier SHOULD be chosen to be unique to the link and, preferably, consistently reproducible across IPV6CP finite state machine reinitializations (reboots, administrative close/reopen).

ip, v6ops

normative-requirement §4.1 MUST

Upon receiving a Configure-Nak with a suggested identifier different from the last Configure-Nak sent, a new Configure-Request MUST be sent using the peer's suggested identifier. If the suggested value equals what was last sent in a Configure-Nak, a new identifier MUST be chosen.

ip, v6ops

normative-requirement §4.1 MUST

When the interface identifier is not derived from a globally unique IEEE identifier (EUI-48 or EUI-64), the universal/local 'u' bit (bit 6) of the interface identifier MUST be set to zero.

ip, v6ops

protocol-element §3

The IPv6 Control Protocol (IPV6CP) is the NCP responsible for configuring, enabling, and disabling IPv6 on both ends of a PPP link. It reuses the LCP packet exchange mechanism and has its own distinct Configuration Options.

ip, v6ops

protocol-element §4.1

To derive an IPv6 interface identifier from an IEEE EUI-64, the only transformation is inverting the 'u' (universal/local) bit. For EUI-48, the identifier is first expanded to EUI-64 by inserting 0xFF and 0xFE between the company_id and extension identifier fields.

ip, v6ops

registry §7

IANA assigned Type value 1 for the Interface-Identifier Configuration Option in IPV6CP. The current assignment is maintained in the IANA Assigned Numbers registry.

registry, ip, v6ops

security-consideration §6

Absence of PPP link security (authentication, encryption) raises security concerns when stateless address autoconfiguration is used to generate global unicast addresses from negotiated or generated interface identifiers. Three mitigations are identified: Access Control Lists, an authentication protocol, and an encryption protocol.

security, ip, v6ops

security-consideration §6

Use of MD5 authentication on a PPP link exposes it to replay attacks, where an attacker intercepts and replays a station's identity and password hash to gain network access. Implementors are referred to RFC 3748 (EAP) for a generic threat model and authentication selection framework.

security, ip, crypto

state-machine §4.1

Interface identifier negotiation: (1) received != sent and received is nonzero → Configure-Ack; (2) received == sent and nonzero → Configure-Nak with different suggested value; (3) received is zero → Configure-Nak with nonzero suggestion; (4) both are zero → Configure-Reject, negotiation terminated.

ip, v6ops

wire-format §2

IPv6 packets are encapsulated in the Information field of PPP Data Link Layer frames with Protocol field set to hex 0057 (Internet Protocol Version 6). Exactly one IPv6 packet is encapsulated per frame.

ip, v6ops

wire-format §3

IPV6CP packets are encapsulated in PPP Data Link Layer frames with Protocol field set to hex 8057 (IPv6 Control Protocol). Only Codes 1 through 7 (Configure-Request through Code-Reject) are used.

ip, v6ops

wire-format §5

PPP IPv6 link-local addresses have a 10-bit FE80:: prefix, 54 zero padding bits, and a 64-bit Interface-Identifier field, for a total of 128 bits.

ip, v6ops

wire-format §4.1

The Interface-Identifier Configuration Option has Type=1, Length=10 octets, and carries a 64-bit interface identifier. The field is zero if no good source of uniqueness is available.

ip, v6ops