1. Introduzione
Il protocollo Neighbor Discovery (ND) [RFC4861] specifica i meccanismi che i nodi IPv6 (host e router) sullo stesso collegamento utilizzano per comunicare e conoscersi reciprocamente. L'autoconfigurazione di indirizzi senza stato (SLAAC) [RFC4862] si basa su questi meccanismi ND per consentire ai nodi di configurare i propri indirizzi IPv6.
Per un host, la procedura complessiva è la seguente:
-
LLA DAD: L'host forma un indirizzo locale di collegamento (LLA) ed esegue il rilevamento di indirizzi duplicati (DAD) utilizzando sollecitazioni di vicino (NS) multicast.
-
Scoperta del router: L'host invia sollecitazioni di router (RS) multicast per scoprire un router sul collegamento. Il router risponde con annunci di router (RA), fornendo prefissi di sottorete e altre informazioni.
-
GUA DAD: L'host forma un indirizzo unicast globale (GUA) [RFC3587] o un indirizzo locale unico (ULA) [RFC4193] e utilizza NS multicast per DAD.
-
Determinazione del prossimo hop e risoluzione dell'indirizzo: Quando l'host deve inviare un pacchetto, determina prima se il prossimo hop è un router o un host sul collegamento.
-
Rilevamento di irraggiungibilità del nodo (NUD): L'host utilizza NS unicast per determinare se un altro nodo con un NCE è ancora raggiungibile.
-
Annuncio di modifica dell'indirizzo di livello collegamento: Se l'indirizzo di livello collegamento di un host cambia, può utilizzare annunci di vicino (NA) multicast per annunciare il suo nuovo indirizzo di livello collegamento ad altri nodi.
ND utilizza il multicast in molti messaggi e si fida dei messaggi da tutti i nodi. Inoltre, i router possono installare NCE per gli host su richiesta quando devono inoltrare pacchetti a questi host. Questo può portare a problemi.
Questo documento riassume più di 20 RFC sui problemi ND e le soluzioni di mitigazione, identificando tre cause principali dei problemi.
1.1. Terminologia
Questo documento utilizza i termini definiti in [RFC4861]. Termini aggiuntivi sono definiti in questa sezione.
MAC (Media Access Control): Per evitare confusione con gli indirizzi locali di collegamento, gli indirizzi di livello collegamento sono chiamati "indirizzi MAC" in questo documento.
Isolamento dell'host: Separazione degli host in diverse sottoreti o collegamenti.
Isolamento L3: Allocazione di un prefisso unico per host (UPPH) [RFC8273] [RFC9663] in modo che ogni host sia in una sottorete diversa.
Isolamento L2: Adozione di misure per impedire a un host di raggiungere direttamente altri host nel Layer 2 (L2) in modo che ogni host sia su un collegamento diverso.
Isolamento L3+L2: Applicazione simultanea dell'isolamento L3 e dell'isolamento L2 in modo che ogni host sia in una sottorete diversa e su un collegamento diverso.
Isolamento L2 parziale: Utilizzo di un dispositivo proxy ND L3 [RFC4389] per rappresentare gli host dietro di esso ad altri host nella stessa sottorete.