LIVELLO 6 • CONNESSIONE INTERNET • LEZIONE 6.3

IPv4 e IPv6: differenze e come funzionano

Ogni dispositivo che comunica attraverso una rete IP ha bisogno di un indirizzo. Vediamo come sono fatti IPv4 e IPv6, perché Internet ha avuto bisogno di IPv6 e come i due protocolli convivono ancora oggi.

Livello Intermedio
Obiettivo Distinguere IPv4 e IPv6
Prerequisito Indirizzi IP e subnet

💡 In poche parole

IPv4 utilizza indirizzi da 32 bit, come 192.168.1.10. IPv6 utilizza invece indirizzi da 128 bit, come 2001:db8:1234:5678::10. Il principale motivo dell’introduzione di IPv6 è la disponibilità enormemente maggiore di indirizzi.

🌐 Che cos’è IP?

IP significa Internet Protocol.

È uno dei protocolli fondamentali utilizzati per trasportare pacchetti attraverso reti diverse.

Ogni pacchetto IP contiene informazioni che permettono alla rete di capire da dove arriva e dove deve essere inviato.

💻 PC IP sorgente
📡 Router Instradamento
🌐 Server IP destinazione

🔢 IPv4: indirizzi da 32 bit

IPv4 è la versione del protocollo IP che ha accompagnato gran parte della crescita di Internet.

Un indirizzo IPv4 è composto da 32 bit.

Per renderlo più leggibile, viene normalmente scritto come quattro numeri decimali separati da punti.

192.168.1.10

Ogni gruppo rappresenta 8 bit, cioè un ottetto.

192 . 168 . 1 . 10 ↓ ↓ ↓ ↓ 8 bit 8 bit 8 bit 8 bit Totale = 32 bit

📊 Quanti indirizzi IPv4 esistono?

Con 32 bit possiamo rappresentare:

2^32 = 4.294.967.296 possibili combinazioni

Si tratta di circa 4,3 miliardi di indirizzi.

Può sembrare un numero enorme, ma Internet è cresciuta molto più di quanto fosse stato immaginato nelle sue prime fasi.

⚠️ Non tutti i 4,3 miliardi sono normali indirizzi pubblici

Parte dello spazio IPv4 è riservato a utilizzi particolari, reti private, loopback, multicast e altre funzioni.

🏠 Gli indirizzi IPv4 privati

Nelle reti domestiche utilizziamo molto spesso indirizzi IPv4 privati.

I principali intervalli sono:

10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

Per questo troviamo spesso indirizzi come:

192.168.1.1 192.168.1.20 192.168.1.100

Questi indirizzi non vengono normalmente instradati direttamente su Internet.

🔄 IPv4 e NAT

Nella maggior parte delle reti domestiche IPv4, molti dispositivi privati condividono un indirizzo pubblico attraverso il router.

Una delle tecniche utilizzate è il NAT.

PC 192.168.1.10
Telefono 192.168.1.20
Router NAT
Internet IPv4 pubblico

🧠 Una conseguenza importante

Con IPv4 possiamo avere decine di dispositivi nella rete domestica, ma verso Internet possono apparire attraverso uno stesso indirizzo IPv4 pubblico.

👥 E il CGNAT?

La scarsità di indirizzi IPv4 ha portato alcuni operatori a utilizzare anche Carrier-Grade NAT, spesso abbreviato in CGNAT.

In questo scenario il NAT non avviene soltanto nel router dell’utente.

Anche l’operatore può condividere un indirizzo IPv4 pubblico tra più clienti.

Casa A Cliente
Casa B Cliente
CGNAT Operatore
Internet IPv4 pubblico

⚠️ CGNAT può complicare le connessioni in ingresso

Se non possiedi un IPv4 pubblico direttamente raggiungibile, pubblicare servizi domestici verso Internet può diventare più complesso.

🚀 Perché è nato IPv6?

La motivazione più evidente è la quantità limitata di indirizzi IPv4.

Con miliardi di persone, computer, smartphone, server, sensori e dispositivi connessi, 32 bit sono diventati troppo pochi.

IPv6 aumenta enormemente lo spazio degli indirizzi.

IPv4 32 bit
🚀 IPv6 128 bit

🔢 IPv6 utilizza 128 bit

