rfc-8987

DHCPv6 Prefix Delegating Relay Requirements

I. Farrer, N. Kottapalli, M. Hunek, R. Patterson
date2021-02 streamIETF areaint wgdhc statusPROPOSED STANDARD pages11 canonicalhttps://www.rfc-editor.org/rfc/rfc8987 doi10.17487/RFC8987
This document describes operational problems that are known to occur when using DHCPv6 relays with prefix delegation. These problems can prevent successful delegation and result in routing failures. To address these problems, this document provides necessary functional requirements for operating DHCPv6 relays with prefix delegation. It is recommended that any network operator using DHCPv6 prefix delegation with relays ensure that these requirements are followed on their networks.

Extracted elements (29)

design-rationale §3.1

Delegating relays have been observed dropping Solicit messages when a new client appears on a port that already has an active PD lease, requiring a Release or lease timeout before forwarding resumes; requirement G-1 directly addresses this to support device replacement scenarios.

ip, v6ops

design-rationale §3.5

Forwarding loops arise when a client loses its active lease state while the relay still holds the route: traffic is forwarded to the client, which returns it to the relay as its default gateway. Requirement R-5 (loop detection) and S-1/S-2 (state preservation) mitigate this.

ip, v6ops, routing

design-rationale §3.2

Relay loss of routing state on reboot causes traffic forwarding failures until DHCP state is reestablished; requirements S-1 and S-2 mandate persistent storage or Bulk Leasequery to address this gap.

ip, v6ops

design-rationale §3.3

Some relay implementations restrict delegated prefixes to one per DUID, installing only a single route and leaving other delegated prefixes unreachable; requirements G-2 and G-3 mandate support for multiple simultaneous delegations per client.

ip, v6ops

design-rationale §2.1

The term 'delegating router' from RFC 8415 is intentionally not used here because this document targets deployment scenarios where the DHCPv6 relay and server functions are separated; 'delegating relay' is introduced to precisely describe the relaying function without implying a server role.

ip, v6ops

interoperability-note §4

Relays MUST forward packets containing message codes or options they do not understand, as required by RFC 8415 Sections 19 and 16 respectively.

ip, v6ops

interoperability-note §1

The requirements in this document apply solely to the DHCP relay agent co-located with the first-hop router to which the client is connected; multi-hop DHCPv6 relaying is not affected and no changes to subsequent relays in the path are needed.

ip, v6ops

normative-requirement §4.3 MUST

If a client's next-hop link-local address becomes unreachable, routes for the client's delegated prefixes MUST be retained by the delegating relay unless explicitly released or removed by expiring DHCP timers.

ip, v6ops, routing

normative-requirement §4.4 RECOMMENDED

It is RECOMMENDED that a time synchronization protocol be used by delegating relays and DHCP servers to facilitate troubleshooting of operational problems.

ip, v6ops, ntp

normative-requirement §4.1 RECOMMENDED

It is RECOMMENDED that delegating relays support at least 8 active delegated leases per client device and use this as the default limit.

ip, v6ops

normative-requirement §6 RECOMMENDED

It is RECOMMENDED that the delegating relay implement RFC 8213 (IPsec tunnel between relay agent and server) to secure relay-to-server DHCPv6 traffic.

security, ipsec, ip, v6ops

normative-requirement §4.1 MUST

On receipt of a Release message from the client, the delegating relay MUST expire the active leases for each of the IA_PDs in the message.

ip, v6ops

normative-requirement §4.1 MUST

The delegating relay MUST forward messages bidirectionally between the client and server without changing the contents of the message.

ip, v6ops

normative-requirement §4.1 MUST

The delegating relay MUST update lease lifetimes based on the client's reply messages it forwards and MUST only expire delegated prefixes when the valid lifetime has elapsed.

ip, v6ops

normative-requirement §4.2 MUST

The delegating relay's routing entry MUST use the same prefix length for the delegated prefix as given in the IA_PD.

ip, v6ops, routing

normative-requirement §4.1 MUST

The maximum number of simultaneous prefixes delegated to a single client MUST be configurable.

ip, v6ops

normative-requirement §4.2 MAY

The relay MAY provide a mechanism to dynamically advertise delegated leases into a routing protocol; if implemented, when a lease is released or expires, the delegated route MUST be withdrawn.

ip, v6ops, routing

normative-requirement §4.1 MUST

The relay MUST allow for multiple prefixes to be delegated for the same client IA_PD, and these delegations may have different lifetimes.

ip, v6ops

normative-requirement §4.1 MUST

The relay MUST allow for multiple prefixes (with or without separate IA_PDs) to be delegated to a single client connected to a single interface, identified by its DUID.

ip, v6ops

normative-requirement §4.1 MUST

The relay MUST implement a configurable mechanism to limit the maximum number of active prefix delegations on a single port for all client identifiers and IA_PDs. Failure to implement this may enable resource depletion attacks.

ip, v6ops, security

normative-requirement §4.2 MUST

The relay MUST maintain a local routing table dynamically updated with delegated leases and their associated next hops; when a delegated prefix is released or expires, its route MUST be removed.

ip, v6ops, routing

normative-requirement §4.2 MUST

The relay MUST provide a mechanism to dynamically update ingress filters to permit traffic from delegated prefixes and block packets with invalid source prefixes, implementing BCP38 anti-spoofing; the filter entry MUST use the same prefix length as given in the IA_PD.

ip, v6ops, security

normative-requirement §4.1 SHOULD

The relay SHOULD allow the same client DUID to have active delegated prefix leases on more than one interface simultaneously, unless DUID uniqueness is required for network functioning or security, to permit duplicate-DUID devices on separate broadcast domains.

ip, v6ops

normative-requirement §4.3 SHOULD

The relay SHOULD implement DHCPv6 Active Leasequery (RFC 7653) to keep the local lease database in sync with the DHCPv6 server.

ip, v6ops

normative-requirement §4.3 SHOULD

To preserve active client prefix delegations across relay restarts, the relay SHOULD implement either DHCPv6 Bulk Leasequery (RFC 5460) or persistent storage of active prefix delegations readable after reboot.

ip, v6ops

normative-requirement §4.2 SHOULD

To prevent routing loops, the relay SHOULD implement a configurable policy (per-client or per-destination) to drop packets received on a DHCP-PD client-facing interface whose destination address falls within a prefix delegated to a client on that same interface.

ip, v6ops, routing

protocol-element §2.1

A 'delegating relay' is defined as an intermediate device that forwards DHCPv6 messages containing IA_PD and IAPREFIX options between client and server, does not implement a DHCPv6 server function, and is responsible for routing traffic for the delegated prefixes. This is distinct from the RFC 8415 'delegating router' term.

ip, v6ops

security-consideration §6

Failure to implement a configurable per-port limit on active prefix delegations (requirement G-6) may expose the relay to a resource depletion attack. The operational interface requirements (Section 4.4) may introduce additional security considerations; RFC 4778 operational security practices are RECOMMENDED.

security, ip, v6ops

security-consideration §6

If the delegating relay implements BCP38 filtering, the filtering rules must be dynamically updated as delegated prefixes are leased, since static rules cannot account for dynamically assigned prefixes.

security, ip, v6ops