From Fedora Project Wiki

< QA‎ | Networking

Line 24: Line 24:
Dynamic address configuration procedure:
Dynamic address configuration procedure:


* IPv6LL configuration and <abbr title="Duplicate Address Detection">DAD</title>
* IPv6LL configuration and <abbr title="Duplicate Address Detection">DAD</abbr>
* Router discovery (solicitation and advertisement)
* Router discovery (solicitation and advertisement)
* <abbr title="StateLess Address AutoConfiguration">SLAAC</abbr>
* <abbr title="StateLess Address AutoConfiguration">SLAAC</abbr>
Line 31: Line 31:
* DNS configuration (from rdisc and DHCP)
* DNS configuration (from rdisc and DHCP)
* Other configuration (NTP servers, ...)
* Other configuration (NTP servers, ...)
== Interface identifier ==
Link-local IPv6 addresses and SLAAC addresses are built using an interface identifier. The interface identifier can be build from the MAC address (the classic way), using original temporary addresses (privacy extensions) or using stable private addresses.


== DUID assignment and stability ==
== DUID assignment and stability ==

Revision as of 12:19, 27 October 2015

Automatic configuration overview

Common standard protocols involved in IPv4 and IPv6 automatic configuration:

  • DHCPv4 protocol
  • IPv4CP
  • IPv6 NDP router discovery
  • DHCPv6 protocol
  • IPv6CP

IPv4 and IPv6 configuration typically occurs simultaneously but separately. The two streams of configuration are then combined, especially those parameters that are used together for both protocols like recursive DNS server addresses.

IPv4 configuration procedure

Dynamic configuration procedure:

  • DHCP exchange
  • Address configuration (from DHCP, optional fallback to IPv4LL)
  • DNS configuration (from DHCP)
  • Other configuration (NTP servers, ...)

IPv6 configuration procedure

Dynamic address configuration procedure:

  • IPv6LL configuration and DAD
  • Router discovery (solicitation and advertisement)
  • SLAAC
  • Optional DHCP (based on router discovery)
  • Stateful address configuration (with lease from DHCP)
  • DNS configuration (from rdisc and DHCP)
  • Other configuration (NTP servers, ...)

Interface identifier

Link-local IPv6 addresses and SLAAC addresses are built using an interface identifier. The interface identifier can be build from the MAC address (the classic way), using original temporary addresses (privacy extensions) or using stable private addresses.

DUID assignment and stability

A common problem with both IPv4 and IPv6 protocols is the assignment of a stable DUID. In theory, DUID was expected to be a fixed hardware parameter buint into the hardware host. In practice DUID is most often just a number generated by software.

Requirements on DUID stability:

  • DUID must be stable during a single run of a system for a single configuration service
  • DUID should be stable across full reboots
  • DUID would better be shared across all configuration services and DHCP clients

(TODO: Revise the requirements above and back them up with some sources or use cases.)

Known bugs: