Recent from talks
Nothing was collected or created yet.
Prefix delegation
View on WikipediaIP networks are divided logically into subnetworks. Computers in the same subnetwork have the same address prefix. For example, in a typical home network with legacy Internet Protocol version 4, the network prefix would be something like 192.168.1.0/24, as expressed in CIDR notation.
With IPv4, commonly home networks use private addresses (defined in RFC 1918) that are non-routable on the public Internet and use address translation to convert to routable addresses when connecting to hosts outside the local network. Business networks typically had manually provisioned subnetwork prefixes. In IPv6 global addresses are used end-to-end, so even home networks may need to distribute public, routable IP addresses to hosts.
Since it would not be practical to manually provision networks at scale, in IPv6 networking, DHCPv6 prefix delegation (RFC 3633; RFC 8415 § 6.3) is used to assign a network address prefix and automate configuration and provisioning of the public routable addresses for the network. In the typical case of a home network, for example, the home router uses DHCPv6 to request a network prefix from the ISP's DHCPv6 server. Once assigned, the ISP routes this network to the customer's home router and the home router starts advertising the new address space to hosts on the network, either via SLAAC or using DHCPv6.
DHCPv6 Prefix Delegation is supported by most ISPs who provide native IPv6 for consumers on fixed networks.
Prefix delegation is generally not supported on cellular networks, for example LTE or 5G. Most cellular networks route a fixed /64 prefix to the subscriber. Personal hotspots may still provide IPv6 access to hosts on the network by using a different technique called Proxy Neighbor Discovery or using the technique described in RFC 7278. One of the reasons why cellular networks may not yet support prefix delegation is that the operators want to use prefixes they can aggregate to a single route. To solve this, RFC 6603 defines an optional mechanism and the related DHCPv6 option to allow exclusion of one specific prefix from a delegated prefix set.
External links
[edit]- "DHCPv6 using the Prefix Delegation Feature Configuration Example". Cisco Systems.
- "Chapter 22.4: Router Advertisement Daemon (radvd)". Linux IPv6 HOWTO.
- "Chapter 22.6: ISC Dynamic Host Configuration Server (dhcpd)". Linux IPv6 HOWTO.
- "Dibbler: a portable DHCPv6 client supporting IPv6 prefix delegation". Archived from the original on 2009-02-12. Retrieved 2013-09-19.
- Trøan, Ole; Droms, Ralph (December 2003). "RFC 3633: IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6". IETF.
- Talwar, Mohit; Thaler, Dave; Patel, Chirayu (April 2006). "RFC 4389: Neighbor Discovery Proxies (ND Proxy)". IETF.
Prefix delegation
View on GrokipediaOverview
Definition and Purpose
Prefix delegation (PD) is a mechanism within the Dynamic Host Configuration Protocol for IPv6 (DHCPv6) that enables a requesting router, typically customer premises equipment (CPE), to obtain one or more IPv6 prefixes from a delegating router, such as an ISP's provider edge router.[4] These prefixes, often in the range of /48 to /64 in length, allow the requesting router to automatically configure and assign subnets to downstream interfaces or links without manual intervention.[4] Unlike traditional DHCP, which primarily assigns individual host addresses, PD focuses on delegating routable prefix blocks to support hierarchical addressing in IPv6 networks.[4] The primary purpose of prefix delegation is to provide scalable, dynamic assignment of IPv6 prefixes across administrative boundaries, addressing the need for automated network configuration in large-scale IPv6 deployments.[3] It fulfills IPv6's hierarchical addressing model by allowing ISPs to delegate prefixes to customer sites, enabling those sites to subnet and route traffic internally while maintaining global reachability.[4] This contrasts with IPv4 practices, where address scarcity often necessitated network address translation (NAT); in IPv6, PD leverages the vast address space to support direct, routable assignments.[5] Key benefits of PD include reduced administrative overhead for service providers through automated prefix management and reclamation, as well as simplified renumbering when sites change providers.[3] It promotes end-to-end connectivity by providing globally unique prefixes, eliminating the need for NAT in most scenarios and facilitating seamless communication between devices.[5] Additionally, PD supports the abundance of IPv6 addresses by typically delegating /56 prefixes to residential users, allowing subdivision into multiple /64 subnets for various local area networks (LANs).[5] For instance, a home router might request a /56 prefix and divide it into 256 /64 subnets—one for the main LAN, another for guest networks, and others for IoT devices—ensuring efficient use without address exhaustion.[4]Relation to IPv6 Addressing
IPv6 addresses are 128-bit identifiers, structured to support hierarchical routing and large-scale deployment. The address format divides the 128 bits into three main parts: a global routing prefix (typically 48 bits for end-site assignments), a subnet ID (16 bits), and an interface identifier (64 bits). This structure enables efficient aggregation of routes in the global Internet routing table, where the global routing prefix identifies the network allocation from a provider or registry, the subnet ID allows for up to 65,536 local subnets within a site, and the interface ID uniquely identifies devices on a subnet.[6] The IPv6 addressing model employs a hierarchical approach to manage address distribution, distinguishing between provider-independent (PI) prefixes, which are globally routable and portable across providers, and provider-allocated (PA) prefixes, which are assigned by an Internet Service Provider (ISP) from their own allocation and aggregated under the provider's routing announcements. Prefix delegation primarily operates with PA prefixes, allowing ISPs to dynamically assign blocks of addresses to customer sites while maintaining route aggregation to minimize global routing table growth. This PA model supports scalability in provider networks, as prefixes can be reclaimed and reassigned upon customer changes, unlike PI prefixes which require separate routing advertisements.[7][8] Stateless Address Autoconfiguration (SLAAC) enables hosts to generate their own IPv6 addresses using Router Advertisements (RAs) from a local router, combining the advertised prefix with an interface identifier derived from the host's MAC address or a privacy extension. However, SLAAC is limited to single-link configurations and does not support the delegation of prefixes to downstream routers for creating multiple internal subnets, as it relies on a fixed prefix per link without mechanisms for subdividing or propagating larger blocks. This necessitates prefix delegation for scenarios where customer edge devices require dynamic provisioning of address space to support internal network segmentation. DHCPv6 serves as the transport mechanism for such delegation.[9] IPv6's vast address space, with 2^128 possible addresses overall and 2^64 unique identifiers per /64 subnet, fundamentally avoids the scarcity issues of IPv4 by enabling generous delegation without fragmentation or exhaustion concerns. Prefix delegation leverages this abundance by allowing providers to assign /56 or /48 blocks to sites, each supporting thousands of /64 subnets, ensuring long-term scalability for end-user networks while preserving global routing efficiency.[6][8]Protocol Mechanics
DHCPv6 Prefix Delegation Options
DHCPv6 prefix delegation relies on specific options defined in the protocol that enable requesting routers, such as customer premises equipment, to obtain IPv6 prefixes from delegating routers for management and sub-delegation. The core mechanism is provided by the Identity Association for Prefix Delegation (IA_PD) option, which encapsulates the association between a client and the delegated prefixes. This option, with code 25, includes a 4-octet IAID to uniquely identify the prefix delegation instance, followed by 4-octet T1 and T2 timers that determine renewal intervals—the T1 value signals when the requesting router should renew the prefixes with the original delegating router, while T2 indicates when to seek renewal from any available delegating router. The IA_PD option also contains sub-options for the actual prefixes, with recommended T1 and T2 values set to 50% and 80% of the shortest preferred lifetime among the delegated prefixes, respectively. Clients typically set T1 and T2 to zero in requests, allowing servers to assign appropriate values based on policy.[10][11] Encapsulated within the IA_PD option is the IA_PD Prefix option (code 26), which specifies the details of each delegated IPv6 prefix. This option's structure comprises a 4-octet preferred lifetime (indicating the time until the prefix becomes deprecated), a 4-octet valid lifetime (the total usability period), a 1-octet prefix length (in bits, commonly /56 or /60 for residential delegations to allow sub-delegation), and a 16-octet IPv6 prefix field. Additional sub-options follow for further configuration, such as any associated flags or extensions, though the base format does not include explicit flags like on-link determination, which is handled at the router advertisement level post-delegation. Both lifetimes are expressed in seconds, with 0xFFFFFFFF representing infinity, and clients set them to zero in requests while servers assign finite values aligned with delegation policies. The option length is 25 octets plus the length of any sub-options.[12][13] Supporting options enhance the flexibility of prefix delegation. For instance, clients can provide a prefix delegation hint by including an IA_PD Prefix option within the IA_PD option in Solicit messages, setting the IPv6 prefix to ::/desired prefix length and lifetimes to zero. Servers may use this as a hint for the preferred prefix or length but are not obligated to honor it. Further guidance on prefix-length hint issues is provided in RFC 8168.[14] Additionally, the Rapid Commit option (code 14), with zero length and no data, enables a two-message exchange (Solicit/Reply) for faster delegation, bypassing the Advertise/Request steps when both client and server support it, thus reducing latency in prefix acquisition.[15] These options collectively form the technical foundation for dynamic prefix management in DHCPv6, originally specified in RFC 3633 and updated in the DHCPv6 framework of RFC 8415.[14]Prefix Delegation Process
The prefix delegation process in DHCPv6 enables a requesting router to obtain IPv6 prefixes from a delegating router for sub-delegation to attached networks, following a standardized message exchange defined in the protocol. This process typically occurs in scenarios such as customer premises equipment (CPE) connecting to a broadband network gateway (BNG), where the requesting router acts as a DHCPv6 client and the delegating router as a server managing prefix pools. The exchange ensures dynamic assignment of prefixes while supporting lifetime management to maintain network stability.[16] The process begins with the requesting router sending a Solicit message to discover available delegating routers, including an Identity Association for Prefix Delegation (IA_PD) option to indicate interest in prefix delegation. The delegating router responds with an Advertise message, offering potential prefixes within the IA_PD option if available. Upon selecting an offer, the requesting router sends a Request message specifying the desired IA_PD to accept the delegation. The delegating router then confirms the assignment via a Reply message, which includes the delegated prefixes, their lengths, and valid lifetimes (T1 for renewal and T2 for rebinding timers). This four-message sequence (Solicit-Advertise-Request-Reply) constitutes the core exchange, though a two-message variant using the Rapid Commit option is possible for faster delegation.[16] To manage prefix lifetimes, the requesting router may initiate optional renewal procedures. At the T1 timer expiration, it sends a Renew message to the original delegating router seeking extended lifetimes; if unsuccessful, at T2 it broadcasts a Rebind message to any available server. The delegating router responds to these with a Reply containing updated parameters or status indications. These mechanisms allow prefixes to remain active without full re-delegation, with lifetimes typically set by the server as a fraction of the preferred lifetime (e.g., T1 at 50% and T2 at 80%).[16] In terms of entity roles, the requesting router—often a CPE—initiates the process by multicasting Solicit messages and manages sub-delegation of received prefixes to downstream interfaces. The delegating router, such as a BNG, maintains pools of available prefixes, authenticates requests based on client identity or hints, and tracks bindings to prevent overlaps. Relay agents may forward messages across network boundaries, preserving context like interface identifiers.[16] Prefix selection occurs on the delegating router side, drawing from configured pools based on factors like client-provided hints (e.g., preferred prefix length), availability, and administrative policies such as subscriber entitlements. The server may assign a single prefix or multiple via separate IA_PD instances, ensuring the delegated prefix supports sub-delegation (e.g., a /56 from a /48 pool). Client hints are advisory and can be ignored if incompatible.[16] Error handling integrates status codes within Advertise or Reply messages to address issues during the exchange. For instance, a NoPrefixAvail status code signals that no suitable prefixes are available, prompting the requesting router to retry or select another server. A NoBinding code in a Reply indicates no valid delegation exists for the client's IA_PD, requiring the client to release any assumed prefixes by setting lifetimes to zero. Invalid requests may trigger a negative acknowledgment (NAK) via Reply with an appropriate status, ensuring the process fails gracefully without resource leaks.[16]Implementation and Deployment
In Customer Premises Equipment
In customer premises equipment (CPE), such as home or small office routers, prefix delegation functions as a DHCPv6 client process to obtain an IPv6 prefix from the upstream provider edge device via the wide area network (WAN) interface. The CPE requests a prefix using the Identity Association for Prefix Delegation (IA_PD) option, typically a /56 or /48 block, which it then subdivides into smaller /64 subnets for local area network (LAN) interfaces using internal routing protocols or static configuration.[17][18] This delegation enables the CPE to act as a delegating router for downstream devices without relying on network address translation. Configuration of prefix delegation on CPE involves enabling the DHCPv6 client mode specifically for PD on the WAN interface, often through command-line interface (CLI) commands tailored to the vendor. For Cisco IOS XE devices, administrators use theipv6 dhcp client pd prefix-name command on the relevant interface, such as interface GigabitEthernet0/0/0, to initiate requests, optionally including a hint for the desired prefix length.[18] On Juniper Junos OS, configuration includes setting up address assignment pools with set access address-assignment pool pool-name family inet6 prefix delegated-prefix/56 and associating them via DHCP overrides.[19] Prefix lifetimes are managed through renewal and rebind mechanisms; the CPE sends RENEW messages at 50% of the preferred lifetime and RELEASE messages upon expiration or disconnection, ensuring prefixes are returned to the pool if valid lifetimes elapse, with configurable defaults like 1800 seconds valid and 600 seconds preferred on Cisco platforms.[18][17]
Integration with LAN address assignment features allows the CPE to distribute sub-prefixes efficiently. The delegated prefix can be combined with Stateless Address Autoconfiguration (SLAAC) by advertising router advertisements (RAs) containing the /64 sub-prefixes, enabling hosts to self-configure addresses, or with stateful DHCPv6 for more controlled assignment from a local server pool.[19][17] Prefix stability is maintained during reconnections through persistent bindings tied to the DHCP Unique Identifier (DUID) and Interface ID, with storage in non-volatile memory to avoid changes across reboots, though reconnections may trigger re-delegation if the upstream server enforces dynamic policies.[18]
Common challenges in CPE implementations include prefix changes that trigger renumbering events, potentially disrupting downstream connectivity as hosts retain deprecated addresses until lifetimes expire.[2] Vendor-specific behaviors exacerbate this; for instance, Cisco devices derive the DUID from the lowest interface MAC address and require specific licensing for PD client functionality, while some implementations like those in Linux-based CPE (e.g., systemd-networkd) may fail to propagate updates promptly on renewal failures.[18] Handling multiple PDs, such as for separate services, demands sufficient prefix sizes like /48 to allow subnetting without overlap, but inconsistent support across vendors can lead to configuration errors or inefficient allocation.[2][19]
