rfc-8948

Structured Local Address Plan (SLAP) Quadrant Selection Option for DHCPv6

CJ. Bernardos, A. Mourad
date2020-12 streamIETF areaint wgdhc statusPROPOSED STANDARD pages16 canonicalhttps://www.rfc-editor.org/rfc/rfc8948 doi10.17487/RFC8948
The IEEE originally structured the 48-bit Media Access Control (MAC) address space in such a way that half of it was reserved for local use. In 2017, the IEEE published a new standard (IEEE Std 802c) with a new optional Structured Local Address Plan (SLAP). It specifies different assignment approaches in four specified regions of the local MAC address space. The IEEE is developing protocols to assign addresses (IEEE P802.1CQ). There is also work in the IETF on specifying a new mechanism that extends DHCPv6 operation to handle the local MAC address assignments. This document proposes extensions to DHCPv6 protocols to enable a DHCPv6 client or a DHCPv6 relay to indicate a preferred SLAP quadrant to the server so that the server may allocate MAC addresses in the quadrant requested by the relay or client. A new DHCPv6 option (QUAD) is defined for this purpose.

Extracted elements (26)

design-rationale §4.1

Preference values are included as explicit numeric weights rather than an ordered list so that a client can express equal preference among multiple quadrants, delegating the final selection to the server when the client has no strong preference.

ip

design-rationale §1.1.1

The AAI quadrant is identified as the best fit for privacy-oriented use cases such as randomized MAC addresses for mobile devices, because it does not require uniqueness guarantees across networks and is well-suited to frequent address changes when connecting to different networks.

privacy, ip

design-rationale §1.1.2

The ELI and SAI quadrants are preferred for data-center VM migration scenarios because their assignments are governed by IEEE Std 802c rules ensuring MAC address uniqueness globally across the data center, whereas AAI addresses only need to be unique within a single administrative region.

ip

design-rationale §3.2

The relay is given the ability to add a QUAD option independently of the client to support large infrastructures split into different network regions, where each region may have different MAC address quadrant requirements unknown to the client (e.g., IoT-only segments requiring ELI/SAI).

ip

interoperability-note §3.2

If a client sends multiple instances of the IA_LL option in the same message, the DHCP relay MAY add only a single instance of the QUAD option covering all of them. Servers process OPTION_SLAP_QUAD from both the Relay-forward message and the client message payload and select which to apply based on server policy.

ip

interoperability-note §4.1

Specifying all quadrants in the QUAD option results in a QUAD-option-supporting server behaving like a non-QUAD-option-supporting server, allowing backward-compatible operation by permitting address assignment from any available quadrant.

ip

normative-requirement §4.1 SHOULD

Clients and relays SHOULD specify all quadrants in the QUAD option to ensure the client gets an address if any are available, especially when server pool configuration for the preferred quadrants is uncertain.

ip

normative-requirement §4.1 MUST

Each quadrant MUST only appear once at most in the QUAD option. If more than one occurrence of the same quadrant identifier appears, only the first occurrence is processed and the rest MUST be ignored by the server.

ip

normative-requirement §3.1 MUST

If a server manages a block of addresses belonging to a requested quadrant, the addresses being offered MUST belong to a requested quadrant. This applies both in direct client-server and relay-mediated scenarios.

ip

normative-requirement §4.1 MUST

If the client or relay agent provides OPTION_SLAP_QUAD, the server MUST use the quadrant-n/pref-n values to order the selection of quadrants. If the server cannot provide an assignment from any specified quadrant, it MUST return the IA_LL option with a status of NoAddrsAvail.

ip

normative-requirement §3.1 SHOULD

If the server does not have a configured address pool matching the client's quadrant request, it SHOULD return the IA_LL option with addresses belonging to a quadrant managed by the server, following local policy. This applies when the client specifies quadrant preferences.

ip

normative-requirement §3.1 MUST

If the server has a configured address pool of the correct quadrant but no available addresses, it MUST return the IA_LL option containing a Status Code option with status set to NoAddrsAvail.

ip

