5

I started learning about IPv6 and I wonder what happens when you mix SLAAC and static addresses in the same /64.

My current understanding is as follows:

  1. Machine A with a statically configured address.
  2. Machine B comes online, and generates its own address with SLAAC, which matches the IP from Machine A
  3. Machine B sends out a neighborhood advertisement
  4. Machine B receives a response from Machine A
  5. Machine B regenerates its SLAAC
  6. Machine B sends out a new neighborhood advertisement
  7. Machine B receives no reply
  8. Machine B has a new address

Now, for some weird reason we're gonna turn this around:

  1. There is a Machine A, which has an address though SLAAC, no collisions.
  2. Machine B comes online, which only has a statically configured address.
  3. Machine B's address collides with Machine A.
  4. ???

What happens on 4. ?

  • Will Machine A detect Machine B and change?
  • Will Machine B still TAKE the address and wreak havoc?
  • ... ? ...

Lastly:

I know there are different methods of solving this better, but let's assume just this case.

1
  • 4
    Step 4... system admin is fired for using the same address twice. That's the problem with static addresses: the person using them has to make sure they're unique.
    – Ricky
    Apr 19, 2020 at 8:31

1 Answer 1

3

Duplicate address detection is required to happen in either case. Machine B should not accept a manually configured address that conflicts with an existing address. DAD is required, whether the address is configured by SLAAC, DHCPv6, or manual configuration.

This is explained in multiple RFCs. For example RFC 4862, IPv6 Stateless Address Autoconfiguration, Section 5.4 Duplicate Address Detection

It is required for all hosts per RFC 8504, IPv6 Node Requirements:

All nodes MUST implement Duplicate Address Detection. Quoting from Section 5.4 of RFC 4862:

Duplicate Address Detection MUST be performed on all unicast addresses prior to assigning them to an interface, regardless of whether they are obtained through stateless autoconfiguration, DHCPv6, or manual configuration, with the following [exceptions noted therein].


How any particular host OS handles this is off-topic here, but you will probably see an error if trying to manually configure a duplicate address.

.

2
  • Keep in mind, that rule is attempting to sneak across the line. That RFC defines SLAAC, not IPv6 in general. On an interface where SLAAC is disabled, it is entirely possible DAD may be shut off as well. (yes, it's always a Good Idea(tm), and some OSes even do this for IPv4 addresses, but that doesn't mean every IPv6 stack will.)
    – Ricky
    Apr 19, 2020 at 8:43
  • 3
    @RickyBeam, there are several RFCs that refer to that RFC, including the IPv6 Node Requirements RFC. I added that to the answer.
    – Ron Maupin
    Apr 19, 2020 at 17:03

Your Answer

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

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