ietf-corpus

rfc-4291

IP Version 6 Addressing Architecture

R. Hinden, S. Deering
date2006-02 streamIETF areaint wgipv6 statusDRAFT STANDARD pages25 canonicalhttps://www.rfc-editor.org/rfc/rfc4291 doi10.17487/RFC4291 errataview
This specification defines the addressing architecture of the IP Version 6 (IPv6) protocol. The document includes the IPv6 addressing model, text representations of IPv6 addresses, definition of IPv6 unicast addresses, anycast addresses, and multicast addresses, and an IPv6 node's required addresses. This document obsoletes RFC 3513, "IP Version 6 Addressing Architecture". [STANDARDS-TRACK]

obsoletes

updated by

Extracted elements (31)

design-rationale §Appendix A

IPv6 over Ethernet inserts 0xFF and 0xFE bytes (not 0xFF/0xFF as literally defined for MAC-48 to EUI-64 conversion) due to a historical misunderstanding about IEEE MAC-48 vs. EUI-48 identifiers; the incorrect value is intentionally retained because IEEE EUI-48 and MAC-48 are syntactically equivalent and it causes no practical problems while preserving backward compatibility.

ip, v6ops

design-rationale §2.5.1

The 'u' bit is inverted when forming an interface identifier so that manually configured non-global identifiers take the simple form 0:0:0:1, 0:0:0:2, etc., rather than the less convenient 0200:0:0:1, 0200:0:0:2 that would result without inversion.

ip, v6ops

interoperability-note §2.5.7

Site-Local addresses (FEC0::/10) are deprecated per RFC 3879; new implementations must treat this prefix as Global Unicast, while existing deployments may continue to use it.

ip, v6ops

interoperability-note §2.5.5.1

The IPv4-Compatible IPv6 address (::d.d.d.d with 80+16 leading zero bits) is deprecated because current IPv6 transition mechanisms no longer use it; new or updated implementations are not required to support this address type.

ip, v6ops

normative-requirement §2.7.1 REQUIRED

A node is required to compute and join the associated Solicited-Node multicast address on the appropriate interface for every unicast and anycast address configured on the node's interfaces.

ip, v6ops

normative-requirement §2.8 REQUIRED

A router is required to recognize all addresses a host recognizes, plus the Subnet-Router anycast addresses for all configured interfaces, all other configured anycast addresses, and All-Routers multicast addresses.

ip, v6ops

normative-requirement §2.8 REQUIRED

All interfaces are required to have at least one Link-Local unicast address. A host must recognize its Link-Local addresses, configured unicast/anycast addresses, the loopback address, All-Nodes multicast addresses, Solicited-Node multicast addresses, and all other joined multicast groups.

ip, v6ops

normative-requirement §2.6.1 REQUIRED

All routers are required to support the Subnet-Router anycast addresses for all subnets to which they have interfaces.

ip, v6ops

normative-requirement §2.5.1 REQUIRED

For all unicast addresses except those starting with binary 000, Interface IDs are required to be 64 bits long and constructed in Modified EUI-64 format.

ip, v6ops

normative-requirement §2.7 MUST NOT

Multicast addresses must not be used as source addresses in IPv6 packets or appear in any Routing header. Routers must not forward multicast packets beyond the scope indicated by the scop field in the destination address.

ip, v6ops, multicast

normative-requirement §2.5.6 MUST NOT

Routers must not forward any packets with Link-Local source or destination addresses to other links.

ip, v6ops

normative-requirement §2.5.3 MUST NOT

The loopback address (::1) must not be assigned to any physical interface, must not be used as the source address in packets sent outside a single node, must never be forwarded by a router, and a packet received with a loopback destination must be dropped.

ip, v6ops

normative-requirement §2.5.2 MUST NOT

The unspecified address (::) must never be assigned to any node, must not be used as a destination address in IPv6 packets or in Routing headers, and must never be forwarded by an IPv6 router when appearing as a source address.

ip, v6ops

normative-requirement §2.6 MUST

When a unicast address is assigned to more than one interface (turning it into an anycast address), all nodes to which the address is assigned must be explicitly configured to know it is an anycast address.

ip, v6ops

protocol-element §2.4

Address type is identified by high-order bits: Unspecified is ::/128, Loopback is ::1/128, Multicast is FF00::/8, Link-Local unicast is FE80::/10, and all other addresses are Global Unicast. Anycast addresses are syntactically indistinguishable from unicast.

