IPv6 e configurazione IP: progettare, configurare e verificare una rete moderna
Dalla struttura a 128 bit alla configurazione dual-stack: impariamo a leggere gli indirizzi IPv6, comprenderne i prefissi, usare NDP e SLAAC e costruire una procedura di troubleshooting supportata dall'Intelligenza Artificiale.
Obiettivi della lezione
1. Perché IPv6 e perché studiarlo
IPv6 utilizza indirizzi lunghi 128 bit e introduce un modello di indirizzamento e configurazione che richiede al tecnico di rete competenze specifiche. Non si tratta semplicemente di usare indirizzi più lunghi: cambiano diversi meccanismi di scoperta dei vicini, configurazione automatica e comunicazione multicast.
IPv6 è la versione del protocollo Internet progettata per offrire uno spazio di indirizzamento enormemente più ampio rispetto a IPv4 e meccanismi moderni per la configurazione e la gestione della comunicazione IP.
Quando introduco IPv6 preferisco partire dalle differenze operative rispetto a IPv4: 128 bit, prefissi, Link-Local, multicast, NDP e configurazione automatica. Questo aiuta a evitare l'idea che IPv6 sia semplicemente “IPv4 con più indirizzi”.
2. IPv6: 128 bit e otto gruppi esadecimali
Un indirizzo IPv6 contiene 128 bit ed è normalmente rappresentato come otto gruppi di quattro cifre esadecimali separati da due punti.
2001:0db8:0000:0000:0000:0000:0000:0010
Otto gruppi da 16 bit: 8 × 16 = 128 bit.
Il sistema esadecimale utilizza 0–9 e a–f. Questa rappresentazione permette di leggere in modo relativamente compatto 128 bit.
2001 : 0db8 : 0000 : 0000 : 0000 : 0000 : 0000 : 0010
16 + 16 + 16 + 16 + 16 + 16 + 16 + 16 bit.
3. Abbreviazione e riespansione degli indirizzi
IPv6 prevede regole precise per rendere gli indirizzi più leggibili.
Eliminare gli zeri iniziali
Gli zeri iniziali di ogni gruppo possono essere omessi.
2001:0db8:0000:0042:0000:0000:0000:0010
diventa 2001:db8:0:42:0:0:0:10.
Usare ::
Una sequenza consecutiva di gruppi completamente a zero può essere sostituita da ::.
2001:db8:0:0:0:0:0:10
diventa 2001:db8::10.
:: può comparire una sola volta nello stesso indirizzo, altrimenti non sarebbe possibile sapere quanti gruppi di zeri ricostruire.
Allenatevi anche a fare il percorso inverso: riespandere un indirizzo abbreviato è molto utile quando confrontate configurazioni Cisco durante il troubleshooting.
4. Prefissi e notazione CIDR
La lunghezza del prefisso indica quanti bit appartengono alla parte di rete.
2001:db8:1234:1::10/64
/64 indica che i primi 64 bit costituiscono il prefisso della rete.
Il prefisso /64 è molto comune nelle reti locali IPv6. Indirizzi come 2001:db8:1234:1::10/64 e 2001:db8:1234:1::20/64 condividono lo stesso prefisso di rete.
Quando leggete un IPv6, non fermatevi alla stringa dell'indirizzo: leggete sempre anche il prefisso. Indirizzo e prefisso formano insieme l'informazione necessaria per interpretare la rete.
5. Global Unicast, Link-Local, Multicast e Loopback
IPv6 utilizza diverse categorie di indirizzi, ciascuna con uno scopo preciso.
Global Unicast
Gli indirizzi Global Unicast sono indirizzi IPv6 pensati per essere instradabili globalmente. Negli esempi didattici è utile usare il prefisso documentale 2001:db8::/32.
Link-Local
Gli indirizzi Link-Local appartengono al prefisso fe80::/10 e sono validi sul collegamento locale. Sono fondamentali per molte funzioni IPv6.
Multicast
Gli indirizzi multicast permettono di inviare pacchetti a un insieme di destinatari. Il prefisso generale è ff00::/8. IPv6 fa ampio uso del multicast e non utilizza il broadcast nel modo tipico di IPv4.
Loopback
::1
È il loopback IPv6, equivalente concettualmente a 127.0.0.1 in IPv4.
::1 identifica il dispositivo locale: non è un indirizzo da utilizzare per raggiungere un altro host.
6. Il ruolo dei Link-Local
Un'interfaccia IPv6 può avere un indirizzo Link-Local anche senza una configurazione manuale di un indirizzo Global Unicast. Questo permette comunicazioni e funzioni di controllo sul collegamento locale.
PC e router sulla stessa LAN possono comunicare localmente utilizzando indirizzi fe80::/10. Questa caratteristica è importante per comprendere NDP e alcune modalità di configurazione IPv6.
Quando vedete un indirizzo fe80:: in un output Cisco, non consideratelo automaticamente un errore. Prima chiedetevi quale funzione locale sta svolgendo.
7. NDP: Neighbor Discovery Protocol
NDP è un insieme di meccanismi IPv6 basati su ICMPv6 e multicast che consentono agli host di scoprire router e vicini e di apprendere informazioni utili alla comunicazione locale.
- Router Solicitation (RS): richiesta inviata da un host per ottenere informazioni dai router.
- Router Advertisement (RA): informazioni annunciate dal router, inclusi dati relativi ai prefissi.
- Neighbor Solicitation (NS): messaggio utilizzato per funzioni di Neighbor Discovery.
- Neighbor Advertisement (NA): risposta relativa a un vicino.
Host → RS → Router
Router → RA → Host
Host ↔ NS / NA ↔ Neighbor
Durante il troubleshooting IPv6 è quindi importante conoscere NDP e non cercare semplicemente una copia del modello ARP di IPv4.
8. SLAAC: configurazione automatica
SLAAC, Stateless Address Autoconfiguration, permette a un host IPv6 di configurarsi automaticamente utilizzando informazioni ricevute dal router.
- L'host entra nel collegamento.
- Riceve o sollecita informazioni del router.
- Apprende il prefisso attraverso gli annunci.
- Costruisce la propria configurazione IPv6 secondo il meccanismo previsto.
- Esegue le verifiche necessarie sul collegamento.
Per il troubleshooting bisogna quindi capire quali informazioni sono state effettivamente ricevute dal client, invece di attribuire genericamente il problema alla “configurazione automatica”.
SLAAC non è magia: è una sequenza osservabile di messaggi e decisioni. Trasformarla in una sequenza di verifiche rende il fault molto più semplice da isolare.
9. DHCPv6 e rapporto con SLAAC
DHCPv6 permette a un servizio dedicato di fornire informazioni di configurazione IPv6. Non va però interpretato semplicemente come “la versione IPv6 del DHCP che sostituisce SLAAC”. I due meccanismi possono svolgere ruoli differenti e possono essere utilizzati in combinazione.
- SLAAC: usa le informazioni ricevute attraverso gli annunci del router.
- DHCPv6: può fornire informazioni di configurazione tramite un servizio dedicato.
- Combinazione: RA e DHCPv6 possono collaborare in una stessa rete.
Se un client non è configurato come previsto, prima di accusare DHCPv6 verificate RA, NDP, interfaccia e informazioni effettivamente ricevute.
10. Dual-stack IPv4/IPv6
Il dual-stack permette di utilizzare IPv4 e IPv6 contemporaneamente sugli stessi dispositivi e sulla stessa infrastruttura fisica.
PC ─── Switch ─── Router
IPv4: 192.168.10.0/24
IPv6: 2001:db8:10::/64
- Gateway IPv4:
192.168.10.1 - Host IPv4:
192.168.10.10 - Gateway IPv6:
2001:db8:10::1/64 - Host IPv6:
2001:db8:10::10/64
Il dual-stack è particolarmente utile in laboratorio: possiamo verificare lo stesso percorso con due protocolli e, durante una Fault Injection, mantenere IPv4 funzionante mentre introduciamo un errore soltanto nella componente IPv6.
Se IPv4 funziona e IPv6 fallisce, non significa automaticamente che il cavo o lo switch siano guasti. Il confronto tra i due protocolli è proprio uno strumento per restringere il campo delle ipotesi.
11. Configurazione IPv6 su Cisco
Su un router Cisco possiamo abilitare il forwarding IPv6 e configurare sulle interfacce gli indirizzi e i relativi prefissi.
In un ambiente dual-stack la stessa interfaccia può avere contemporaneamente IPv4 e IPv6.
IPv6 non usa la subnet mask decimale tipica di IPv4. Il prefisso viene normalmente indicato con la notazione CIDR, per esempio /64.
12. Verifica della connettività IPv6
Configurare non significa aver finito: bisogna verificare sistematicamente il risultato.
show ipv6 interface brief
show ipv6 interface
show ipv6 neighbors
show ipv6 routePer la connettività possiamo utilizzare ping e, quando necessario, traceroute.
- Stato dell'interfaccia.
- Indirizzo IPv6 e prefisso.
- Presenza del Link-Local.
- Neighbor IPv6.
- Tabella di routing.
- Ping verso il gateway.
- Ping verso la destinazione remota.
- Confronto con IPv4 nello scenario dual-stack.
Un ping fallito è un sintomo, non una diagnosi. Partite dalle evidenze più vicine alla configurazione e procedete verso il servizio.
13. Troubleshooting, Fault Injection e IA
Nel laboratorio introdurremo guasti deliberati e controllati. L'obiettivo non è soltanto ripristinare la connettività, ma imparare a trasformare un sintomo in un'ipotesi verificabile.
Esempi di Fault Injection
- prefisso errato;
- indirizzo IPv6 errato;
- interfaccia in shutdown;
- indirizzo duplicato;
- routing IPv6 non abilitato;
- configurazione dual-stack incompleta;
- problemi nella scoperta dei neighbor.
PC: 2001:db8:10::10/64
Router: 2001:db8:20::1/64
Il PC non raggiunge il router IPv6. Una prima ipotesi ragionevole è un prefisso non coerente, ma deve essere verificata con dati reali.
Come costruire un buon prompt
Un prompt diagnostico efficace deve contenere ruolo, obiettivo, topologia, configurazione attesa, configurazione osservata, sintomo, evidenze e regole di comportamento.
- Non inventare dati mancanti.
- Distinguere fatti, ipotesi e conclusioni.
- Non modificare direttamente la configurazione.
- Non fornire subito la soluzione.
- Proporre un test alla volta.
- Indicare per ogni test risultato atteso e interpretazione.
- Richiedere ulteriori evidenze quando necessarie.
Non chiedete all'IA semplicemente “Perché non funziona?”. Chiedetele di formulare ipotesi e progettare test. In questo modo diventa uno strumento per allenare il metodo diagnostico.
14. Errori comuni
Si rischia di ignorare NDP, multicast e configurazione automatica.
::La doppia virgola può comparire una sola volta.
fe80::/10 ha una funzione locale specifica.
L'indirizzo IPv6 va interpretato insieme alla lunghezza del prefisso.
Bisogna verificare anche router, interfacce, forwarding e routing IPv6.
Un prompt privo di topologia, configurazione e sintomi produce facilmente risposte generiche.
Una modifica alla volta. Se cambiate contemporaneamente più variabili, non potrete stabilire quale modifica abbia risolto il fault.
15. Ponte con la parte pratica
Ora possiamo passare alla simulazione: configureremo IPv6, verificheremo NDP e connettività, costruiremo uno scenario dual-stack IPv4/IPv6 e introdurremo Fault Injection controllati.
Vuoi passare all'azione? Accedi alla repository ufficiale GitHub del corso per scaricare il file del laboratorio pratico in formato .md. Troverai la traccia per costruire la rete in Cisco Packet Tracer ed eseguire le attività di Fault Injection guidate dall'Intelligenza Artificiale!
16. Riepilogo e autoverifica
- IPv6 utilizza indirizzi di 128 bit.
- Gli indirizzi sono rappresentati in gruppi esadecimali.
- Gli zeri iniziali possono essere eliminati e una sola sequenza di gruppi nulli può essere rappresentata con
::. - Il prefisso identifica la parte di rete.
- Global Unicast, Link-Local, Multicast e Loopback hanno funzioni differenti.
- NDP è fondamentale per la scoperta dei vicini e dei router.
- SLAAC permette la configurazione automatica basata sulle informazioni annunciate dai router.
- DHCPv6 può fornire informazioni di configurazione ai client.
- Il dual-stack permette di utilizzare IPv4 e IPv6 contemporaneamente.
- Il troubleshooting efficace parte dalle evidenze e procede per ipotesi e test.
- L'IA è più utile quando viene guidata da un prompt strutturato e da dati reali.
Domande per l'autoverifica
- Quanti bit contiene un indirizzo IPv6?
- Come si abbrevia correttamente un indirizzo IPv6?
- Perché
::può essere utilizzato una sola volta? - Che cosa indica
/64? - Qual è la differenza tra Global Unicast e Link-Local?
- A cosa serve NDP?
- Che ruolo hanno i Router Advertisement?
- Che cosa significa SLAAC?
- Perché il dual-stack è utile nel troubleshooting?
- Quali informazioni deve contenere un buon prompt per diagnosticare un Fault Injection IPv6?
Al termine della lezione dovete saper leggere una configurazione IPv6, formulare un'ipotesi, raccogliere evidenze, eseguire test controllati e documentare la causa di un fault, utilizzando anche l'IA come supporto al ragionamento tecnico.
