1.2.4.7 NDP Module

The NDP (Neighbor Discovery Protocol) for IP version 6 is used by IPv6 nodes on the same link to discover each other's presence. RFC - 4861.

NDP module is responsible for:

  • Address Auto configuration of nodes
  • Discovery of other nodes in the link (It can be a Router Discovery or Neighbor Discovery)
  • Determining the link-layer_address of other nodes
  • Duplicate address detection (DAD)
  • Finding available routers and Domain Name System (DNS) servers
  • Address Prefix discovery
  • Parameter Discovery (Such as Link MTU or Hop limit)

Comparing with IPv4:

  • NDP is a substitute of ARP (Address Resolution protocol ). This new mechanism uses a mix of ICMPv6 and multicast addresses to discover the IPv6 node on same link.
  • NDP includes Neighbor Unreachability Detection (NUD) , thus improving the robustness of packet delivery.
  • Unlike IPv4 broadcast addresses, IPv6 address resolution multicasts are spread over 4 billion (2^32) multicast addresses, greatly reducing address resolution-related interrupts on nodes other than the target. Moreover, non-IPv6 machines should not be interrupted at all.
  • Neighbor Discovery defines five different ICMPv6 packet types.

Five Different ICMPv6 Packet Types:

  • Router Solicitation - Hosts inquire with Router Solicitation message to locate routers on the attached link
  • Router Advertisement - Router advertise their presence periodically to all the nodes or in response to the Router Solicitation message
  • Neighbor Solicitation - Neighbor solicitations are used by nodes to determine the Link Layer address of a neighbor, or to verify that a neighbor is still reachable via a cached Link Layer address
  • Neighbor Advertisement - Neighbor advertisements are used by nodes to respond to a Neighbor Solicitation message
  • Redirect - Routers may inform hosts of a better first hop router for a destination