Neighbor Discovery Protocol or NDP has a number of functions with regards to IP version six.
The first one is Slack, which again is stateless address order configuration.
A host can discover which subnet or prefix it belongs to.
A host or PC, as an example, could use its Mac address for the host portion of an IP version six address,
but it needs to know which subnet it belongs to or which prefix it belongs to, and the length of that
prefix.
A router can dynamically allocate the network portion of the address to a host using Slack, and I'm
going to demonstrate that in a moment.
Router Discovery is how IP Version six hosts discover routers.
So Router Discovery would be used by a host to determine the subnet that it belongs to.
The host again needs to determine the network portion of an address and it can use router discovery
messages to do that.
Duplicate address translation or D&D is used by a host to determine that no other host is using the
same IP address.
We don't want to have duplicate addresses if by some reason there are two hosts on the same subnet using
the same MAC address.
Duplicate address detection can be used to determine if there are duplicate addresses.
An IP version six PC will first check whether another host is using the same IP version six a unicast
address as itself before it tries to use that address.
In addition, neighbor discovery protocol is used for neighbor Mac Discovery.
There's no ARP messages in IP version six.
ARP uses broadcasts.
Broadcasts are not supported and IP version six.
So a different mechanism is required.
And again, neighbor discovery protocol is used to discover neighboring Mac addresses.
If a PC needs to ping another device on the same subnet, it needs to know what the Mac address is of
that neighboring device.
So it determines the MAC address through neighbor Mac Discovery.
NDP replaces IP version for ARP.
So how do you IPV six hosts discover routers?
ICMP Version six replaces IP version for ICMP.
Again, there's a lot of similarity between the protocols.
IP Version six ICMP supports echo requests and echo replies, so you can use pings in the same way as
you did an IP version for.