Un indirizzo IPv6 è lungo 128 bit.

Viene normalmente scritto utilizzando cifre esadecimali e gruppi separati dai due punti.

2001:0db8:1234:5678:abcd:ef01:2345:6789

La notazione può sembrare inizialmente molto più complicata rispetto a IPv4, ma segue regole precise.

📊 Quanti indirizzi IPv6 esistono?

Con 128 bit il numero di combinazioni diventa:

2^128

cioè circa:

3,4 × 10^38

È un numero enormemente superiore allo spazio IPv4.

🧠 Il salto non è da 4 miliardi a 8 miliardi

Passare da 32 a 128 bit produce uno spazio di indirizzamento immensamente più grande.

✍️ Come si abbrevia un indirizzo IPv6?

Gli indirizzi IPv6 sarebbero molto lunghi da scrivere sempre nella forma completa.

Per questo è possibile abbreviarli.

💡 Primo esempio

2001:0db8:0000:0000:0000:0000:0000:0001

Può essere scritto come:

2001:db8::1

Gli zeri iniziali di ogni gruppo possono essere eliminati.

Inoltre una sequenza continua di gruppi a zero può essere abbreviata utilizzando ::.

⚠️ :: può comparire una sola volta

Se venisse usato più volte nello stesso indirizzo, non sapremmo quanti gruppi di zeri siano stati eliminati in ciascun punto.

🏠 IPv6 nella rete domestica

In una rete IPv6 non abbiamo necessariamente lo stesso modello tipico di IPv4 con molti dispositivi privati nascosti dietro un unico indirizzo pubblico.

L’operatore può assegnare al router un prefisso IPv6.

Il router può poi utilizzare quel prefisso per le reti locali.

Provider Prefisso IPv6
Router Delega prefisso
LAN Subnet IPv6

📌 Che cos’è un prefisso IPv6?

Come in IPv4 possiamo utilizzare una notazione CIDR.

Per esempio:

2001:db8:1234:5600::/56

Il valore /56 indica quanti bit iniziali appartengono al prefisso assegnato.

Il router può poi suddividere lo spazio ricevuto in subnet più piccole.

🔢 Perché si vede spesso /64?

Nelle normali LAN IPv6 incontriamo molto frequentemente subnet /64.

Per esempio:

2001:db8:1234:5601::/64

I primi 64 bit identificano il prefisso della subnet, mentre i restanti 64 bit rappresentano lo spazio per gli identificatori delle interfacce.

64 bit Prefisso rete
+
64 bit Parte host
=
128 bit Indirizzo IPv6

💡 /56 e /64 non significano la stessa cosa

Se un operatore assegna al router un prefisso /56, non significa che la LAN debba utilizzare direttamente /56.

Il router può utilizzare quello spazio per creare molte subnet /64.

🏠 Esempio

Prefisso ricevuto: 2001:db8:1234:5600::/56 LAN principale: 2001:db8:1234:5601::/64 Rete ospiti: 2001:db8:1234:5602::/64 Rete IoT: 2001:db8:1234:5603::/64

🧠 Collegamento con le VLAN

Se abbiamo più VLAN, possiamo assegnare una subnet IPv6 /64 differente a ciascuna rete.

🔗 Link-local IPv6

Un dispositivo IPv6 possiede normalmente anche un indirizzo link-local.

Questi indirizzi utilizzano il prefisso:

fe80::/10

Un esempio potrebbe essere:

fe80::1234:5678:abcd:ef01

Gli indirizzi link-local vengono utilizzati per comunicazioni sul collegamento locale e svolgono un ruolo importante nel funzionamento di IPv6.

⚠️ Link-local non significa Internet

Un indirizzo che inizia con fe80:: non rappresenta automaticamente un indirizzo globalmente raggiungibile.

🌐 Global Unicast IPv6

Gli indirizzi IPv6 utilizzati per la normale comunicazione globale appartengono generalmente allo spazio Global Unicast.

Possiamo considerarli, in modo semplificato, l’equivalente concettuale degli indirizzi IPv4 pubblici instradabili su Internet.

🔄 IPv6 elimina completamente il NAT?

IPv6 è stato progettato con uno spazio di indirizzamento sufficientemente grande da non richiedere il NAT come soluzione alla scarsità degli indirizzi.

