Metà settembre 2026, articolazione Informatica e telecomunicazioni: in quarta, Sistemi e reti apre l’anno con il livello di rete, e in queste settimane arriva l’indirizzamento IPv4 con maschere di sottorete e subnetting. La prima verifica cade fra cinque e otto settimane, quindi fra fine ottobre e metà novembre — ed è quasi sempre a tempo, perché il subnetting si valuta sulla velocità di calcolo, non solo sulla correttezza.
È l’argomento su cui, in quarta, casca metà classe. Non perché sia concettualmente difficile: perché richiede di ragionare in binario sotto pressione di tempo, e in verifica non c’è spazio per rifare i calcoli con calma. La classe si divide in due gruppi: chi ha capito che tutto il subnetting si basa sul ragionare sui bit, e chi prova a imparare a memoria delle tabelle di maschere senza capire da dove escono. Il primo gruppo se la cava anche quando l’esercizio è diverso da quelli visti in classe; il secondo si blocca alla prima variazione. In questo post vediamo entrambi i metodi — quello sui bit, che va sempre bene, e la scorciatoia del “numero magico”, che è più veloce ma richiede di aver capito il primo per sapere quando si applica.
Vale la pena aggiungerlo in due righe, senza promettere sbocchi specifici: questa è anche la parte più direttamente spendibile del programma di Sistemi e reti, perché le stesse competenze sono il primo scalino di qualunque percorso da sistemista o su reti.
Struttura di un indirizzo IPv4
Un indirizzo IPv4 è un numero di 32 bit, che per leggibilità scriviamo in notazione decimale puntata: quattro numeri decimali (da 0 a 255, cioè ciascuno un byte) separati da un punto, come 192.168.10.5. Ogni gruppo di 8 bit si chiama ottetto. Un indirizzo IP, da solo, non dice quale parte rappresenta la rete e quale il singolo dispositivo (host): questa informazione arriva dalla maschera di sottorete.
Parte rete, parte host, e la maschera di sottorete
Ogni indirizzo IP si divide in due parti: una parte rete, che identifica la rete a cui appartiene il dispositivo, e una parte host, che identifica il singolo dispositivo all’interno di quella rete. La maschera di sottorete dice dove cade il confine fra le due parti: ha tutti i bit a 1 nella parte rete e tutti a 0 nella parte host.
La maschera si scrive in due modi equivalenti:
- in decimale, come l’indirizzo IP:
255.255.255.0; - in notazione CIDR, come
/24, dove il numero indica quanti bit (contati da sinistra) sono dedicati alla rete.
/24 e 255.255.255.0 sono la stessa maschera: 24 bit a 1 (i primi tre ottetti) seguiti da 8 bit a 0 (l’ultimo ottetto, riservato all’host).
Perché si parla di classi solo come contesto storico
Le vecchie classi A, B e C (con maschere fisse rispettivamente /8, /16, /24) sono ormai storia: la rete oggi lavora in modalità classless, cioè con maschere di lunghezza qualsiasi, decisa in base a quanti indirizzi servono davvero — non vincolata a tagli fissi. Vale la pena saperlo come contesto per capire da dove viene il linguaggio (“classe C”), ma non è un programma da imparare a memoria: il resto di questo post ragiona in CIDR, che è il modo in cui lavorerai davvero.
Indirizzo di rete, broadcast, host utilizzabili
Dentro ogni blocco di indirizzi (una sottorete), tre valori hanno un ruolo speciale:
- l’indirizzo di rete: quello con tutti i bit della parte host a 0. Identifica la sottorete stessa, non un dispositivo.
- l’indirizzo di broadcast: quello con tutti i bit della parte host a 1. Serve per inviare un messaggio a tutti i dispositivi della sottorete insieme.
- gli host utilizzabili: tutti gli indirizzi della sottorete tranne questi due estremi.
Se una sottorete ha bit dedicati alla parte host, contiene indirizzi totali, ma solo sono assegnabili a dispositivi: si sottraggono sempre l’indirizzo di rete e quello di broadcast, che non identificano mai un host reale.
L’AND bit a bit: come si ricava la rete da un indirizzo
Per trovare l’indirizzo di rete a partire da un indirizzo IP e dalla sua maschera, si esegue un AND logico bit a bit fra i due: bit per bit, il risultato è 1 solo se entrambi i bit sono 1, altrimenti è 0.
Esempio svolto — 192.168.10.130 con maschera 255.255.255.192 (/26):
Convertiamo l’ultimo ottetto in binario (gli altri tre restano identici, perché la maschera ha 1 su tutti i loro bit): , e la maschera sull’ultimo ottetto è .
10000010 (130, ultimo ottetto dell'indirizzo)
& 11000000 (192, ultimo ottetto della maschera)
----------
10000000 (128)
L’AND bit a bit dà . L’indirizzo di rete è quindi 192.168.10.128, con maschera /26.
Subnetting: dividere un blocco in sottoreti più piccole
Il subnetting consiste nel “prendere in prestito” bit dalla parte host di un blocco per creare più sottoreti più piccole. Se si prendono in prestito bit, si ottengono sottoreti, ciascuna con i bit host rimanenti a disposizione per gli indirizzi.
Le due formule da tenere sempre a mente:
dove sono i bit presi in prestito e sono i bit host rimasti dopo il prestito.
Il metodo del numero magico
Una volta capito il ragionamento sui bit, c’è una scorciatoia molto più veloce per elencare le sottoreti: il numero magico. Si calcola come meno il valore decimale dell’ottetto della maschera che contiene il confine fra rete e host. Le sottoreti iniziano tutte a multipli di quel numero, nello stesso ottetto.
Per esempio, con maschera /26 l’ultimo ottetto della maschera è : il numero magico è . Le sottoreti partono quindi da .0, .64, .128, .192 — esattamente ogni 64 indirizzi. Il numero magico funziona solo quando hai già capito perché si formano quei salti: è una scorciatoia di calcolo, non un modo per saltare la comprensione dei bit.
Indirizzi privati: quali sono e a cosa servono
Tre blocchi di indirizzi IPv4 sono riservati per le reti private (quelle non raggiungibili direttamente da internet, come la rete di casa o di un’azienda): 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16. Saperli riconoscere serve per capire subito, guardando un indirizzo, se appartiene a una rete locale o a internet pubblico — un’informazione che torna utile anche fuori da questa verifica, ogni volta che configuri un router o leggi i log di una rete.
Tabella riassuntiva: CIDR, maschera, host utilizzabili
| CIDR | Maschera decimale (ultimo ottetto) | 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 |
Tre esercizi svolti (numeri verificati due volte)
Esercizio 1 — dividere 192.168.10.0/24 in 4 sottoreti.
Per ottenere 4 sottoreti serve , quindi bit presi in prestito dalla parte host. La nuova maschera è . Il numero magico è (con /26, l’ultimo ottetto della maschera è 192). Le quattro sottoreti partono ogni 64 indirizzi:
| Sottorete | Indirizzo di rete | Primo host | Ultimo host | Broadcast |
|---|---|---|---|---|
| 1 | 192.168.10.0 | 192.168.10.1 | 192.168.10.62 | 192.168.10.63 |
| 2 | 192.168.10.64 | 192.168.10.65 | 192.168.10.126 | 192.168.10.127 |
| 3 | 192.168.10.128 | 192.168.10.129 | 192.168.10.190 | 192.168.10.191 |
| 4 | 192.168.10.192 | 192.168.10.193 | 192.168.10.254 | 192.168.10.255 |
Ogni sottorete /26 ha host utilizzabili (6 bit host rimasti su 32-26=6). Verifica di coerenza: l’ultimo host di ogni sottorete è sempre il broadcast meno 1, e il broadcast è sempre l’indirizzo subito prima dell’inizio della sottorete successiva — qui .63 precede .64, .127 precede .128, e così via. Torna.
Esercizio 2 — ricavare rete e broadcast di 172.16.37.200/21.
Con /21, il confine fra rete e host cade dentro il terzo ottetto (21 bit di rete = i primi due ottetti interi, 16 bit, più 5 bit del terzo ottetto; restano quindi 3 bit di host nel terzo ottetto più tutto il quarto: bit host in totale). Convertiamo il terzo ottetto, , in binario: . La maschera sul terzo ottetto ha i primi 5 bit a 1 (sono i bit di rete rimasti dopo i primi due ottetti interi) e gli ultimi 3 a 0: .
00100101 (37, terzo ottetto dell'indirizzo)
& 11111000 (248, terzo ottetto della maschera)
----------
00100000 (32)
L’AND dà . I primi due ottetti restano invariati (172.16, tutti bit di rete), il quarto ottetto va tutto a 0 nell’indirizzo di rete: indirizzo di rete = 172.16.32.0. Per il broadcast, i bit host (gli ultimi 3 del terzo ottetto più tutto il quarto) vanno tutti a 1: il terzo ottetto diventa , il quarto ottetto è : broadcast = 172.16.39.255. La sottorete copre quindi da 172.16.32.0 a 172.16.39.255.
Esercizio 3 — servono almeno 50 host per sottorete: quale maschera?
Serve trovare il numero minimo di bit host tale che . Proviamo:
- con : . Non basta (30 < 50).
- con : . Basta (62 ≥ 50).
Servono quindi 6 bit host, cioè una maschera con bit di rete: /26. La maschera /27 lascia solo 5 bit host, che danno 30 host utilizzabili — non sufficienti per 50 dispositivi, anche se la differenza fra 27 e 26 sembra piccola: ogni bit in meno di host dimezza la capacità della sottorete.
Errori tipici che costano punti
| Errore tipico | Come te ne accorgi |
|---|---|
| Dimenticare di sottrarre 2 negli host utilizzabili | Se il tuo conteggio host coincide esattamente con , hai incluso per errore rete e/o broadcast |
| Contare le sottoreti richieste invece dei bit da prendere in prestito | Ricontrolla con : se il numero di sottoreti che ti serve non è una potenza di 2 esatta, arrotonda per eccesso al successivo |
| Lavorare sull’ottetto sbagliato | Individua prima in quale ottetto cade il confine della maschera CIDR (dividi il prefisso per 8), converti solo quello in binario |
| Confondere la maschera con la wildcard (il suo complemento) | La maschera ha 1 nella parte rete; la wildcard, usata in altri contesti come le ACL, è l’esatto opposto — non sono la stessa cosa |
| Dare come broadcast un indirizzo che non è l’ultimo del blocco | Il broadcast deve avere tutti 1 nella parte host: se non coincide con l’ultimo indirizzo prima della sottorete successiva, ricontrolla i bit |
Su Sistemi e reti non abbiamo ancora una simulazione dedicata; in /simulazioni/liceo/ trovi le verifiche di matematica e fisica del liceo, la categoria più vicina per allenarti su esercizi a tempo — non prometto che arriverà una simulazione specifica sul subnetting, ma se succede la trovi lì.
Chi arriva a Sistemi e reti avendo già digerito bene cicli e array in terza informatica di solito ha meno difficoltà qui: il ragionamento passo-passo sui bit richiede la stessa disciplina di leggere un algoritmo riga per riga prima di eseguirlo. E se in questo periodo stai preparando anche l’esame di basi di dati, modello ER e SQL, il metodo per prepararsi — schematizzare su carta prima di scrivere — è lo stesso.
Le lezioni di informatica sono online, uno a uno, e su questo argomento il lavoro tipico è proprio rifare insieme gli esercizi di subnetting a mano, cronometro alla mano, finché il metodo sui bit diventa automatico. Se vuoi una mano, la prima chiamata conoscitiva è gratuita e dura mezz’ora.