IPv6 networks have many different ways to configure an IPv6 address. In this video, you’ll learn about the neighbor discovery protocol, link-local addressing, stateless address autoconfiguration, and DHCPv6 operation.
<< Previous: An Overview of IPv6Next: IPv6 Interoperability >>
When working on an IPv6 network, a lot of the addressing that is normally done via DHCP can be done automatically or in conjunction with a DHCP server. In this video, we’ll look at all of the different mechanisms that you can configure to allow this IPv6 addressing to work properly on your network. IPv6 relies heavily on a protocol called NDP or Neighbor Discovery Protocol.
IPv6 doesn’t use broadcast. So everything is done with multicast and it does by communicating to the other devices that are on the local subnet. For example, in IPv4 we have the ARP or Address Resolution Protocol. In IPv6, the Neighbor Discovery Protocol handles that capability. In NDP is also used when you have IPv6 automatically configure an IP address on the local subnet. That automatic configuration is called SLAAC or Stateless Address Auto Configuration, where you can get an IP address that could be used to communicate out to the internet without talking to a DHCP server. That’s very different than the IPv4 days. And in a moment, we’ll show you exactly how that works.
This Neighbor Discovery Protocol can also be used to find out where your local routers are. It uses a router solicitation and receives router advertisements that it can then use to configure your local workstation. This is also used to find duplicate addresses. You don’t want to configure solve automatically with an IP address and then find that there is a duplicate on the network. So the Neighbor Discovery Protocol also handles DAD or Duplicate Address Detection as well.
One IPv6 address that you’ll see on every single one of your interfaces is a link local address. This is similar to the a APIPA a address in IPv4 where you’re given an address that works on your local subnet. It can’t communicate off of this subnet, but it’s one that you can use to talk to all of the devices that might be local to you. Every interface that has IPv6 enabled is required to have a link local address. So don’t be thrown that there are multiple addresses associated with an interface. That’s perfectly normal in the IPv6 world.
This link local address starts with fe80. It technically is an fe80 with a slash 10 subnet. That, of course, effectively becomes an fe80 with a 64-bit subnet and those last 64 bits used for the host address. It usually modifies a local Mac address to determine what those last 64 bits might be. So you’ll find that there is a close association, although it’s not exact to the Mac address on your device.
With IPv6, we don’t have to use DHCP to be able to get an IP address that we can then use to communicate to the internet. This can all done automatically on our local machine without requiring that there be any DHCP server out on the network. It does this through a mechanism called Stateless Address Auto Configuration or SLAAC. This is using that Neighbor Discovery Protocol we discussed earlier to find what subnet it happens to belong to, because it’s talked to the local router with a router solicitation and receive router advertisements on that subnet.
Now that our device knows what subnet a belongs to it creates a host address by modifying the Mac address associated with that interface to create a full and complete IPv6 address. And just before it starts using this address it uses that Neighbor Discovery Protocol for duplicate address detection to make sure that we’re the only one on the subnet using that particular IPv6 address.
It may seem that a DHCPv6 server is unnecessary. We’re able to create our own IP address on our local device and communicate to the internet, but there still may be configuration options that you can’t get locally on your subnet. For example, you may have voice over IP in your environment and you may need your IP configuration updated with CallManager details. So in that case you might create a local IP address with SLAAC and then talk to a DHCPv6 server to gain additional configuration details.
Whether you’re using DHCPv6 to configure IP address information as a stateful address or perhaps you’re using it to gain additional configuration details, the process is exactly the same. In fact, it’s very similar to the process used in IPv4. Your workstation instead of sending a broadcast, however, is going to send a multicast and it’s going to use it udp/546 on the client and udp/547 on the server.
The first step is for our client to solicit to look for a DHCP server. Perhaps, we’re looking for voice over IP configuration detail. So we send the message out via multicast saying, is there a DHCP server who can assist me with this? And the DHCP server is going to respond back with the DHCPv6 advertise.
And you’ll get an advertisement from every DHCP server that can communicate back to your computer. At this point your device is going to request that information from a particular DHCP server and that DHCP server will respond with those configuration details. This steps through a similar process with IPv4. So when you get into IPv6, there’s not going to be much difference between the two.