Un dispositivo può quindi avere un indirizzo IPv6 globalmente instradabile.

Questo non significa però che ogni dispositivo debba essere liberamente raggiungibile da Internet.

🛡️ NAT e firewall non sono la stessa cosa

Anche senza NAT, il router può utilizzare un firewall per bloccare connessioni in ingresso non richieste.

🛡️ IPv6 non significa “tutto aperto”

Questa è una delle confusioni più comuni.

Se un computer possiede un indirizzo IPv6 globale, non significa che tutte le sue porte siano necessariamente accessibili da Internet.

Il firewall del router può applicare regole di sicurezza anche al traffico IPv6.

Internet ↓ Firewall IPv6 ↓ LAN IPv6

📡 Come riceve l’indirizzo un dispositivo IPv6?

IPv6 supporta diversi meccanismi per configurare gli indirizzi.

Uno dei più importanti è SLAAC.

SLAAC significa:

Stateless Address Autoconfiguration

Il router annuncia informazioni relative al prefisso della rete e il dispositivo può configurare autonomamente il proprio indirizzo IPv6.

Router Annuncia /64
Client Configura IPv6

📦 Router Advertisement

Il router IPv6 invia messaggi chiamati Router Advertisement, abbreviati spesso in RA.

Attraverso questi messaggi può comunicare ai dispositivi informazioni importanti sulla rete IPv6.

Router ↓ Router Advertisement ↓ Prefisso + informazioni rete ↓ Client IPv6

📡 E DHCPv6?

Esiste anche DHCPv6.

Può essere utilizzato per fornire determinati parametri ai dispositivi IPv6.

SLAAC e DHCPv6 non sono necessariamente alternative assolute: una rete può utilizzare differenti combinazioni in base alla configurazione.

🔄 Prefix Delegation

Quando un router riceve IPv6 dal proprio operatore, può ricevere non soltanto un singolo indirizzo.

Può ottenere un intero prefisso da utilizzare sulle proprie LAN.

Questo meccanismo viene comunemente indicato come Prefix Delegation.

ISP /56
Router Prefix Delegation
LAN 1 /64
LAN 2 /64

📊 IPv4 e IPv6 a confronto

Caratteristica IPv4 IPv6
Lunghezza indirizzo 32 bit 128 bit
Scrittura Decimale puntato Esadecimale separato da :
Esempio 192.168.1.10 2001:db8::10
Spazio indirizzi Circa 4,3 miliardi di combinazioni Enormemente più grande
NAT domestico Molto comune Non necessario per risolvere la scarsità di indirizzi
Autoconfigurazione Tipicamente DHCP SLAAC e/o DHCPv6
Notazione subnet /24, /16… /64, /56…

🔗 IPv4 e IPv6 possono funzionare insieme

Internet non è passato da IPv4 a IPv6 in un solo giorno.

Per questo moltissime reti utilizzano contemporaneamente entrambi i protocolli.

Questa configurazione viene comunemente chiamata dual stack.

Router Dual Stack
IPv4 Connessione
IPv6 Connessione

💡 Che cosa significa dual stack?

Un dispositivo dual stack può possedere contemporaneamente:

IPv4: 192.168.1.50 IPv6: 2001:db8:1234:5601::50

Quando contatta un servizio su Internet, può utilizzare IPv4 oppure IPv6 in base alla disponibilità e al comportamento del sistema operativo e della rete.

🌐 Un sito può avere IPv4 e IPv6

Anche un server può essere raggiungibile attraverso entrambi i protocolli.

Il DNS può quindi restituire differenti tipi di record.

Record A → indirizzo IPv4 Record AAAA → indirizzo IPv6

🧠 Collegamento con il DNS

Se un dominio dispone sia di record A sia di record AAAA, può essere raggiungibile tramite IPv4 e IPv6.

🔎 Come controllare se stiamo usando IPv6?

Possiamo verificare le informazioni di rete del dispositivo o del router.

Su un computer potremmo trovare, per esempio:

IPv4: 192.168.1.100 IPv6: 2a00:xxxx:xxxx:xxxx::1234 IPv6 link-local: fe80::abcd:1234:5678:90ef

Se vediamo soltanto un indirizzo link-local, non significa necessariamente che disponiamo di connettività IPv6 globale.

