Neighbor Discovery
Link-Layer Address Determining

ND uses the Solicited-Node Multicast address for its activities. This address is based on the prefix FF02:0:0:0:0:1:FF00::/104 and the IPv6 address of a neighbor whose link-layer address is looking for.

Each network interface can be a member of several networks with different prefixes. For this reason, the Solicited-Node Multicast address is generated by takeover the last 24 bits of Interface ID. By this, all IPv6 addresses of the node have the same Solicited-Node Multicast address. To determining the link-layer address of neighbor, a node must send requests to all networks, which is a member. Each node uses the Neighbor Cache internal data structure for preserve the IPv6 addresses with their corresponding link-layer addresses.

If the node knows the IPv6 address of a neighbor and wants to determine its link-layer address, the determining procedure is as follows:

Neighbor Solicitation Message Format
Source/Target Link-Layer Address Option Format
MTU Option Format

A node can send the Neighbor Advertisement message even if its link-layer address is changed. The node announces the fact by sending several Neighbor Advertisement messages to multicast address for all IPv6 nodes on the same link (FF02::1). The nodes that have stored the entry with the IPv6 address in its Neighbor Cache update this entry, others ignore it.

Neighbor Advertisement Message Format

Neighbor Advertisement message contains additional information that are conveyed using the following flags: