O protocolo de descoberta de vizinhança foi desenvolvido sob a finalidade de resolver os problemas de interação entre nós vizinhos em uma rede. Para isso ele atua sobre dois aspectos primordiais na comunicação IPv6, a autoconfiguração de nós e a transmissão de pacotes. No caso da autoconfiguração de nós, o protocolo fornece suporte para a realização de três funcionalidades:
Parameter Discovery: atua na descoberta por um nó de informações sobre o enlace (como MTU) e sobre a Internet(como hop limit). Address Autoconfiguration: trabalha com a autoconfiguração stateless de endereços nas interfaces de um nó. Duplicate Address Detection: utilizado para descobrir se o endereço que se deseja atribuir a uma interface já está sendo utilizado por um outro nó na rede. Já no caso da transmissão de pacotes entre nós, o suporte é dado para a realização de seis funcionalidades:
Router Discovery: trabalha com a descoberta de roteadores pertencentes ao enlace. Prefix Discovery: implementa a descoberta de prefixos de redes do enlace, cuja a finalidade é decidir para onde os pacotes serão direcionados numa comunicação (se é para um roteador especifico ou direto para um nó do enlace). Address Resolution: descobre o endereço fisico através de um endereço lógico IPv6. Neighbor Unreachability Detection: permite que os nós descubram se um vizinho é ou se continua alcançavel, uma vez que problemas podem acontecer tanto nos nós como na rede. Redirect: permite ao roteador informar ao nó uma rota melhor ao ser utilizada para enviar pacotes a determinado destino. Next-Hop Determination: algoritmo para mapear um endereço IP de destino em um endereço IP de um vizinho para onde o trafego deve ser enviado. Mensagens O protocolo NDP foi construido com base nas mensagens do protocolo ICMPv6 para a realização de suas tarefas. Para isso foram reservadas 5 tipos de mensagens:
Router Solicitation (RS), tipo 133. Router Advertisement (RA), tipo 134. Neighbor Solicitation (NS), tipo 135. Neighbor Advertisement (NA), tipo 136. Redirect, tipo 137.
http://ipv6.br/post/funcionalidades-basicas/