Calcolatore CIDR / di sottoreti
Calcola indirizzo di rete, intervallo di host, maschere e numero di indirizzi di qualsiasi blocco IPv4 o IPv6, e lo divide in sottoreti uguali.
| Rete | 192.168.1.0/24 |
|---|---|
| Indirizzo di rete | 192.168.1.0 |
| Indirizzo di broadcast | 192.168.1.255 |
| Intervallo utilizzabile | 192.168.1.1 – 192.168.1.254 |
| Indirizzi utilizzabili | 254 |
| Indirizzi totali | 256 |
| Maschera di sottorete | 255.255.255.0 |
| Maschera wildcard | 0.0.0.255 |
Cosa fa questo strumento
Un blocco CIDR come 192.168.1.0/24 è un modo compatto di dare un nome a un intervallo di indirizzi. Questo strumento ne prende uno e risponde alle domande che ne discendono: dove l’intervallo inizia e finisce, quanti indirizzi contiene, quanti di questi possono essere assegnati a una macchina, che aspetto ha la maschera di sottorete, se un dato indirizzo vi rientra e cosa si ottiene tagliandolo in pezzi più piccoli.
Gestisce IPv4 e IPv6 e accetta un indirizzo host con la stessa facilità di un indirizzo di rete: incolla 192.168.1.57/24 preso direttamente da ip addr e ti dirà in quale blocco vive quell’indirizzo. È tutta aritmetica svolta nel tuo browser: nessuna interrogazione, nessun server, e funziona con la rete staccata.
Cosa significa il numero dopo la barra
Un indirizzo IPv4 è di 32 bit. Il numero dopo la barra — la lunghezza del prefisso — dice quanti di quei bit identificano la rete; i restanti identificano un host al suo interno. Un /24 fissa i primi 24 bit e ne lascia liberi 8, ed è per questo che contiene 2^8 = 256 indirizzi.
192.168.1.0 # l’indirizzo 11000000.10101000.00000001.00000000 # i suoi 32 bit 11111111.11111111.11111111.00000000 # la maschera /24: 24 uni, 8 zeri
Dove la maschera ha un uno, il bit appartiene alla rete ed è fisso per ogni indirizzo del blocco; dove ha uno zero, il bit è libero di variare e identifica un host. Ogni bit di prefisso in più dimezza il blocco. Quella relazione è tutto il subnetting, e conviene interiorizzarla anziché memorizzare una tabella:
- /24 — 256 indirizzi, 254 utilizzabili. La classica rete piccola.
- /25 — 128 indirizzi, 126 utilizzabili. Mezzo /24.
- /26 — 64 indirizzi, 62 utilizzabili.
- /30 — 4 indirizzi, 2 utilizzabili. Il tradizionale collegamento punto-punto.
- /16 — 65 536 indirizzi. Un /24 duecentocinquantasei volte.
Perché mancano due indirizzi
Un /24 contiene 256 indirizzi ma solo 254 utilizzabili, perché IPv4 ne spende due. Il primo indirizzo del blocco è l’indirizzo di rete, che dà il nome al blocco stesso e non viene assegnato ad alcuna interfaccia. L’ultimo è l’indirizzo di broadcast, che raggiunge tutti gli host del collegamento in una volta. Da lì viene il familiare 2^n − 2.
Due prefissi rompono quella formula, e la maggior parte dei calcolatori sbaglia almeno su uno:
- Un /31 ha due indirizzi e la formula dice zero utilizzabili. L’RFC 3021 definisce il /31 per i collegamenti punto-punto, dove non serve un indirizzo di broadcast ed entrambi gli indirizzi vengono assegnati, uno per estremità. La risposta giusta è 2.
- Un /32 è un solo indirizzo e la formula dice −1. Un /32 indica esattamente un host; è ciò che si scrive per un singolo server in una regola di firewall o in una rotta.
Questo strumento segue l’RFC 3021 e riporta 2 e 1 in quei casi. Se un altro calcolatore ti dice che un /31 non ha indirizzi utilizzabili, è la formula del manuale applicata oltre il punto in cui vale.
La maschera di sottorete e la maschera wildcard
La maschera di sottorete è la stessa informazione della lunghezza del prefisso, scritta come quattro ottetti: i bit di rete sono uni e quelli di host zeri. /24 è 255.255.255.0. I formati di configurazione più vecchi vogliono la maschera, quelli più recenti il prefisso, e sono interscambiabili.
La maschera wildcard è la maschera di sottorete invertita — 0.0.0.255 per un /24. Le liste di accesso Cisco e le istruzioni network di OSPF si scrivono con essa, e l’inversione trae in inganno abbastanza spesso da meritare di essere detta chiaramente: in una maschera wildcard un bit a zero significa «deve corrispondere» e un bit a uno significa «non importa», cioè l’opposto di una maschera di sottorete.
IPv6 è la stessa idea con meno eccezioni
Gli indirizzi IPv6 sono di 128 bit invece di 32, e il prefisso funziona in modo identico: un /64 fissa i primi 64 bit. L’aritmetica è la stessa; ciò che cambia è che spariscono due complicazioni di IPv4.
- Non esiste un indirizzo di broadcast. IPv6 lo ha sostituito con il multicast, quindi non c’è nulla di riservato alla fine di un prefisso.
- Non c’è nulla di riservato nemmeno all’inizio, perciò ogni indirizzo del blocco è assegnabile e il conteggio degli utilizzabili coincide con il totale. (L’indirizzo tutto zeri di una sottorete è l’indirizzo anycast del router di sottorete, una convenzione di instradamento più che un buco nell’intervallo.)
- Non esiste una maschera di sottorete in notazione puntata. IPv6 si scrive sempre come lunghezza di prefisso; una maschera di 128 bit in testo sarebbe illeggibile e nessuno la chiede.
Un /64 è la dimensione standard per un singolo collegamento, perché l’autoconfigurazione degli indirizzi senza stato si aspetta 64 bit di host. A un sito viene di solito assegnato un /48 o un /56, poi diviso in /64 — uno per VLAN o segmento. Ecco perché questo strumento divide volentieri un /48 in /64 e ti dice che ce ne sono 65 536.
I conteggi degli indirizzi crescono in fretta, quindi vengono mostrati sia come potenza di due sia come cifra completa: un /32 contiene 2^96 indirizzi, cioè 79 228 162 514 264 337 593 543 950 336. La potenza è ciò che si legge; le cifre sono ciò che si copia.
Scrivere gli indirizzi IPv6 in forma canonica
Uno stesso indirizzo IPv6 può essere scritto in molti modi, il che rende inaffidabile confrontarne due a occhio. L’RFC 5952 definisce un’unica forma testuale canonica, ed è quella che questo strumento produce:
- Esadecimale minuscolo e nessuno zero iniziale dentro un gruppo: 2001:0db8 diventa 2001:db8.
- La sequenza più lunga di gruppi a zero viene sostituita da ::, e solo la più lunga. In caso di parità vince quella più a sinistra.
- Un singolo gruppo a zero non viene mai compresso, perché :: non farebbe risparmiare nulla e creerebbe una seconda grafia.
La forma estesa è mostrata accanto, con ogni gruppo riempito a quattro cifre. Non è canonica, ma è quella che si allinea in colonna quando confronti un elenco di indirizzi.
Dividere un blocco
Tagliare una rete in più reti uguali è l’operazione per cui di solito si ricorre a un calcolatore di sottoreti. Ogni bit di prefisso in più raddoppia il numero di sottoreti e ne dimezza la dimensione: un /24 diventa due /25, quattro /26, otto /27 e così via.
192.168.1.0/24 -> /26 192.168.1.0/26 # indirizzi 0-63 192.168.1.64/26 # indirizzi 64-127 192.168.1.128/26 # indirizzi 128-191 192.168.1.192/26 # indirizzi 192-255
Le sottoreti tassellano esattamente il blocco padre — senza vuoti né sovrapposizioni — una proprietà che vale la pena verificare quando si ritaglia lo spazio di indirizzamento a mano. Nota che i numeri crescono in fretta: un /8 diviso in /24 fa 65 536 reti, perciò qui l’elenco è limitato e il totale reale è indicato accanto, invece di troncare la risposta in silenzio.
Intervalli con un significato particolare
Alcuni blocchi sono riservati a uno scopo preciso, e una rete che ricade dentro uno di essi viene etichettata qui. I più frequenti:
- Privati (RFC 1918) — 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16. Instradabili dentro un’organizzazione, mai sull’internet pubblica.
- Loopback — 127.0.0.0/8 su IPv4 e ::1 su IPv6. Traffico che non lascia mai l’host.
- Link-local — 169.254.0.0/16 e fe80::/10. Autoassegnati, validi solo su un collegamento. Un indirizzo IPv4 in questo intervallo di solito significa che il DHCP è fallito.
- NAT carrier-grade — 100.64.0.0/10. Usato tra un abbonato e il suo ISP; vederlo sulla propria rete indica un NAT lato ISP.
- Documentazione — 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 e 2001:db8::/32. Riservati agli esempi, ed è per questo che compaiono in tutta questa pagina.
- Unique local — fc00::/7. La controparte IPv6 dello spazio privato dell’RFC 1918.
L’etichetta viene applicata solo quando l’intero blocco sta dentro l’intervallo speciale, non quando lo sovrappone soltanto. Un 0.0.0.0/0 copre ogni intervallo privato esistente ma non è privato di suo, e dire altrimenti sarebbe peggio che non dire nulla.
Domande frequenti
- Quanti host utilizzabili ci sono in un /24?
- 254. Il blocco contiene 256 indirizzi; il primo è l’indirizzo di rete e l’ultimo quello di broadcast, e nessuno dei due può essere assegnato a un’interfaccia. La stessa sottrazione dà 126 per un /25, 62 per un /26 e 2 per un /30.
- Perché qui un /31 ha due indirizzi utilizzabili mentre altri calcolatori dicono nessuno?
- Perché l’RFC 3021 definisce il /31 per i collegamenti punto-punto, dove un indirizzo di broadcast non serve a nulla ed entrambi gli indirizzi vengono assegnati, uno per estremità. I calcolatori che riportano zero applicano la formula 2^n − 2 oltre l’intervallo in cui vale.
- Qual è la differenza tra maschera di sottorete e maschera wildcard?
- Sono l’una l’inverso dell’altra. Una maschera di sottorete ha uni sui bit di rete (255.255.255.0 per un /24); una wildcard ha lì degli zeri (0.0.0.255). In una maschera wildcard uno zero significa che il bit deve corrispondere e un uno che viene ignorato, il contrario dell’intuizione costruita da una maschera di sottorete.
- Posso incollare un indirizzo che non è quello di rete?
- Sì, ed è il caso comune. Dagli 192.168.1.57/24 e ti mostrerà che la rete è 192.168.1.0/24, segnalando che l’indirizzo digitato è un host al suo interno. È esattamente ciò che restituiscono ip addr o ipconfig, quindi non serve modificare nulla prima.
- Perché IPv6 non mostra indirizzo di broadcast né maschera di sottorete?
- Perché non esistono. IPv6 ha abbandonato il broadcast a favore del multicast, quindi non c’è nulla di riservato alla fine di un prefisso, e si scrive sempre con una lunghezza di prefisso anziché con una maschera puntata. Ogni indirizzo di un blocco IPv6 è assegnabile, ed è per questo che il conteggio degli utilizzabili coincide con il totale.
- Che dimensione dovrebbe avere un prefisso di sottorete IPv6?
- Un /64, in quasi tutti i casi. L’autoconfigurazione degli indirizzi senza stato presuppone 64 bit di host, quindi un prefisso più piccolo la rompe su un collegamento ordinario. Ai siti viene di solito assegnato un /48 o un /56 che dividono in /64, uno per segmento: in un /48 ce ne sono 65 536, quindi non serve risparmiare.
- Qualcosa di ciò che inserisco viene inviato a un server?
- No. È tutta aritmetica che gira nel tuo browser: nulla viene interrogato, caricato o registrato. È anche per questo che continua a funzionare senza alcuna connessione di rete.