Windows 7 / Networking

Understanding Neighbor Discovery

ND is the process by which nodes on an IPv6 network can communicate with each other by exchanging frames at the data-link layer. ND performs the following functions on an IPv6 network:

  • Enables IPv6 nodes (IPv6 hosts and IPv6 routers) to resolve the link-layer address of a neighboring node (a node on the same physical or logical link)
  • Enables IPv6 nodes to determine when the link-layer address of a neighboring node has changed
  • Enables IPv6 nodes to determine whether neighboring nodes are still reachable
  • Enables IPv6 routers to advertise their presence, on-link prefixes, and host configuration settings
  • Enables IPv6 routers to redirect hosts to more optimal routers for a specific destination
  • Enables IPv6 hosts to discover addresses, address prefixes, and other configuration settings
  • Enables IPv6 hosts to discover routers attached to the local link

To understand how ND works, it helps to first compare it with the similar processes used in IPv4. In IPv4, you use three separate mechanisms to manage node-to-node communication:

  • Address Resolution Protocol A data link-layer protocol that resolves IPv4 addresses assigned to interfaces to their corresponding MAC-layer addresses. This enables network adapters to receive frames addressed to them and send response frames to their source. For example, before a host can send a packet to a destination host whose IPv4 address is 172.16.25.3, the sending host first needs to use ARP to resolve this destination address (if the host is on the same LAN) or the IP address of the local gateway (if the host is on a different LAN) to its corresponding 48-bit MAC address (such as 00-13-20-08-A0-D1).
  • ICMPv4 router discovery These ICMPv4 messages enable routers to advertise their presence on IPv4 networks and enable hosts to discover the presence of these routers. When router discovery is enabled on a router, the router periodically sends router advertisements to the all-hosts multicast address (224.0.0.1) to indicate to hosts on the network that the router is available. When router discovery is enabled on hosts, the hosts can send router solicitations to the all-routers multicast address (224.0.0.2) to obtain the address of the router and assign this address as the host's default gateway.
  • ICMPv4 Redirect Routers use these ICMPv4 messages to inform hosts of more optimal routers to use for specific destinations. ICMPv4 Redirect messages are needed because hosts typically cannot determine the best router on their subnet to send remote traffic for a given destination.

On IPv4 networks, these three mechanisms enable nodes on a network segment to communicate on a link. On IPv6 networks, these three mechanisms are replaced by the five ICMPv6 message types shown in Table-5.

Note The solicited-node multicast address, which is used as the destination address for ICMPv4 Neighbor Solicitation messages (ICMPv6 type 135 messages) when address resolution is being performed, is a special type of multicast address composed of the prefix FF02::1:FF00:0/104 followed by the last 24 bits of the IPv6 address that is being resolved. IPv6 nodes listen on their solicited-node multicast addresses. The advantage of using this multicast address for address resolution in IPv6 is that typically only the targeted host is disturbed on the local link. By contrast, the ARP messages used in IPv4 for address resolution queries are sent to the MAC-layer broadcast address, which disturbs all hosts on the local segment.

Table-5 ICMPv6 Message Types Used for ND

Message TypeICMPv6 TypeDescription
Router Solicitation133Sent by IPv6 hosts to the link-local scope allrouters multicast address (FF02::2) to discover IPv6 routers present on the local link.
Router Advertisement134Sent periodically by IPv6 routers to the link-local scope all-nodes multicast address (FF02::1), or sent to the unicast address of a host in response to receiving a Router Solicitation message from that host. (Windows Vista and later versions use multicast for optimization.) Router Advertisement messages provide hosts with the information needed to determine link prefixes, link maximum transmission unit (MTU), whether to use DHCPv6 for address autoconfiguration, and lifetime for autoconfigured addresses.
Neighbor Solicitation135Sent by IPv6 nodes to the solicited-node multicast address of a host to discover the link-layer address of an IPv6 node, or sent to the unicast address of the host to verify the reachability of the host.
Neighbor Advertisement136Sent by an IPv6 node to the unicast address of a host in response to receiving a Neighbor Solicitation message from the host, or sent to the linklocal scope all-nodes multicast address (FF02::1) to inform neighboring nodes of changes to the host's link-layer addresses.
Redirect137Sent by an IPv6 router to the unicast address of a host to inform the host of a more optimal first-hop address for a specific destination.
[Previous] [Contents] [Next]

In this tutorial:

  1. Deploying IPv6
  2. Understanding IPv6
  3. Understanding IPv6 Terminology
  4. Understanding IPv6 Addressing
  5. Understanding IPv6 Prefixes
  6. Understanding IPv6 Address Types
  7. Understanding Unicast Addresses
  8. Identifying IPv6 Address Types
  9. Understanding Interface Identifiers
  10. Comparing IPv6 with IPv4
  11. Understanding IPv6 Routing
  12. How IPv6 Routing Works
  13. IPv6 Route Determination Process
  14. IPv6 Routing Table Structure
  15. Understanding ICMPv6 Messages
  16. Understanding Neighbor Discovery
  17. Understanding Address Autoconfiguration
  18. Understanding Name Resolution
  19. Understanding Name Queries
  20. Understanding Name Registration
  21. PTR Records and IPv6
  22. IPv6 Enhancements in Windows 7
  23. Summary of IPv6 Enhancements in Windows 7
  24. Configuring and Troubleshooting IPv6 in Windows 7
  25. Configuring IPv6 in Windows 7 Using the User Interface
  26. Configuring IPv6 in Windows 7 Using Netsh
  27. Other IPv6 Configuration Tasks
  28. Enabling or Disabling IPv6
  29. Disabling Random Interface IDs
  30. Resetting IPv6 Configuration
  31. Displaying Teredo Client Status
  32. Troubleshooting IPv6 Connectivity
  33. Planning for IPv6 Migration
  34. Blocking Teredo
  35. Understanding ISATAP
  36. Migrating an Intranet to IPv6
  37. Step 1: Upgrading Your Applications and Services
  38. Step 2: Preparing Your DNS Infrastructure
  39. Step 3: Upgrading Your Hosts
  40. Step 4: Migrating from IPv4-only to ISATAP
  41. Step 5: Upgrading Your Routing Infrastructure
  42. Step 6: Upgrading Your DHCP Infrastructure
  43. Step 7: Migrating from ISATAP to Native IPv6
  44. The Advantages of IPv6
  45. Address Resolution in IPv6