Subnet

Spread the love

Parlando di classi di indirizzamento abbiamo detto, per esempio, che un indirizzo di classe A è un indirizzo così strutturato:

 0XXXXXXX.YYYYYYYY.YYYYYYYY.YYYYYYYY
|<subnet>|<--------- host  -------->|

in cui la parte con le X è la parte subnet e la parte con le Y è la parte host. È come si ci fosse una linea di demarcazione tra i bit dedicati ad individuare la rete e quelli dedicati ad individuare un host, e in questo caso la linea si posizione nel punto tra la X e la Y

Poiché tutte le Y sono singoli host, l’amministratore di rete può decidere di impiegare alcuni bit host localmente per designare delle sottoreti all’interno della propria rete. Cioè possiamo riproporre sul segmento host il giochino di subnet/host per strutturare gerarchicamente i computer della notsra rete. Questo consente di assegnare in modo periferico gli indirizzi host a carico degli amministratori delle sottoreti.

Come effetto secondario questo consente di integrare reti a topologia diversa assegnando loro una subnet dedicata.

Una subnet (o sottorete) si definisce applicando una maschera all’indirizzo IP, che è una serie di 1 e 0: dove c’è l’1, il bit dell’indirizzo IP sarà interpretato come network bit (cioè bit che individua una sottorete), altrimenti sarà interpretato come host bit (cioè bit che individua un dispositivo: pc o altro).

Ad esempio nativamente una rete di classe B ha i primi 16 bit (MSB) che individuano una rete e i rimanenti 16 che individuano un host. Quindi la mask predefinita per questa sottorete è 255.255.0.0. Però giocando sui bit della maschera, modificandola un poco, possiamo fare un modo da costtuire delle sottoreti con un po’ meno di PC collegati ad ognuna. La classe B standard, abiamo detto, ha 2^14 = 16384 reti distinte (i primi due bit sono fissi a 10) e 2^16 = 65536 host. Ma noi possiamo giocarci gli ultimi 16 bit per fare lo stesso giochino più in piccolo e strutturare ulteriormente la nostra rete interna (altrimenti saremmo obbligati a mettere tutti i 65536 host nella stessa rete: si può fare ma l’autonomia di ogni dipartimento sarebbe azzerata). Tipicamente adoperiamo per la classe C la maschera 255.255.255.0 il che significa che dei 65536 gradi di libertà usiamo 8 bit per farci fino 256 sottoreti, ciascuna delle queli può collegare fino a 256 host.

Esempio 1

Indirizzo IP 128.66.12.1; subnet mask 255.255.255.0

L’indirizzo 128.* designa una sottorete di classe B (vedi il capitolo sugli indirizzamenti); la subnet mask indica che anche il terzo ottetto è diedicato ad individuare una sottorete, qundi l’interpretazioine è che quell’indirizzo è l’host di indirizzo 1 (00000001) sulla subnet 128.66.12.0. Qui è facile perché i primi due ottetti fanno la classe, il terzo la subnet e il quarto l’host.

Esempio 2

Indirizzo IP 130.97.16.132; subnet mask 255.255.255.192

L’indirizzo che parte con 130 è un classe B (da 128 a 191); quindi la mask naturale sarebbe 255.255.0.0, ma qui abbiamo anche i terzo ottetto a 255 e il quarto a 192. Qui per la prima volta mettiamo la linea di demarcazione tra bit host e bit subnet in mezzo all’ottetto, non tra un ottetto e l’altro. Viene più facile se la scriviamo in binario:

11111111.11111111.11111111.11000000

Dedichiamo cioè due bit della parte host come subnet bit: possiamo così farci 4 sottoreti (00, 01, 10 e 11 corrispondenti – visto che sono i MSB – a 0, 64, 128 e 132) e indirizzare in ciascuna di queste 64 host. Quindi ciò significa che, essendo 132=128+4=10000100:

 10 000100
|sn| host |

l’indirizzo IP in realtà individua l’host 4 (000100) della subnet 10 (130.97.16.128)

Esempio 3

Indirizzo IP 192.178.16.66 Subnet mask: 255.255.255.192

Qui abbiamo un indirizzo di classe C la cui mask naturale è 255.255.255.0 a cui aggiungiamo altri due bit nella parte più significativa

11111111.11111111.11111111.11000000

L’ultimo ottetto dell’indirizzo è 66 = 64 + 2 = 01000010

per cui si tratta dell’host 2 (000010) della subnet 192.178.16.64

Esempio 4

Indirizzo IP 132.90.132.5 Subnet mask 255.255.240.0

L’indirizzo è di classe B (128 -> 191) e la netmask al terzo ottetto è 240 = 128+64+32+16 = 11110000); l’host è X.X.132.5 = (132=128+4) = X.X.10001000.00000101 quindi ho evidenziato in grassetto la parte host che è 4.5 e la parte subnet è 255.255.128.0.

Negli esempi precedenti il riferimento all’host occupava un solo ottetto per cui esprimevamo l’host con un numero solo. Qui invece la subnet mask è più stretta (20 bit) per cui l’host si può esprimere con due ottetti (4 = 1000 e .5 = .00000101)

Esempio 5

Indirizzo IP 18.20.16.91 Subnet mask 255.255.0.0

L’indirizzo è di classe A; quindi i bit subnet sarebbero solo i primi 8, però utilizziamo una mask che rende subnet anche il secondo ottetto per cui semplicemente questo è l’indirizzo dell’host 16.91 sulla sottorete 18.20.0.0.

Il calcolo è più veloce perché non abbiamo bit a 1 negli ultimi due ottetti.

Esempio 6

Attualmente nella rete a cui sono connesso ho un indirizzo IP 10.1.23.228 e una netmask 255.255.255.0

Questo sarebbe originariamente un indirizzo di classe A (255 sottoreti di milioni di computer ciascuna) ma l’utilizzo della netmask estesa ad altri due ottetti consente di fare ulteriori subnet.

In sostanza il mio è il computer 228 della rete 10.1.23.0, questa rete può contenere fino a 254 PC e per le dimensioni dell’azienda in cui mi trovo è adeguata.