🔧 Il router deve supportare IPv6?

Sì, se vogliamo utilizzare correttamente IPv6 sulla rete domestica.

Il router deve essere in grado di gestire:

  • la connessione IPv6 lato WAN;
  • eventuale Prefix Delegation;
  • Router Advertisement;
  • routing IPv6;
  • firewall IPv6;
  • le subnet IPv6 delle LAN.

⚠️ Supportare IPv6 non basta sempre

Anche l’operatore deve fornire connettività IPv6 e il router deve essere configurato secondo i parametri richiesti dalla rete.

🔌 IPv6 con PPPoE o IPoE

IPv6 non è legato esclusivamente a PPPoE oppure IPoE.

Un operatore può fornire IPv6 attraverso differenti architetture di accesso.

Il concetto è simile a quello visto nelle lezioni precedenti: dobbiamo evitare di confondere livelli diversi della rete.

FTTH Accesso fisico
PPPoE / IPoE Accesso WAN
IPv4 / IPv6 Protocollo IP

🛠️ IPv6 sostituirà IPv4?

IPv6 è stato progettato come evoluzione del protocollo IP e risolve il problema fondamentale dello spazio di indirizzamento IPv4.

Tuttavia IPv4 continua a essere largamente utilizzato.

Per questo la transizione avviene progressivamente, attraverso dual stack e altre tecniche di interoperabilità.

💡 La situazione pratica

Internet moderno IPv4 ─────┐ ├── convivono IPv6 ─────┘

Il dispositivo finale spesso utilizza entrambi senza che l’utente debba scegliere manualmente ogni volta.

🎯 Cosa devi ricordare

  • IPv4 utilizza indirizzi da 32 bit.
  • IPv6 utilizza indirizzi da 128 bit.
  • IPv4 offre circa 4,3 miliardi di combinazioni di indirizzi.
  • IPv6 dispone di uno spazio di indirizzamento immensamente più grande.
  • Nelle reti IPv4 domestiche il NAT è molto comune.
  • Il CGNAT permette a un operatore di condividere IPv4 pubblici tra più clienti.
  • IPv6 non richiede NAT come soluzione alla scarsità degli indirizzi.
  • Anche in IPv6 il firewall rimane fondamentale.
  • Le LAN IPv6 utilizzano molto spesso subnet /64.
  • Un operatore può delegare al router un prefisso più grande, per esempio /56.
  • SLAAC permette ai dispositivi di configurare automaticamente indirizzi IPv6.
  • IPv4 e IPv6 possono convivere attraverso dual stack.

🎓 Quiz finale

Controlla se hai assimilato i concetti principali della lezione.

1. Quanti bit utilizza un indirizzo IPv4?
Mostra la risposta

32 bit.

2. Quanti bit utilizza un indirizzo IPv6?
Mostra la risposta

128 bit.

3. Qual è uno dei motivi principali per cui è stato introdotto IPv6?
Mostra la risposta

Per disporre di uno spazio di indirizzamento enormemente più grande rispetto a IPv4.

4. Che cosa fa il CGNAT?
Mostra la risposta

Permette a un operatore di condividere indirizzi IPv4 pubblici tra più clienti.

5. Quale prefisso viene utilizzato dagli indirizzi IPv6 link-local?
Mostra la risposta

Il blocco fe80::/10.

6. Quale dimensione di subnet si incontra molto frequentemente nelle LAN IPv6?
Mostra la risposta

/64.

7. Che cosa significa dual stack?
Mostra la risposta

Significa che IPv4 e IPv6 vengono utilizzati contemporaneamente sulla stessa rete o dispositivo.

8. Un dispositivo con IPv6 globale deve essere necessariamente accessibile liberamente da Internet?
Mostra la risposta

No. Il firewall può bloccare le connessioni in ingresso non autorizzate anche senza utilizzare NAT.

9. Che cosa significa SLAAC?
Mostra la risposta

Stateless Address Autoconfiguration, un meccanismo che permette ai client di configurare automaticamente un indirizzo IPv6.

10. Un prefisso /56 ricevuto dall’operatore può essere suddiviso in più subnet /64?
Mostra la risposta

Sì. Il router può utilizzare il prefisso delegato per creare più subnet IPv6, per esempio una per ogni LAN o VLAN.