Summary

  • IPv6 Duplicate Address Detection separates creation from assignment. An address can be derived from a prefix and interface identifier yet remain tentative, unable to carry ordinary traffic while the link is checked.
  • The check asks a deliberately narrow question. A Neighbor Solicitation from the unspecified source seeks evidence that the candidate is already used or simultaneously claimed; bounded silence permits activation but proves neither identity nor global uniqueness.
  • Optimistic DAD later allowed constrained early use, while Enhanced DAD attached fresh nonces so a node could distinguish its reflected probe from a different claimant. Neither refinement turned DAD into authentication.

A candidate was not yet an address

Stateless autoconfiguration promised that an IPv6 host could start without a configuration server. A router could advertise a prefix; the host could combine it with an interface identifier; a link-local address could be formed even where no router existed. That economy, however, created a dangerous temptation: to treat successful arithmetic as authority to speak.

RFC 4862 inserted a state between those acts. A newly formed address is tentative. It is not assigned to the interface in the ordinary sense. The interface discards normal packets sent to it and accepts only the Neighbor Discovery traffic necessary to test it. The node has a candidate, not yet an operating identity.

The rule applies beyond one method of generation. RFC 4862 says DAD is performed independently of whether an address came from stateless autoconfiguration, DHCPv6 or manual configuration. Routers, although configured by other means, are also expected to pass DAD before assigning addresses. The protocol therefore audits the local result rather than trusting the pedigree of the configuration process.

The node asked without claiming a source

DAD reuses the local vocabulary defined by RFC 4861. The node sends a Neighbor Solicitation whose target is the tentative address. It directs the message to the target's solicited-node multicast address, concentrating the question on neighbors that could plausibly care about that target.

The source is the unspecified address. That detail is constitutional, not cosmetic: the candidate cannot be used to prove itself because it has not yet earned ordinary source status. The DAD solicitation also omits the source link-layer address option that normal address resolution can carry.

An established owner can answer with a Neighbor Advertisement. A second node testing the same candidate can reveal itself by sending its own DAD solicitation. Either valid observation is enough to stop assignment. If the tentative link-local address fails, RFC 4862 stops autoconfiguration for the interface and requires another identifier or manual intervention, because every later address may depend on that local foundation.

The default DupAddrDetectTransmits value is one, though link rules or administrators may change it; zero disables DAD. RetransTimer determines spacing and the final wait. This is a bounded observation window, not an endless referendum.

Silence licensed use; it did not certify truth

When no failure indication appears before the timer completes, the node assigns the address and may use it normally. The wording matters. DAD has not discovered a global ledger entry or obtained consent from every possible machine. It has failed to observe a conflicting claimant on the link during a defined interval.

A partitioned segment, filtered multicast, sleeping incumbent or broken switch can remain silent. A malicious neighbor can send false advertisements and deny service. The address can be unique on this link while duplicating an address on a different link with no consequence, because the relevant scope is local. Silence is sufficient operational evidence for one transition; it is not identity, ownership, reachability or worldwide uniqueness.

This narrowness follows a durable Internet pattern. A protocol should carry enough evidence to coordinate running systems without promoting that evidence into a broader mandate. Prefix publication helps form a candidate. Neighbor behavior informs a local collision decision. The node still owns the act of activation and the risk of disabling the test.

Optimism had to avoid dispossessing the incumbent

Waiting imposes latency, especially when a mobile interface changes links. RFC 4429 introduced an Optimistic state: an address could be available before DAD completed, but implementations should treat it like a deprecated address and prefer another suitable source.

The optimization is fenced. An optimistic node must not update neighbor caches in a way that could displace the rightful owner. It clears the Override flag in its advertisements. It never sends ordinary Neighbor Solicitations from the optimistic address and avoids attaching its link-layer identity to Router Solicitations sourced from it. Until DAD finishes, communication may need to pass through a router rather than establishing direct neighbor state.

Optimistic DAD did not abolish tentative evidence. It rearranged the cost of waiting while preserving recovery if a collision appeared. The candidate remained weaker than an established address, and its early actions were limited precisely where they might overwrite another node's working state.

A reflected question looked like a rival

The original exchange contained another ambiguity. Service providers used circuit loopbacks for testing; access networks could also reflect a frame through their topology. A router might receive its own DAD solicitation and conclude that another node was claiming the address. IPv4 could recover when the loop was removed, while the IPv6 interface remained in a failed state awaiting intervention.

RFC 7527 refined the provenance. Enhanced DAD adds a fresh random nonce to each probe and stores it with the tentative or optimistic address. If a solicitation returns with the same nonce, the sender recognizes its own reflected packet, logs it and drops it. A different nonce still indicates a separate candidate and causes a genuine duplicate decision.

The repair is revealing. A nonce does not say who owns the target. It answers a smaller question: did this evidence originate in my own current probe? Fresh values let repeated tests escape an accidental nonce collision and let an interface recover after a loop disappears.

RFC 7527 explicitly keeps the security boundary. A rogue can alter a nonce or fabricate an advertisement; the document points to Secure Neighbor Discovery for such adversarial cases. Enhanced DAD improves attribution between reflection and competition, not authentication of every neighbor.

Sources and evidence limits

The standards cited comprise the Neighbor Discovery message contract in RFC 4861, tentative state and base DAD in RFC 4862, constrained early use in RFC 4429, and reflected-probe recovery in RFC 7527.

These documents establish protocol states, messages and reported failure mechanisms. They do not measure present implementation share, collision frequency, universal timers or vendor quality. Their strongest historical claim is architectural: IPv6 made the ability to generate an address precede, but not equal, authority to use it.