Come si divide una rete IPv4

Un indirizzo IPv4 è un numero di 32 bit scritto in quattro gruppi da otto. Il prefisso, il numero dopo la barra, dice quanti di quei bit identificano la rete: il resto numera i dispositivi al suo interno. Con /24 restano 8 bit per gli host, cioè 256 indirizzi, di cui 254 utilizzabili.

I due indirizzi esclusi sono il primo, che indica la rete stessa, e l'ultimo, il broadcast, che raggiunge tutti gli host insieme. Fanno eccezione le reti /31, usate per i collegamenti punto a punto, dove entrambi gli indirizzi sono host, e le /32, che indicano un solo dispositivo.

L'indirizzo di rete si ottiene con un AND bit a bit fra indirizzo e maschera; il broadcast con un OR fra rete e wildcard. È tutto aritmetica sui bit, ed è per questo che vedere l'indirizzo in binario rende evidente dove passa il confine fra rete e host.

Errori frequenti

  • Contare anche rete e broadcast fra gli host utilizzabili: una /26 ha 64 indirizzi ma solo 62 host.
  • Scrivere una maschera con uni e zeri alternati, come 255.255.0.255: una maschera valida ha tutti gli uni a sinistra.
  • Confondere la wildcard delle ACL con la maschera: la wildcard è il suo complemento, 0.0.0.255 per una /24.

Domande frequenti

Quanti host ha una subnet /24, /25, /26?

Una /24 ha 254 host, una /25 126, una /26 62, una /27 30, una /28 14, una /29 6 e una /30 2. In generale sono 2 elevato ai bit di host, meno 2.

Che cosa sono gli indirizzi privati?

Sono i blocchi 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16, riservati alle reti interne e non instradati su Internet. Escono in rete tramite il NAT del router.

Le classi A, B e C si usano ancora?

No, dal 1993 l'instradamento usa il CIDR con prefissi di qualsiasi lunghezza. La classe resta utile solo per gli esercizi e per capire le maschere predefinite storiche.

Come funziona questo calcolo

Maschera = 32 − prefisso zeri preceduti da prefisso uni. Rete = indirizzo AND maschera. Wildcard = NOT maschera. Broadcast = rete OR wildcard. Indirizzi totali = 2^(32 − prefisso). Host utilizzabili = totali − 2, tranne /31 (2) e /32 (1).