Neighbor Discovery Protocol
# 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.
