La Subnet Mask
di Roberto Saia
Tratto dal libro “Reti e sicurezza per sistemi Windows e Linux/Unix” edizioni FAG Milano, collana Pro DigitalLifeStyle
La Subnet Mask, in italiano “maschera di sottorete”, viene adoperata per differenziare, attraverso un’operazione definita “messa in AND”, la porzione di indirizzo IP che identifica la rete (Network) da quella che, invece, individua la macchina (Host); attraverso questa operazione ogni macchina è in grado di sapere se deve instradare in ambito locale il traffico oppure se, invece, deve indirizzarlo verso all’esterno.
Al pari degli indirizzi IP, anche in questo caso il formato di rappresentazione prevede l’utilizzo di 32 Bit (4 Byte) espressi tramite la Notazione Decimale Puntata nel formato xxx.xxx.xxx.xxx. Attraverso un uso appropriato delle maschere di sottorete è anche possibile suddividere un’unica rete in più sottoreti di minori dimensioni: questa è un’operazione che molti amministratori compiono al fine di ottimizzare le operazioni di controllo e gestione. Le Subnet Mask relative alle tre principali classi di indirizzi IP sono quelle elencate in tabella 1:
Tabella 1 - Classi di indirizzi IP.
| Classe | Subnet Mask (in binario) | Subnet Mask (in decimale) |
|---|---|---|
| A | 11111111 00000000 00000000 00000000 | 255.0.0.0 |
| B | 11111111 11111111 00000000 00000000 | 255.255.0.0 |
| C | 11111111 11111111 11111111 00000000 | 255.255.255.0 |
Pur essendo la Subnet Mask molto simile ad un indirizzo IP, essa deve essere interpretata in un modo differente. Per poterlo fare correttamente occorre, innanzitutto, convertirla nel formato numerico binario e, successivamente, affiancarla all’indirizzo IP anch’esso espresso in binario. La parte dell’indirizzo IP delimitata dai Bit della Subnet Mask aventi valore 1 identifica la rete; la rimanente parte delimitata dai valori 0 identifica, invece, la macchina. Il successivo esempio è riferito ad una macchina che utilizza un intervallo di indirizzi di classe C, quindi, una Subnet Mask del tipo 255.255.255.0 produce il risultato visibile nella successiva tabella 2:
Tabella 2 - Indirizzo IP e Subnet Mask espressi in decimale.
| Indirizzo IP | 126 | 12 | 6 | 121 |
|---|---|---|---|---|
| Subnet Mask | 255 | 255 | 255 | 0 |
che tradotto in formato binario diventa:
Tabella 3 - Indirizzo IP e Subnet Mask espressi in binario.
| Indirizzo IP | 01111110 | 00001100 | 00000110 | 01111001 |
|---|---|---|---|---|
| Subnet Mask | 11111111 | 11111111 | 11111111 | 00000000 |
Facciamo attenzione alle parti dell’indirizzo IP delimitate dai valori 1 e 0 della Subnet Mask: esse dividono l’indirizzo IP in due parti distinte, una che identifica la rete ed una che identifica la macchina (la prima è 01111110.00001100.00000110 mentre la seconda è 01111001):
Tabella 4 - Suddivisione dell’indirizzo IP.
| Indirizzo IP | 01111110 | 00001100 | 00000110 | 01111001 |
|---|---|---|---|---|
| Indirizzo di | Rete | Macchina |
Riepilogando, abbiamo ottenuto il seguente risultato binario:
Tabella 5 - Indirizzo di rete e di macchina.
Rete (Network) | 01111110 | 00001100 | 00000110 |
—|—|—|—|—
Macchina (Host) |
|
|
| 01111001
Nel caso il numero dell’ultimo ottetto (uno dei quattro gruppi di 8 Bit che costituiscono un indirizzo IP) della Subnet Mask fosse stato diverso da zero come, ad esempio:
Tabella 6 - Indirizzo IP e Subnet Mask espressi in decimale.
| Indirizzo IP | 126 | 12 | 6 | 121 |
|---|---|---|---|---|
| Subnet Mask | 255 | 255 | 255 | 192 |
Che in binario diviene:
Tabella 7 - Indirizzo IP e Subnet Mask espressi in binario.
| Indirizzo IP | 01111110 | 00001100 | 00000110 | 01111001 |
|---|---|---|---|---|
| Subnet Mask | 11111111 | 11111111 | 11111111 | 11000000 |
il valore 121 dell’indirizzo IP non doveva più essere considerato globalmente ma dovevano essere presi in considerazione per l’identificazione della macchina soltanto gli ultimi sei numeri, in quanto, i primi due Bit del numero si uniscono a quelli degli altri tre ottetti utilizzati per l’identificazione della rete:
Tabella 8 - Suddivisione indirizzo di rete e macchina.
| 01111110 | 00001100 | 00000110 | 01 | 111001 |
|---|---|---|---|---|
| Network | Macchina |
Riferimenti: RFC 917 (Internet Subnets); RFC 950 (Internet Standard Subnetting Procedure).


