Stateless autoconfiguration for IPv6

Can you explain what is ND and NDp in the routing table?

Hello Giovanni

When you configure stateless autoconfiguration for IPv6, these entries are automatically created within the IPv6 routing table.

Which ones are installed depends upon the specific autoconfiguration setup. When the following command is implemented, only the NDp entry appears.

ipv6 add autoconfig

The ND entry has the IPv6 address of the router from which the IPv6 address was obtained. Now if the following command is used, then the ND entry appears as well:

ipv6 add autoconfig default

More info can be found at this Cisco Learning Network post:
https://learningnetwork.cisco.com/s/question/0D53i00000Kt7FiCAJ/ipv6-address-autoconfig-and-its-nd-0-route

I hope this has been helpful!

Laz

In this example, how does R2 know to send an RA message to R1?

also

Given this is not sent as a broadcast, what dest mac address would be used by R2?

NDP requires a IP address for the process so that’s not going to work here.
There is no more broadcast address or limited broadcast here, either.
so its likely a multicast address, which leads to a question when autoconfigure is used, dose it listens for a specific multicast mac address?

Thanks.

Also

Hello Patrick

Actually, when the ipv6 address autoconfig command is applied to Fa0/0 of R1, it sends out a Router Solicitation (RS) message. This was not shown in the debug because it was enabled after the autoconfig was configured on R1. R2 sends an RA as a response to the RS.

Let’s take a look at a Wireshark capture of an RA. This is takeen from this Cloudshark capture.

Notice the MAC address of 33:33:00:00:00:01 as the destination address. How is this determined? Well, IPv6 multicast uses the prefix 33:33:xx for IPv6 multicast traffic. To determine the multicast MAC address, you take the initial multicast IPv6 address of ff02::1 which is the all nodes on the local network segment, and OR it with the MAC address of 33:33:00:00:00:00. The result is 33:33:00:00:00:01.

More about this can be found in RFC 2464.

I hope this has been helpful!

Laz

Hello, everyone!

So the ipv6 nd prefix default no-autoconfig command tells the hosts not to use SLAAC, it basically causes the RAs to no longer have the A flag (for autoconfiguration) set.

However, I don’t think I understand the syntax of ths command too well. Instead of default, we can also specify a prefix? How would that behave any differently?

And also, there’s these two time values
obrázok
Preferred Lifetime and Valid lifetime. What exactly do these times represent? And what is their relation with SLAAC?

Thank you.

David

Hello David

The ipv6 nd prefix command is used to give you control over the individual parameters per IPv6 prefix including if the prefix itself should be advertised or not. By default, if you don’t use this command at all, then only prefixes configured as addresses on the interface are advertised in RAs. By using the ipv6 nd prefix command, you are adjusting or manipulating what is being advertised in the RAs and how it is being advertised.

The fact that the word “default” is used as one of the parameters is a bit misleading. When it is used, you are simply saying that you want the default prefix to be advertised, the default being the prefix configured on the interface itself. The alternative to using the default keyword is to specify another prefix, either by manually typing it in, or by indicating that you want to receive it via a RADIUS server:

R1(config-if)#ipv6 nd prefix ?       
  X:X:X:X::X/<0-128>  IPv6 prefix x:x::y/<z>
  default             Specify prefix default parameters
  framed-ipv6-prefix  Advertise prefix obtained from RADIUS server

R1(config-if)#ipv6 nd prefix

So if you use the default keyword, you’re just saying “advertise the default prefix which is the one configured on the interface.” Now any additional parameters added after that are simply applied to the default prefx.

The parameters that you see after the default keyword allow you to specify for how long that prefix will be advertised (valid for X seconds, or infinitely, or expires at a particular time, or is not advertised at all).

Concerning the valid and preferred lifetimes, these are fields found within the RAs as part of the prefix information option. These values are an important part of how SLAAC works. An address considered preferred can be used for both new and existing connections. A valid address can be used only for existing connections. For a more detailed discussion of this, take a look at this NetworkLessons note on the topic of valid and preferred IPv6 addresses.

For more details on how the ipv6 nd prefix command is used, take a look at this Cisco command reference:

I hope this has been helpful!

Laz

Hello everyone, I was just wondering what would happen if the RA contains a prefix length that is not equal to /64?

Hello Marcel

RAs, which are part of the NDP in IPv6, usually contain a /64 prefix length. This is the typical default, and it is the most often used prefix. However, this prefix may be changed.

If the RA contains a prefix length that is not equal to /64, stateless autoconfiguration (or SLAAC) will not work. SLAAC has been designed to work only with /64 prefixes.

So if you use a prefix length other than /64, you will have to manually configure IPv6 addresses or use DHCPv6 for address assignment. Take a look at this NetworkLessons note about SLAAC for more information.

I hope this has been helpful!

Laz

To clarify – When people talk about stateful dhcp they mean getting it via a dhcp server
When we talk about stateless DHCP it is when they use slaac to obtain an item, default gateway, etc. So stateless dhcp doesn’t exist for IPV4? Is this correct?

Hello Cameron

Terminology in this area is often used in various ways and can be misleading. In the strictest sense, there are three primary “modes” in which stateful, stateless, and DHCPv6 are involved:

  • Stateful DHCPv6 - This is where DHCPv6 is used to assign an IPv6 address to a host as well as other parameters such as DNS server, NTP server, SIP server and others.
  • Stateless DHCPv6 - This is where the IPv6 address is assigned to the host address using SLAAC (not DHCPv6), but the host looks for the DHCPv6 server for the additional network parameters.
  • SLAAC or Stateless Autoconfiguration - In this mode, no DHCPv6 server is involved at all. The router on the local subnet provides the host with its network parameters of IPv6 address and default gateway.

Note that, unlike DHCP, in none of the above modes does the DHCPv6 server ever provide a default gateway. That is provided only by the local router on the network segment.

For more information, take a look at:

I hope this has been helpful!

Laz