ietf-corpus

rfc-7136

Significance of IPv6 Interface Identifiers

B. Carpenter, S. Jiang
date2014-02 streamIETF areaint wg6man statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc7136 doi10.17487/RFC7136
The IPv6 addressing architecture includes a unicast interface identifier that is used in the creation of many IPv6 addresses. Interface identifiers are formed by a variety of methods. This document clarifies that the bits in an interface identifier have no meaning and that the entire identifier should be treated as an opaque value. In particular, RFC 4291 defines a method by which the Universal and Group bits of an IEEE link-layer address are mapped into an IPv6 unicast interface identifier. This document clarifies that those two bits are significant only in the process of deriving interface identifiers from an IEEE link-layer address, and it updates RFC 4291 accordingly.

updates

Extracted elements (19)

design-rationale §2

New methods of IID formation (temporary addresses RFC 4941, CGAs RFC 3972, HBAs RFC 5535, ISATAP RFC 5214, NAT64 RFC 6052, stable privacy addresses) each independently specified different values for the 'u' and 'g' bits with no consistent semantics, confirming these bits carry no generic meaning in an IID.

ip

design-rationale §3

Preserving the mapping of IEEE 'u' and 'g' bits into the IID retains operational usefulness: if an IID is known or suspected to have been created per RFC 4291, it can be reverse-transformed back into a MAC address for fault diagnosis. New methods are free to use these bit positions as additional pseudo-random bits to reduce duplicate IID probability.

ip

design-rationale §2

The /127 prefix case (RFC 6164) for point-to-point inter-router links produces global unicast addresses without 64-bit IIDs where the bits in positions named 'u' and 'g' have no special significance, further demonstrating the general inapplicability of Modified EUI-64 semantics to non-MAC-derived IIDs.

ip

design-rationale §2

The 'u' bit is not a reliable indicator of universal uniqueness because MAC addresses with universal scope are sometimes assigned to multiple devices by manufacturers, and the same virtual MAC address is widely reused in virtual machine environments. Once mapped to an IID with 'u'=1, such identifiers purport uniqueness but are actually ambiguous.

ip

design-rationale §1

The 'u' bit was inverted when mapping from MAC to IID to make it easier for network operators to manually configure local-scope IIDs (per RFC 4291 and RFC 7042). The original rationale for preserving it was to allow future technology to take advantage of universally scoped IIDs, but this use case never materialized.

ip

interoperability-note §2

ILNP (RFC 6741), a multihoming solution that might be expected to benefit from universally unique EUI-64 IIDs, does not rely on them and uses its own Node Identifier format with uniqueness guaranteed only within the context of a given Locator, relying on DAD rather than the 'u' bit.

ip

interoperability-note §2

RFC 2526 (Reserved IPv6 Subnet Anycast Addresses) requires that for EUI-64 format IIDs the 'u' bit MUST be 0 (local) and 'g' must be 1, but neither states nor implies any semantics for these bits within anycast addresses themselves, illustrating the inconsistent treatment across specifications.

ip

interoperability-note §2

The RFC 4291 requirement for 'Modified EUI-64 format' is inapplicable to IIDs not actually based on an underlying EUI-64 address. In practice the IETF has assigned 64-bit IIDs that have nothing to do with EUI-64, making the original blanket requirement misleading for implementors of new IID schemes.

ip

normative-requirement §4 MAY

Per RFC 4862 (quoted here): if a duplicate link-local address is not formed from a hardware-based interface identifier, IP operation on the interface MAY be continued by creating a new IID. For pseudo-random IID generation methods, the process may simply be repeated.

ip

normative-requirement §5 MUST

RFC 4291 Section 2.5.1 is updated: the requirement that Interface IDs 'be constructed in Modified EUI-64 format' is replaced with 'If derived from an IEEE MAC-layer address, they must be constructed in Modified EUI-64 format.' The prior statement that the universal/local bit is 'to allow development of future technology' is explicitly obsoleted.

ip

normative-requirement §5 MUST NOT

Specifications of other forms of 64-bit IIDs MUST specify how all 64 bits are set, but a generic semantic meaning for the 'u' and 'g' bits MUST NOT be defined. The method of generating IIDs for specific link types MAY define some local significance for certain bits.

ip

normative-requirement §5 MUST

The EUI-64 to IID transformation defined in RFC 4291 MUST be used for all cases where an IPv6 IID is derived from an IEEE MAC or EUI-64 address. With any other form of link-layer address, an equivalent transformation SHOULD be used.

ip

normative-requirement §5 MUST

The whole IID value MUST be viewed as an opaque bit string by third parties, except possibly in the local context. The bits in an IID have no generic semantics.

ip

protocol-element §4

Duplicate Address Detection (DAD) per RFC 4862, optionally extended via a DAD proxy (RFC 6957) or Neighbor Discovery Optimization (RFC 6775), is the primary mechanism for detecting IID collisions on a link. Because DAD is mandatory for all nodes, virtually all IID collisions will be detected regardless of the 'u' bit's value.

ip

protocol-element §1

The 'g' bit in an IID is at position 7 (position 71 in the full IPv6 address). It derives from the IEEE 'i/g' (group) bit in a MAC address and its value is preserved unchanged. After IID formation, this bit has no reliable meaning.

ip

protocol-element §1

The IPv6 Interface Identifier (IID) is a 64-bit field appended to a prefix to form a unicast IPv6 address. It is required to be 64 bits long for all unicast addresses except those starting with binary 000. If derived from an IEEE MAC-layer address, it must be constructed in Modified EUI-64 format.

ip

protocol-element §1

The 'u' bit in an IID is at position 6 (position 70 in the full IPv6 address counting from 0). It derives from the IEEE 'u/l' bit in a MAC address but is inverted: 1 means universal scope, 0 means local scope. After IID formation, this bit has no reliable meaning.

ip

registry §7

The 'Reserved IPv6 Interface Identifiers' registry (RFC 5453) requires Standards Action for any new reserved IID value. This document adds a note to that registry warning that full deployment of a new reserved IID would require updates to IID generation code in every deployed IPv6 stack.

ip, registry

security-consideration §6

No new security exposures are introduced. Treating the IID as an opaque bit string is consistent with IID formation methods that produce unpredictable, pseudo-random values, which are considered beneficial for enhancing privacy and defeating address scanning attacks.

ip, security, privacy