- [Narrator] IPv4 used the ICMP workhorse for lots of tasks,
including error messages like Destination Unreachable
and troubleshooting functions
used with Ping and Traceroute.
ICMPv6 still does those things for us,
but unlike it's predecessor,
the v6 flavor isn't implemented as a separate
layer 3 protocol.
Instead, it's an integral part of the IPv6
and is carried after the basic IPv6 header information
as an extension header.
And, ICMPv6 gives us another really cool feature.
By default it prevents IPv6 from doing any fragmentation
through an ICMPv6 process called MTU Discovery.
ICMP provides diagnostics, with Echo and Echo Reply,
commonly referred to as Ping.
It also provides Router Discovery, Router Solicitation,
Router Advertisements.
This is how hosts find their prefix,
so they can assign their address.
How they find their default gateways,
and Neighbor Discovery, Neighbor Solicitation,
Neighbor Advertisements.
We replace ARP, from IPv4, with a form of ICMPv6.
We still have to get the MAC address.
So, in this case here,
we can see our next header,
which we've discussed before,
which is the equivalent of the protocol field
in the IPv4, that tells us what data are we carrying.
In this example here, it's going to say
in hex 58, which is an ICMPv6 packet.
So, with Neighbor Discovery,
ICMPv6 takes over the task of finding the address
of other devices on the local link.
ARP was used with IPv4,
but now that's been renamed as Neighbor Discovery.
This process is now achieved via multicast address
called the Solicited Node Address,
because all hosts join this multicast group
upon connecting to the network.
In this example, Host A is trying to find an IPv6 address.
It's coming up.
Maybe rebooted for that day, saying I need an address.
What's my link prefix?
So Neighbor Discovery is going help this host out,
by determining the MAC address of the neighbors.
It's going to do a Router Solicitation in this example,
using FF02::2 with an ICMP type code of 133.
We do need to remember these for the CSIM.
Router Advertisements, coming back from the router
use an FF02::1 with an ICMP type code 134.
And if I just wanted to talk to a neighbor
I'd do a Neighbor Solicitation with an
ICMP type code of 135.
Okay. Now there's one other thing with Neighbor Discovery,
and this is called Duplicate Address Detection.
It's pretty rare to get a duplicate address in IPv6
if everything is auto-configuring itself.
But if you were to type them in,
you'll see that you can get a duplicate address,
and this is determined by something called
Duplicate Address Detection.