ip, v6ops

protocol-element §2

IPv6 addresses are 128-bit identifiers assigned to interfaces, not nodes. There are three types: Unicast (single interface), Anycast (nearest of a set), and Multicast (all in a group). IPv6 eliminates broadcast; multicast supersedes that function.

ip, v6ops

protocol-element §2.7

Multicast scope values: 0=reserved, 1=Interface-Local, 2=Link-Local, 3=reserved, 4=Admin-Local, 5=Site-Local, 8=Organization-Local, E=Global, F=reserved. Unassigned values (6,7,9-D) are available for administrative use.

ip, v6ops, multicast

protocol-element §2.7.1

Pre-defined multicast addresses include: All Nodes (FF01::1 and FF02::1), All Routers (FF01::2, FF02::2, FF05::2), and FF00:: through FF0F:: which are reserved and must never be assigned to any multicast group.

ip, v6ops, multicast

registry §4

IANA maintains the IPv6 address space registry; the 0000::/8 block is 'Reserved by IETF'. The 0000::/96 sub-block was previously the IPv4-Compatible IPv6 address prefix, now deprecated by this document and not to be reassigned.

ip, registry, v6ops

security-consideration §3

IPv6 addressing documents do not have any direct impact on Internet infrastructure security. Authentication of IPv6 packets is defined separately in the IP Authentication Header specification (RFC 2402).

ip, security, v6ops

wire-format §2.2

An alternative mixed IPv4/IPv6 text form x:x:x:x:x:x:d.d.d.d uses six high-order 16-bit hex groups followed by four low-order 8-bit decimal octets in standard IPv4 notation; used in transition contexts.

ip, v6ops

wire-format §2.5.4

Global Unicast addresses have the structure: n-bit global routing prefix | m-bit subnet ID | 128-n-m-bit interface ID. For all global unicast addresses not starting with binary 000, n+m=64 and the interface ID is 64 bits in Modified EUI-64 format.

ip, v6ops

wire-format §2.3

IPv6 address prefixes are written as ipv6-address/prefix-length in CIDR notation. Leading zeros within a 16-bit chunk may be dropped but trailing zeros within a chunk may not; the address left of '/' is expanded to full 128 bits before applying the prefix length.

ip, v6ops

wire-format §2.7

IPv6 multicast addresses have an 8-bit all-ones prefix (0xFF), a 4-bit flags field (0|R|P|T), a 4-bit scope field, and a 112-bit group ID. The T flag distinguishes IANA-assigned permanent (T=0) from transient (T=1) addresses.

ip, v6ops, multicast

wire-format §2.5.6

Link-Local unicast addresses use the prefix FE80::/10 (binary 1111111010 followed by 54 zero bits) and a 64-bit interface ID in the low-order bits.

ip, v6ops

wire-format §2.5.1

Modified EUI-64 interface identifiers are formed by inverting the 'u' (universal/local) bit of an IEEE EUI-64 identifier. In the result, 'u'=1 indicates universal scope and 'u'=0 indicates local scope.

ip, v6ops

wire-format §2.5.5.2

The IPv4-mapped IPv6 address encodes an IPv4 address in the low-order 32 bits, with the preceding 16 bits set to 0xFFFF and the high-order 80 bits set to zero: ::FFFF:d.d.d.d.

ip, v6ops

wire-format §2.2

The '::' notation compresses one or more consecutive all-zero 16-bit groups; it may appear only once in an address and may be used to compress leading or trailing zeros.

ip, v6ops

wire-format §2.2

The preferred text representation of IPv6 addresses is x:x:x:x:x:x:x:x, where each 'x' is one to four hexadecimal digits of the eight 16-bit pieces. Leading zeros within a field may be omitted but every field must have at least one numeral.

ip, v6ops

wire-format §2.7.1

The Solicited-Node multicast address is formed by appending the low-order 24 bits of a unicast or anycast address to the prefix FF02:0:0:0:0:1:FF00::/104, yielding an address in the range FF02::1:FF00:0000 to FF02::1:FFFF:FFFF.

ip, v6ops

wire-format §2.6.1

The Subnet-Router anycast address consists of the n-bit subnet prefix followed by 128-n zero bits; it is syntactically identical to a unicast address on that link with interface ID set to zero.

ip, v6ops