So recently I discovered DHCPv6 needed Duplicate Address Detection but why is that?

I had a hard time researching on this topic, most answers is that because it needs first to check but I can't see why.

Also if you guys have a wireshark file that contains the DAD of DHCPv6, can I have a copy?

My team needs to disect it and learn what is the difference between the message from SLAAC we are planning to make a DHCPv6 SetUp but it will take too long because we do not have the right equipment right now.

2 Answers 2


DAD checks if the IPv6 address you try to use is already taken by another device. It works over the Neighbor Discovery Protocol, exactly over the Neighbor Advertisement Portion of it.

The DAD of DHCPv6 is the same than the DAD of SLAAC. Inside DHCPv6 you use the DAD 2 times. First for your link-local address before you start DHCPv6 and than with the address you try to use over DHCPv6.

  • So the generated address of DHCPv6 is randomize? It is not sequence like in Ipv4 and that means it does not also have a central database because if it has then there is no reason for it to DAD Jun 24, 2014 at 7:10
  • I don´t know if it is exactly the same algorithm that SLAAC over Privacy Extensions is using, but I think so because the adresses look very equal. DHCPv6 has a central database, with an DHCPv6-request the Client tells the dhcpv6-server which address it is using from the ones the Client got offerd over dhcpv6-advertise. Jun 24, 2014 at 7:19
  • So you mean the DAD then is not a multicast like from SLAAC? The DAD is just a message to the Server and it will reply if its taken or not? Jun 24, 2014 at 7:22
  • 1
    ehm no the DAD with DHCPv6 is the same DAD with SLAAC Jun 24, 2014 at 7:24
  • 2
    The DHCP server doesn't do DAD (it might not even be directly connected to the relevant subnet in cases where a DHCP relay is used) but the client does. It does DAD to check if there is another system on the link that uses the address it received from the DHCP server. There are cases where a device doesn't use DHCP (for example with SLAAC or static configuration) so there might be addresses in use that the DHCP server doesn't know about. Jun 25, 2014 at 13:56

Every time a system starts to use a new IPv6 address (doesn't matter whether it is the link-local address, generated by SLAAC, provisioned using DHCPv6 or in some other way) it does Duplicate Address Detection, DAD, to check if the new address does not conflict with another device on the same link. There are usually settings on a system to disable DAD, but then you risk having addressing conflicts.

The exception are addresses configured as anycast addresses, because those are supposed to be configured on multiple devices at the same time.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.