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