Sottoreti e CIDR spiegati: prefissi, maschere e host utilizzabili
Un indirizzo di rete, da solo, non dice quanto è grande la rete. La notazione CIDR aggiunge questa informazione: 192.168.1.0/24 significa «la rete che inizia da 192.168.1.0, in cui i primi 24 bit indicano la rete e i restanti numerano i dispositivi al suo interno». Una volta capito quel numero, maschere di sottorete, numero di host e piani di indirizzamento smettono di essere un terno al lotto. Questa guida spiega la notazione, le dimensioni più comuni e come dividere una rete in più reti.
Cosa significa il numero dopo la barra
Un indirizzo IPv4 è lungo 32 bit. La lunghezza del prefisso — il numero dopo la barra — indica quanti di quei bit, contando da sinistra, identificano la rete. I bit rimanenti identificano un dispositivo al suo interno.
/2424 bit di rete, 8 bit di host: 2⁸ = 256 indirizzi./2626 bit di rete, 6 bit di host: 2⁶ = 64 indirizzi./1616 bit di rete, 16 bit di host: 65.536 indirizzi.
Ogni variazione di uno nel prefisso dimezza o raddoppia la rete: un /25 è metà di un /24, e un /23 equivale a due /24 affiancati.
Prima del CIDR le reti avevano tre dimensioni fisse — classe A, B e C, gli equivalenti di /8, /16 e /24. Nel 1993 il CIDR ha sostituito quelle classi, così che le reti potessero avere qualsiasi dimensione. Questo ha rallentato l’esaurimento degli indirizzi IPv4 e ha permesso ai fornitori di annunciare al resto di internet molte piccole reti come un unico blocco più grande.
Maschere di sottorete: la stessa cosa, scritta per esteso
Una maschera di sottorete è la lunghezza del prefisso scritta come un indirizzo: bit a uno per la parte di rete, bit a zero per la parte di host. Un /24 corrisponde a 24 uno seguiti da 8 zeri, cioè 255.255.255.0. Gli apparati più vecchi e molte impostazioni dei sistemi operativi chiedono la maschera; quelli più recenti accettano il prefisso. Il significato è esattamente lo stesso.
Alcune configurazioni di router e firewall usano invece una maschera wildcard, cioè la maschera invertita: 0.0.0.255 per un /24.
Le dimensioni più comuni
| Prefisso | Maschera di sottorete | Indirizzi | Host utilizzabili |
|---|---|---|---|
/8 | 255.0.0.0 | 16.777.216 | 16.777.214 |
/16 | 255.255.0.0 | 65.536 | 65.534 |
/20 | 255.255.240.0 | 4.096 | 4.094 |
/22 | 255.255.252.0 | 1.024 | 1.022 |
/23 | 255.255.254.0 | 512 | 510 |
/24 | 255.255.255.0 | 256 | 254 |
/25 | 255.255.255.128 | 128 | 126 |
/26 | 255.255.255.192 | 64 | 62 |
/27 | 255.255.255.224 | 32 | 30 |
/28 | 255.255.255.240 | 16 | 14 |
/29 | 255.255.255.248 | 8 | 6 |
/30 | 255.255.255.252 | 4 | 2 |
/31 | 255.255.255.254 | 2 | 2 (solo collegamenti punto-punto) |
/32 | 255.255.255.255 | 1 | 1 (un singolo host) |
Perché mancano due indirizzi
In ogni sottorete IPv4 fino a /30, due indirizzi non possono essere assegnati a un dispositivo. Il primo, con tutti i bit di host a zero, è l’indirizzo di rete: il nome della sottorete stessa. L’ultimo, con tutti i bit di host a uno, è l’indirizzo di broadcast: un pacchetto inviato a quell’indirizzo raggiunge tutti i dispositivi della sottorete.
Prendiamo 192.168.10.34/26. Il /26 lascia 6 bit di host, quindi la sottorete contiene 64 indirizzi:
192.168.10.0Indirizzo di rete.192.168.10.1Primo host utilizzabile.192.168.10.62Ultimo host utilizzabile.192.168.10.63Indirizzo di broadcast.
Due dimensioni fanno eccezione. Un /31 ha solo due indirizzi, e su un collegamento tra due router si possono usare entrambi, perché un collegamento del genere non ha bisogno né di un indirizzo di rete né di un broadcast. Un /32 è un singolo indirizzo, usato per una rotta verso un solo host o per una regola del firewall che corrisponde esattamente a una macchina.
Dividere una rete in sottoreti
Per suddividere una rete, sposta il prefisso verso destra. Ogni bit che prendi in prestito dalla parte di host raddoppia il numero di sottoreti e dimezza la dimensione di ciascuna.
Supponiamo che tu abbia 192.168.0.0/24 e ti servano otto reti separate. Otto è 2³, quindi prendi in prestito tre bit: 24 + 3 = /27. Ogni /27 contiene 32 indirizzi, di cui 30 utilizzabili, e ogni 32 indirizzi ne inizia uno nuovo:
192.168.0.0/27Host da .1 a .30.192.168.0.32/27Host da .33 a .62.192.168.0.64/27Host da .65 a .94 — e così via, fino a 192.168.0.224/27.
Partendo dall’altro lato: per 50 dispositivi servono almeno 52 indirizzi — i 50 più l’indirizzo di rete e quello di broadcast. La più piccola potenza di due che li copre è 64, cioè un /26, con 62 host utilizzabili. Lascia spazio per la crescita: una rete esattamente piena oggi sarà troppo piccola l’anno prossimo.
Il calcolatore fa entrambe le cose: divide una rete di partenza in un certo numero di sottoreti, oppure trova il prefisso adatto a un certo numero di host.
Il CIDR in IPv6
IPv6 usa la stessa notazione con la barra, ma in pratica le dimensioni sono diverse. La dimensione standard per una singola rete è un /64: 64 bit per la rete e 64 per i dispositivi al suo interno — circa 18 miliardi di miliardi di indirizzi. La configurazione automatica degli indirizzi si basa su questa suddivisione, quindi le reti IPv6 non vengono ridotte per risparmiare spazio.
I fornitori assegnano a ogni cliente un blocco di più /64 da suddividere. Un /56, comune per le abitazioni, ne contiene 256; un /48, comune per le aziende, ne contiene 65.536. IPv6 non ha broadcast, quindi nessun indirizzo viene riservato a quello scopo.
Domande frequenti
192.168.1.0/24 è lo stesso di 192.168.1.0 con la maschera 255.255.255.0?
Sì. Il prefisso e la maschera sono due modi di scrivere la stessa dimensione.
Perché non posso usare 192.168.1.0 o 192.168.1.255 per un dispositivo in un /24?
Sono l’indirizzo di rete e l’indirizzo di broadcast di quella sottorete. Alcuni dispositivi li accettano comunque, ma il traffico da e verso quegli indirizzi si comporta in modo imprevedibile.
Cosa significa 0.0.0.0/0?
Tutti gli indirizzi IPv4: un prefisso di zero bit corrisponde a qualsiasi indirizzo. È così che si scrivono una rotta predefinita e le regole del firewall «consenti da qualsiasi origine». L’equivalente IPv6 è ::/0.
Un numero di prefisso più grande significa una rete più grande?
No, il contrario. Un /28 è molto più piccolo di un /24: più grande è il prefisso, meno bit restano per gli host.