Calcolatore subnet: CIDR, subnet mask e host utilizzabili
Scrivi un indirizzo con la lunghezza del prefisso (192.168.1.0/24) o con la subnet mask (255.255.255.0) e ottieni in un colpo solo indirizzo di rete, indirizzo di broadcast, intervallo di host utilizzabili, wildcard mask e numero di host. Dividi una rete in subnet più piccole, oppure cambia scheda per trasformare un indirizzo iniziale e uno finale nel minor numero possibile di blocchi CIDR. Funzionano anche i prefissi IPv6.
Come funziona la notazione CIDR
CIDR (Classless Inter-Domain Routing) scrive una rete come un indirizzo, una barra e un numero. Il numero è la lunghezza del prefisso: quanti dei 32 bit dell’indirizzo identificano la rete. Gli altri identificano gli host al suo interno.
Una /24 fissa i primi 24 bit e ne lascia 8 per gli host, cioè 2^8 = 256 indirizzi, e la sua subnet mask è 255.255.255.0. Una /16 lascia 16 bit per gli host: 65.536 indirizzi. Ogni bit aggiunto al prefisso dimezza il blocco.
Per le normali subnet IPv4, host utilizzabili = 2^(32 − prefisso) − 2. Due indirizzi vanno persi: il primo è l’indirizzo di rete e l’ultimo è l’indirizzo di broadcast.
Fare le subnet a mente: il trucco della dimensione del blocco
Per la maggior parte delle subnet di uso quotidiano non serve il binario. Prendi l’ottetto della subnet mask che non è 255 né 0 e sottrailo da 256. Il risultato è la dimensione del blocco, e le reti iniziano ai suoi multipli.
Prendi 192.168.1.130/26. La mask è 255.255.255.192, quindi la dimensione del blocco è 256 − 192 = 64. Le reti iniziano a .0, .64, .128 e .192, il che colloca .130 nella rete .128. Il suo indirizzo di broadcast è la rete successiva meno uno, cioè .191, e i suoi host utilizzabili vanno da .129 a .190: sono 62.
Dimensioni comuni delle subnet IPv4
| Prefisso | Subnet mask | Indirizzi totali | Host utilizzabili |
|---|---|---|---|
| /8 | 255.0.0.0 | 16.777.216 | 16.777.214 |
| /16 | 255.255.0.0 | 65.536 | 65.534 |
| /20 | 255.255.240.0 | 4.096 | 4.094 |
| /22 | 255.255.252.0 | 1.024 | 1.022 |
| /23 | 255.255.254.0 | 512 | 510 |
| /24 | 255.255.255.0 | 256 | 254 |
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 2 |
| /31 | 255.255.255.254 | 2 | 2 (collegamento punto-punto) |
| /32 | 255.255.255.255 | 1 | 1 (un singolo host) |
Intervalli IPv4 privati e speciali
| Intervallo | Scopo |
|---|---|
| 10.0.0.0/8 | Rete privata (RFC 1918) |
| 172.16.0.0/12 | Rete privata (RFC 1918) |
| 192.168.0.0/16 | Rete privata (RFC 1918) |
| 100.64.0.0/10 | Spazio di indirizzi condiviso per il NAT di classe carrier |
| 127.0.0.0/8 | Loopback: questo computer |
| 169.254.0.0/16 | Link-local: autoassegnato quando il DHCP non funziona |
| 224.0.0.0/4 | Multicast |
Gli indirizzi negli intervalli privati non vengono instradati sulla rete internet pubblica, ed è per questo che milioni di case e uffici possono riutilizzare gli stessi.
Casi limite da conoscere
- /31: la RFC 3021 permette di usare entrambi gli indirizzi di una /31 su un collegamento punto-punto, quindi non ci sono indirizzo di rete né di broadcast e gli host utilizzabili sono due.
- /32: un singolo indirizzo, usato per le route verso un host e per le regole del firewall.
- /0: l’intero spazio di indirizzi, scritto 0.0.0.0/0 e usato come route predefinita.
- Wildcard mask: la subnet mask con ogni bit invertito (0.0.0.255 per una /24). I protocolli di routing e le liste di accesso la usano spesso al posto della subnet mask.
Prefissi IPv6
Gli indirizzi IPv6 sono di 128 bit, e l’idea della lunghezza del prefisso è la stessa. Una /64 è la dimensione standard per un segmento di rete, perché l’autoconfigurazione degli indirizzi prevede 64 bit per l’identificatore dell’interfaccia. I provider assegnano comunemente a un sito una /48 o una /56, che contengono 65.536 o 256 reti /64. IPv6 non ha un indirizzo di broadcast, quindi ogni indirizzo di un prefisso è utilizzabile.
Una /64 contiene 2^64 indirizzi, circa 18 miliardi di miliardi, quindi il subnetting IPv6 serve a organizzare le reti, non a risparmiare indirizzi.
Pianificare una subnet
- Conta i dispositivi che ti servono oggi e aggiungi spazio per la crescita. Rinumerare in seguito è faticoso.
- Usa lunghezze di prefisso diverse per esigenze diverse (variable-length subnet masking) invece di una /24 per tutto.
- Mantieni allineate le subnet che comunicano tra loro, così le route possono essere riassunte.
- Annota ogni assegnazione. Un piano degli indirizzi su carta evita sovrapposizioni tra gli intervalli.