Cosa fa una maschera di sottorete
Una maschera di sottorete è un valore a 32 bit, della stessa lunghezza di un indirizzo IPv4, composto da una sequenza contigua di bit 1 seguita da una sequenza contigua di bit 0. I bit 1 indicano quali bit dell'indirizzo identificano la rete a cui l'indirizzo appartiene, mentre i bit 0 indicano quali bit identificano un host specifico all'interno di quella rete. Applicare un AND bit a bit tra un indirizzo IP e la sua maschera elimina i bit host e lascia solo l'indirizzo di rete.
Per esempio, la maschera 255.255.255.0 in binario è 11111111.11111111.11111111.00000000 -- 24 bit a uno seguiti da 8 bit a zero -- il che significa che i primi tre ottetti identificano la rete e l'ultimo ottetto identifica i singoli host al suo interno, permettendo fino a 256 indirizzi (254 dei quali utilizzabili) in quella rete.
Notazione CIDR: cosa significa davvero /24
Il CIDR (Classless Inter-Domain Routing), specificato nella RFC 4632, scrive la maschera di sottorete come una barra seguita dal numero di bit 1 iniziali, quindi /24 è l'abbreviazione della maschera 255.255.255.0 e /26 è l'abbreviazione di 255.255.255.192. Il CIDR ha sostituito il vecchio sistema classful, in cui la dimensione della rete era rigidamente fissata dai primi bit dell'indirizzo (classe A, B o C), con la flessibilità di definire una rete di quasi qualsiasi dimensione scegliendo una lunghezza di prefisso qualsiasi da /0 a /32.
La lunghezza del prefisso determina direttamente sia la maschera che il numero di bit host rimanenti: per un indirizzo IPv4 a 32 bit, bit host = 32 − lunghezza del prefisso. Una rete /24 ha 8 bit host (2⁸ = 256 indirizzi), una rete /26 ha 6 bit host (2⁶ = 64 indirizzi), e una rete /30 ha 2 bit host (4 indirizzi) -- minore è il numero di bit host, più piccola è la rete.
Esempio pratico: 192.168.1.10/26
Prendiamo l'indirizzo 192.168.1.10 con un prefisso /26. Una maschera /26 ha 26 bit a uno, che coprono l'intero primi tre ottetti (24 bit) più i 2 bit superiori del quarto ottetto, dando la maschera 255.255.255.192 (192 in binario è 11000000). Il quarto ottetto dell'indirizzo, 10, è 00001010 in binario; applicando l'AND con il quarto ottetto della maschera (11000000) si azzerano i 6 bit inferiori, lasciando 00000000 = 0, quindi l'indirizzo di rete è 192.168.1.0.
I 6 bit host rimanenti nel quarto ottetto danno una dimensione di blocco di 2⁶ = 64 indirizzi per sottorete, quindi la sottorete che contiene .10 copre gli indirizzi da .0 a .63. L'indirizzo di broadcast è il vertice di quell'intervallo, 192.168.1.63 (tutti i bit host impostati a 1), e l'intervallo host utilizzabile è tutto ciò che sta tra l'indirizzo di rete e quello di broadcast: 192.168.1.1 fino a 192.168.1.62 -- esattamente 2⁶ − 2 = 62 indirizzi host utilizzabili.
Perché esiste il subnetting
Il subnetting è stato standardizzato nella RFC 950 per risolvere un problema pratico: una singola rete piatta di migliaia o milioni di dispositivi è inefficiente e fragile, perché ogni dispositivo in un dominio di broadcast riceve ogni pacchetto broadcast inviato al suo interno, e un guasto o una tempesta di broadcast su un segmento può influenzare l'intera rete. Suddividere un grande blocco di indirizzi in sottoreti più piccole confina il traffico di broadcast a ciascuna sottorete e permette di organizzare una rete attorno a confini fisici od organizzativi -- un piano, un dipartimento, un rack di data center -- piuttosto che un unico pool di indirizzi indiviso.
Il subnetting supporta anche la conservazione degli indirizzi e l'efficienza di instradamento: un'organizzazione può dimensionare ogni sottorete in base al numero effettivo di dispositivi di cui ha bisogno (un collegamento punto-punto /30 tra due router non ha bisogno di consumare 254 indirizzi come farebbe una rete /24 di ufficio), e i prefissi a lunghezza variabile del CIDR permettono ai router di aggregare molte piccole sottoreti in un'unica voce della tabella di instradamento, mantenendo le tabelle di instradamento su scala internet gestibili, come descritto nella RFC 4632.
Tabella di riferimento dei prefissi CIDR
La tabella seguente elenca le lunghezze di prefisso CIDR comuni con le loro maschere di sottorete in notazione decimale puntata e il numero risultante di indirizzi host utilizzabili, seguendo le regole standard di conteggio host CIDR in cui l'indirizzo di rete e quello di broadcast sono riservati e non assegnabili a un dispositivo.
| Prefisso | Maschera di sottorete | Host utilizzabili |
|---|---|---|
| /24 | 255.255.255.0 | 254 |
| /25 | 255.255.255.128 | 126 |
| /26 | 255.255.255.192 | 62 |
| /27 | 255.255.255.224 | 30 |
| /28 | 255.255.255.240 | 14 |
| /29 | 255.255.255.248 | 6 |
| /30 | 255.255.255.252 | 2 |
Domande frequenti
Cos'è una maschera di sottorete?
Una maschera di sottorete è un valore a 32 bit composto da una sequenza contigua di bit 1 seguita da una sequenza contigua di bit 0, usata per dividere un indirizzo IPv4 in una porzione di rete e una porzione di host. Applicare un AND bit a bit tra un indirizzo e la sua maschera produce l'indirizzo di rete; la maschera 255.255.255.0, per esempio, indica i primi 24 bit come porzione di rete e gli ultimi 8 bit come porzione di host.
Cosa significa /24 in un indirizzo IP?
Il /24 nella notazione CIDR significa che i primi 24 dei 32 bit dell'indirizzo identificano la rete, equivalente alla maschera di sottorete 255.255.255.0. I restanti 8 bit identificano i singoli host all'interno di quella rete, dando 2⁸ = 256 indirizzi totali, di cui 254 utilizzabili dopo aver riservato l'indirizzo di rete e quello di broadcast.
Come trovo l'indirizzo di rete e di broadcast per 192.168.1.10/26?
Una maschera /26 è 255.255.255.192, lasciando 6 bit host nell'ultimo ottetto e una dimensione di blocco di 2⁶ = 64 indirizzi. Poiché 10 rientra nel blocco 0-63, l'indirizzo di rete è 192.168.1.0 (tutti i bit host azzerati) e l'indirizzo di broadcast è 192.168.1.63 (tutti i bit host a 1); l'intervallo host utilizzabile è 192.168.1.1 fino a 192.168.1.62, ovvero 62 indirizzi.
Perché esiste il subnetting?
Il subnetting divide una grande rete in segmenti più piccoli e gestiti in modo indipendente, il che limita quanto lontano si diffonde il traffico di broadcast, isola guasti e traffico indesiderato a una porzione più piccola della rete, e permette di allocare lo spazio degli indirizzi in modo da corrispondere approssimativamente al numero effettivo di dispositivi invece di sprecare grandi blocchi su collegamenti piccoli. Permette inoltre ai router di aggregare molte piccole sottoreti in meno voci della tabella di instradamento, essenziale per scalare l'instradamento su internet.
Quanti host utilizzabili ci sono in una rete /26?
62. Un prefisso /26 lascia 6 bit host (32 − 26 = 6), dando 2⁶ = 64 indirizzi totali nella sottorete. Di questi, l'indirizzo tutto-zeri è riservato come indirizzo di rete e l'indirizzo tutto-uno è riservato come indirizzo di broadcast, lasciando 2⁶ − 2 = 62 indirizzi che possono essere assegnati ai dispositivi.
Qual è la differenza tra CIDR e il vecchio sistema di indirizzamento classful?
L'indirizzamento classful fissava la dimensione della rete a una tra poche opzioni rigide (classe A, B o C) in base ai primi bit di un indirizzo, il che sprecava grandi quantità di spazio di indirizzi per le organizzazioni che avevano bisogno di qualcosa tra le dimensioni fisse. Il CIDR, specificato nella RFC 4632, ha sostituito questo sistema con prefissi a lunghezza variabile scritti in notazione con barra (per esempio /24, /26), permettendo di dimensionare una rete quasi a qualsiasi confine di potenza di due e consentendo ai router di aggregare più reti in meno voci della tabella di instradamento.
Fonti
- Mogul J, Postel J. Internet Standard Subnetting Procedure. RFC 950, IETF, 1985.
- Fuller V, Li T. Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan. RFC 4632, IETF, 2006.
- Postel J. Internet Protocol. RFC 791, IETF, 1981.
- Rekhter Y, Moskowitz B, Karrenberg D, de Groot GJ, Lear E. Address Allocation for Private Internets. RFC 1918, IETF, 1996.