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.

Lunghezza del prefisso/24
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
Privata192.168.0.0/16
Dividi in

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.