近隣探索 【ND】 Neighbor Discovery
MACアドレスはイーサネット(Ethernet)やWi-Fiといったリンク層のアドレスで、機器のネットワークインターフェースごとに固有であることから物理アドレスとも呼ばれる。IPv6で通信するには、同じネットワーク上の各機器の持つIPv6アドレスとMACアドレスの対応関係を調べる必要がある。
ネットワークに新たに参加したノードは、自らのIPv6アドレスに基づいて自動的に決定された要請ノードマルチキャストアドレス(solicited-node multicast address)と呼ばれる特殊なアドレスに向けて、ICMPv6の近隣者要請(NS:Neighbor Solicitation)メッセージを送信する。これはネットワーク内にマルチキャストされ、すべての端末に一斉配信される。
NSには近隣の機器が持つIPv6アドレスが記載されており、そのアドレスを持つ機器は自身のMACアドレスを返信するよう要請する。NSを受信した機器は探索対象のアドレスと自身のアドレスを見比べて、一致したら自身のMACアドレスをICMPv6の近隣者広告(Neighbor Advertisement)メッセージとして返信する。
これにより、IPv6アドレスとMACアドレスの対応関係が確定する。探索したアドレスの対応関係は、一定期間、機器内部の専用の保存領域(Neighbor Cache:近隣キャッシュ)に格納されるため、、通信の度に探索し直さなくて良い。この一連のプロセスはIPv4ではARP(Address Resolution Protocol)のブロードキャストによって実現していた。
(2023.7.4更新)