Register now or log in to join your professional community.
The assignment of a unicast IPv6 address to an interface involves an internal test for the uniqueness of that address usingNeighbor Solicitation and Neighbor Advertisement (ICMPv6 type 135 and 136) messages. While in the process of establishing uniqueness an address has a tentative state.
The node joins the solicited-node multicast address for the tentative address (if not already done so) and sends neighbor solicitations, with the tentative address as target address and the unspecified address (::/128) as source address. The node also joins the all-hosts multicast address ff02::1, so it will be able to receive Neighbor Advertisements.
If a node receives a neighbor solicitation with its own tentative address as the target address, then that address is not unique. The same is true if the node receives a neighbor advertisement with the tentative address as the source of the advertisement. Only after having successfully established that an address is unique may it be assigned and used by an interface.
During the TENTATIVE Step of Autoconfiguration we verify the IPv6 Addresses.
We start with Link-Local Address with DAD and if we receive a NA, two cases:
- Normal case, the interface is disabled for IPv6 (see remark below)
- SeND. We retry twice. If after 3 attempts, computed CGA are not unique we disable the Interface for IPv6 and report an Error (I tested it!)
Now about DAD itself, it is explained in rfc4862
http://tools.ietf.org/html/rfc4862#section-5.4.4
Quite funny the RFC says that the interface is disabled for a link-local only if it is derived from a MAC Address otherwise IP operation MAY continue... Quite funny as I don't see how we could continue with a duplicated Link-local address!!!!
Now when it is the turn of other Addresses, if we receive a NA, the Address is not initialized by the local Node.
AFAIK, while the interface is in TENTATIVE mode we are not supposed to build the Neighbor Cache but only verify our own addresses and other task very well defined.
The address is not initialized and may be once the interface is enabled and no longer in TENTATIVE mode we can resolve this Neighbor MAC Address but I would be surprised that it would be done while in TENTATIVE mode during DAD!!!
when the IPv6 node tries to make its own IPv6 address including local and global address. If IPv6 node detects address duplication by Neighbor Advertisement message from duplicated node, then the duplicated address can not be used for this node, then IPv6 node MUST generate its own address by other mechanisms like DHCP or Random Interface ID generation etc.