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.
  • 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.

Quanti host contiene un /24?

Un /24 contiene 256 indirizzi e 254 utilizzabili. Il prefisso fissa 24 dei 32 bit e ne lascia 8 liberi, quindi il blocco è 2^8 = 256 indirizzi, e IPv4 spende il primo per la rete stessa e l’ultimo per il broadcast: il 2^n − 2 che spiega la sezione precedente, dove n è il numero di bit di host. Quella sottrazione vale per ogni prefisso IPv4 fino a /30 e per nessuno dei due sotto: un /31 ha 2 indirizzi utilizzabili e non 0, e un /32 ne ha 1 e non −1, ed è così che questo strumento risponde.

  • La maschera di sottorete è 255.255.255.0 e la maschera wildcard è 0.0.0.255. Restano fissi tre ottetti interi su quattro, ed è questo a rendere il /24 l’unico prefisso che si legge direttamente dalla notazione puntata: l’ultimo ottetto è l’host e i tre davanti sono la rete.
  • L’intervallo utilizzabile va da .1 a .254. L’indirizzo di rete è .0 e quello di broadcast è .255, e questo strumento li nomina entrambi invece di lasciare un buco a uno dei due estremi.
  • Un /24 sono due /25, quattro /26 oppure otto /27 — ogni bit in più lo dimezza — e lui stesso è uno dei 256 /24 che stanno in un /16.
  • La documentazione più vecchia la chiama una rete class C, perché nello schema per classi che CIDR ha sostituito un class C aveva esattamente 24 bit di rete. Per questo lo strumento chiede un numero dopo la barra e non una lettera: un /26 non appartiene ad alcuna classe.

Il 254 è aritmetica, non un inventario. Su una rete in funzione il router o il gateway ne prende uno, e un ambito DHCP di solito si configura su una parte dell’intervallo e non su tutto, perciò le macchine che si riescono davvero a collegare sono 253 o meno. Prendete il 254 come il tetto da cui parte un piano di indirizzamento.

Quanti host contiene un /16?

Un /16 contiene 65 536 indirizzi e 65 534 utilizzabili. Sedici bit sono fissi e sedici liberi, cioè 2^16 = 65 536, e gli stessi due indirizzi se ne vanno agli estremi: la sottrazione che vale fino a /30 e lì si ferma, per le ragioni di /31 e /32 viste sopra.

  • La maschera di sottorete è 255.255.0.0 e la maschera wildcard è 0.0.255.255, quindi i primi due ottetti sono la rete e gli ultimi due indicano l’host.
  • Un /16 sono 256 /24. È la divisione che su un /16 si esegue davvero, ed è quello che fa qui il controllo di divisione: dategli un /16, chiedete /24, e li elenca con il totale accanto alla lista.
  • 192.168.0.0/16 è un /16, ed è l’intervallo privato da cui un router domestico distribuisce gli indirizzi: per questo 192.168.1.0/24 è il blocco che quasi tutti hanno visto. Questo strumento etichetta come privato (RFC 1918) tutto ciò che vi rientra.
  • La documentazione più vecchia chiama un /16 una rete class B. Una class B veniva assegnata intera a un’organizzazione, e l’abitudine di immaginarla come una rete sola viene da lì.

Nessuno mette 65 534 macchine su un unico collegamento. Un /16 è un’assegnazione e non un dominio di broadcast: ogni host su un collegamento vede il traffico di broadcast e di ARP di quel collegamento, e a queste dimensioni smette di essere praticabile molto prima che l’intervallo si riempia. La domanda utile su un /16 non è quanti host contiene ma come viene tagliato: in 256 /24, in 1 024 /26, o come i segmenti richiedono davvero.

Quanti host contiene un /8?

Un /8 contiene 16 777 216 indirizzi e 16 777 214 utilizzabili: 24 bit di host, cioè 2^24, meno l’indirizzo di rete e quello di broadcast. È il blocco più grande che qualcuno scriva a mano, e in pratica è quasi sempre lo stesso — 10.0.0.0/8, il maggiore dei tre intervalli privati.

  • La maschera di sottorete è 255.0.0.0 e la maschera wildcard è 0.255.255.255. È fissato solo il primo ottetto, il che lascia gli altri tre alla pianificazione.
  • Un /8 sono 256 /16, oppure 65 536 /24. Quest’ultima cifra è il motivo per cui l’elenco di divisione di questa pagina è limitato e il totale vero viene stampato accanto, invece di troncare la risposta in silenzio.
  • 10.0.0.0/8 è etichettato qui come privato (RFC 1918), e 127.0.0.0/8 è l’intervallo di loopback. Entrambi sono larghi otto bit perché lo schema per classi faceva una class A esattamente così, e le etichette sono sopravvissute alle classi.
  • Un /8 di spazio pubblico è tutt’altra cosa. In tutto IPv4 ce ne sono solo 256, e furono distribuiti a organizzazioni e registri regionali decenni fa.

