The Neighbor Discovery Protocol - NDP - is an IPv6 protocol used for discovery and redirect similar to ARP and ICMP for IPv4.
It is used to handle address configuration, node discovery, address determination, duplicate addresses detection, location of available routers and DNS servers, address prefix discovery, and maintainance of reachability information.
NDP defines five ICMPv6 packet types for communication: