Transmission of IPv6 Packets over Ethernet Networks
Extracted elements (15)
The Link-layer Address option carries the address the interface currently responds to, which may differ from the built-in address used to derive the Interface Identifier, allowing for administratively overridden MAC addresses without breaking neighbor discovery.
The U/L bit in the EUI-64-derived Interface Identifier is complemented so that a globally unique IPv6 Interface Identifier is signified by a 1, whereas IEEE 802 universally administered addresses use 0. This inversion aligns IPv6 semantics with the expectation that most auto-configured identifiers are globally unique.
For purposes of this specification, information received from DHCP is treated as 'manually configured', and the term Ethernet encompasses CSMA/CD and full-duplex subnetworks based on ISO/IEC 8802-3 at various data rates.
This document obsoletes RFC 1972. Key changes: the 48-bit MAC-based Address Token is replaced by the 64-bit EUI-64-based Interface Identifier, and the prefix length for stateless autoconfiguration is shortened from 80 bits to 64 bits; the link-local prefix is likewise shortened to 64 bits.
A different MAC address set manually or by software should not be used to derive the Interface Identifier. If such a MAC address must be used, its global uniqueness property should be reflected in the U/L bit.
An IPv6 address prefix used for stateless autoconfiguration of an Ethernet interface must have a length of 64 bits.
The default MTU size for IPv6 packets on an Ethernet is 1500 octets. An MTU option in a Router Advertisement specifying an MTU larger than 1500 (or larger than a manually configured value) may be logged but must otherwise be ignored.
The Ethernet type code in the frame header must contain the value 0x86DD (hexadecimal) to identify IPv6 payloads.
The Interface Identifier is formed from the EUI-64 by complementing the Universal/Local (U/L) bit (next-to-lowest-order bit of the first octet), changing it from 0 to 1 for universally administered addresses to signal global uniqueness in the IPv6 context.
An IPv6 multicast packet destined for DST is mapped to the Ethernet multicast address 33-33-DST[13]-DST[14]-DST[15]-DST[16], where the first two octets are fixed as 0x3333 and the last four octets are the low-order four octets of the IPv6 destination address.
The Interface Identifier for an Ethernet interface is derived from the interface's 48-bit IEEE 802 address by forming an EUI-64: the 3-octet OUI becomes the company_id, octets 4-5 are set to 0xFFFE, and the last 3 octets of the MAC address become the last 3 octets of the EUI-64.
The IPv6 link-local address for an Ethernet interface is formed by appending the 64-bit Interface Identifier to the prefix FE80::/64, yielding a 128-bit address with 10-bit prefix 1111111010, 54 zero bits, and the Interface Identifier.
The EUI-64-based Interface Identifier derivation method is intended to preserve global uniqueness, but there is no protection against duplication through accident or forgery.
IPv6 packets are carried in standard Ethernet frames. The Ethernet type code field must contain 0x86DD; the data field contains the IPv6 header followed immediately by the payload, plus any padding needed to meet the minimum Ethernet frame size.
The Source/Target Link-layer Address option for Ethernet carries a Type field (1=source, 2=target), a Length field of 1 (in units of 8 octets), and the 48-bit Ethernet IEEE 802 address in canonical bit order — the address the interface currently responds to.