Il 16 777 214 non è un numero di host in alcun senso utile: sedici milioni di indirizzi su un solo collegamento non sono una rete che qualcuno gestisce. Un /8 è un piano di indirizzamento, e un piano si misura da quante sottoreti rende e da quanto costa ciascuna: ogni sottorete spende il proprio indirizzo di rete e il proprio indirizzo di broadcast, quindi tagliare un /8 in /24 dà 65 536 reti e ci spende 131 072 indirizzi. Questo è il prezzo del subnetting, ed è il motivo per cui un piano prende la sottorete più grande che ogni segmento regge e non la più piccola che ci sta.

Quanti indirizzi contiene un /64 IPv6?

Un /64 contiene 18 446 744 073 709 551 616 indirizzi — 2^64, la stessa aritmetica con 64 bit liberi invece di 8 — e sono tutti utilizzabili. Non c’è nulla da sottrarre: IPv6 non ha indirizzo di broadcast e non riserva nulla all’inizio di un prefisso, quindi il numero degli utilizzabili è il totale. È anche il motivo per cui a un blocco IPv6 questo strumento non mostra né indirizzo di broadcast né maschera puntata, invece di mostrarli a zero.

  • Il numero viene stampato come potenza di due accanto alle cifre. 2^64 è la forma che si legge; le cifre sono la forma che si copia.
  • Un /64 è la dimensione standard di un collegamento, che quel collegamento porti due macchine o duemila. L’autoconfigurazione degli indirizzi senza stato costruisce gli ultimi 64 bit di un indirizzo sull’host stesso, quindi il prefisso è fissato a 64 dal meccanismo e non dal numero di host.
  • Un /64 esce da un’assegnazione più grande: un /48 sono 65 536 /64 e un /56 ne sono 256, e una delle due è ciò che una sede di solito riceve da dividere.
  • Un’interfaccia di solito tiene più di un indirizzo del proprio /64 alla volta: quello che l’autoconfigurazione costruisce dal prefisso e, accanto, di norma un indirizzo di privacy temporaneo che nel tempo viene sostituito. Contare le macchine contando gli indirizzi sbaglia anche da questo lato.

Leggere quel numero come capienza è l’errore a cui invitano le abitudini IPv4. Un /64 non è dimensionato per essere riempito, nulla lo riempie, e nessuna politica di assegnazione se lo aspetta; la sua dimensione è tale da permettere a un host di generarsi un indirizzo sul collegamento senza chiedere a nessuno. La domanda a cui un /64 risponde è quanti collegamenti ha una sede, non quante macchine.

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.
Qual è la maschera di sottorete di un /16?
255.255.0.0. La lunghezza del prefisso e la maschera sono la stessa informazione scritta in due modi, e i tre prefissi tondi fissano ciascuno un ottetto intero in più: /8 è 255.0.0.0, /16 è 255.255.0.0 e /24 è 255.255.255.0. Un prefisso che non è multiplo di otto cade invece dentro un ottetto — un /26 è 255.255.255.192 — ed è proprio il caso che conviene lasciare a questo strumento.
Che cos’è una rete class C?
Un /24, nello schema che CIDR ha sostituito. L’indirizzamento per classi fissava la parte di rete a 8, 16 o 24 bit — class A, class B e class C — quindi una class C conteneva 256 indirizzi e 254 utilizzabili, esattamente come un /24 oggi. RFC 1519 ha sostituito le classi con lunghezze di prefisso qualsiasi nel 1993, ed è per questo che lo strumento chiede un numero dopo la barra: un /26 o un /19 non ha alcuna classe da nominare.
Quanti /24 ci sono in un /16?
256. Ogni bit di prefisso in più raddoppia il conto, quindi un /16 sono 256 /24 e un /8 sono 256 /16 oppure 65 536 /24. Incollate il blocco e impostate «Dividi in» sul prefisso più piccolo: elenca le sottoreti e riporta il totale vero accanto alla lista, che è ciò che conta appena il totale supera quello che una lista dovrebbe stampare.
Quanti indirizzi ci sono in un /64 IPv6?
18 446 744 073 709 551 616, cioè 2^64, e sono tutti utilizzabili. IPv6 non ha indirizzo di broadcast e non riserva nulla all’inizio di un prefisso, quindi non si sottrae nulla e il numero degli utilizzabili coincide con il totale: l’unico punto in cui qui una risposta su IPv6 è più corta di quella su IPv4 e non più lunga.

Strumenti correlati