normative-requirement §4.1 MUST NOT

Servers MUST NOT assume that quadrant-1/pref-1 have the highest preference, since there is no requirement that clients or relay agents order the quadrant/pref values in any specific order.

ip

normative-requirement §3.1 SHOULD

The client SHOULD check if the received MAC address comes from one of the requested quadrants; if not, it MAY repeat the process selecting a different DHCP server.

ip

normative-requirement §3.1 SHOULD NOT

The client SHOULD NOT pick a server that does not advertise an address in the requested quadrant(s) when choosing among Advertise responses.

ip

normative-requirement §3.1 MUST

The IA_LL option MUST contain an LLADDR option when a client sends a Solicit message requesting link-layer address assignment.

ip

normative-requirement §3.2 SHOULD

The server SHOULD apply the contents of the relay's supplied QUAD option for all of the client's IA_LLs, unless configured to do otherwise.

ip

normative-requirement §3.2 RECOMMENDED

The server SHOULD implement a configuration parameter to determine whether to process the client's or relay's instance of OPTION_SLAP_QUAD when both are present. The RECOMMENDED default is to process the client's instance.

ip

privacy-consideration §1.1.1

The QUAD option can be used to request MAC addresses from the AAI quadrant to support MAC address randomization, which mitigates user location tracking by enabling devices to use different local random MAC addresses each time they connect to a different network.

privacy, ip

protocol-element §4.1

The QUAD option (OPTION_SLAP_QUAD, code 140) is a new DHCPv6 option that allows a DHCPv6 client or relay to indicate preferred SLAP quadrants for MAC address allocation. It carries one or more (quadrant, preference) pairs and MUST be encapsulated either in the IA_LL-options field of an IA_LL option or in a Relay-forward message.

registry, ip

protocol-element §1

The SLAP quadrant structure defines four regions of the local MAC address space distinguished by the Y-bit and Z-bit in the IEEE 48-bit address: Quadrant 00 (AAI, Administratively Assigned), Quadrant 01 (ELI, Extended Local Identifier), Quadrant 10 (Reserved), and Quadrant 11 (SAI, Standard Assigned Identifier).

ip

registry §5

IANA has assigned option code 140 (OPTION_SLAP_QUAD) in the 'Option Codes' subregistry of the 'Dynamic Host Configuration Protocol for IPv6 (DHCPv6)' registry. The option is designated as a Singleton Option with no Client ORO requirement.

registry, ip

security-consideration §6

Security and privacy considerations for the QUAD option are inherited from RFC 8415 (DHCPv6), RFC 7227 (DHCPv6 option guidelines), RFC 8200 (IPv6), and RFC 8947 (link-layer address assignment via DHCP). No additional security mechanisms specific to the QUAD option are defined beyond these inherited considerations.

security, ip

state-machine §3.2

Client-relay-server signaling flow: client sends Solicit(IA_LL) to relay; relay encapsulates in Relay-forward adding QUAD option; server responds in Relay-reply with Advertise; relay forwards to client; client sends Request; relay forwards in Relay-forward with QUAD; server replies in Relay-reply; relay delivers Reply to client. Renew cycle follows the same relay-mediated pattern.

ip

state-machine §3.1

Client-server signaling flow for SLAP quadrant-aware MAC address assignment: (1) client sends Solicit(IA_LL(LLADDR, QUAD)); (2) server responds Advertise(IA_LL(LLADDR, QUAD)); (3) client sends Request(IA_LL(LLADDR, QUAD)); (4) server sends Reply(IA_LL(LLADDR)); then on timer expiry (5) client sends Renew with QUAD option and (6) server responds with Reply extending lifetime.

ip

wire-format §4.1

The QUAD option wire format contains a 2-byte option-code (OPTION_SLAP_QUAD = 140), a 2-byte option-len (2 * number of quadrant/preference pairs), followed by pairs of 1-byte quadrant-n (0=AAI, 1=ELI, 2=Reserved, 3=SAI) and 1-byte pref-n fields. Each quadrant identifier MUST appear at most once in the option.

ip