title: Neighbor Discovery Protocol
text: # Neighbor Discovery Protocol
  
  Il Neighbor Discovery Protocol (NDP) è un protocollo nella suite di protocolli Internet utilizzato da IPv6. Opera a livello di accesso alla rete ed è impiegato per:
  
  * autoconfigurare gli indirizzi dei nodi
  * individuare altri nodi sulla rete
  * recuperare l'indirizzo di accesso alla rete (es. indirizzo MAC) degli altri nodi
  * rilevare un conflitto di indirizzi
  * trovare router disponibili sulla rete
  * trovare DNS operativi sulla rete
  
  ## Implementazione del protocollo
  
  Per implementare le sue funzioni il protocollo NDP definisce 5 diversi tipi di pacchetti ICMPv6:
  
  ### 133 - Router Solicitation
  
      L'host richiede di conoscere i router presenti sulla rete. I router rispondono con un pacchetto tipo 134.
  
  ### 134 - Router Advertisement
  
      I router avvertono della loro presenza sulla rete con questo pacchetto inviandolo periodicamente o su richiesta del pacchetto 133.
  
  ### 135 - Neighbor Solicitation
  
      Richiesta dell'indirizzo di livello di accesso alla rete (es. indirizzo MAC) ad un host. Viene inviata in multicast (al solicited node) se l'host sorgente vuole scoprire l'indirizzo di un altro host, oppure in modalità unicast se l'host mittente vuole verificare solo la raggiungibilità dell'host destinazione.
  
  ### 136 - Neighbor Advertisement
  
      Usato in risposta ad un pacchetto di tipo 135.
  
  ### 137 - Redirect Message
  
      Usato dai router per informare dell'esistenza di un miglior instradamento per una data destinazione.
  