Consideriamo per esempio una rete di indirizzo IP 172.16.0.0. Se
utilizziamo il terzo ottetto possiamo creare fino a 254 sottoreti con
indirizzi che vanno da 172.16.1.0. a 172.16.254.0. Ogni subnet potrà avere fino
a 254 host.
Il numero di bit per il subnet assegnati ad una rete dipende dal numero delle sottoreti
richieste e dal numero di host per sottorete.
Per esempio, sempre con riferimento alla rete 172.16.0.0 prendendo due bit
dal terzo ottetto formiamo due sottoreti:
172.16.128.0 | 10101100.00010000.10 000000.00000000 |
172.16.64.0 | 10101100.00010000.01 000000.00000000 |
Per indicare che una rete è subnettata gli indirizzi si scrivono specificando il numero di bit
corrispondenti alla maschera. Nel nostro caso: 172.16.64/18 e
172.16.128.0/18 mentre l'indirizzo di broadcast sarà 255.255.192.0
Il vantaggio di questa organizzazione è che vieve usato un solo indirizzo
IP: 172.16.0.0
Negli esempi che abbiamo visto la maschera ha la stessa lunghezza per tutte
le sottoreti. A partire dal 1987 è stata introdotta la tecnica VLSM: Variable Length Subnet
Mask.
VLSM consente di subnettare ulteriormente una subnet. In altre parole permette
di dividere una sottorete in sottoreti con utilizzando maschere di lunghezza
diversa.
Per esempio nella rete 172.16.0.0/24, consideriamo la subnet 172.16.14.0/24. In binario:
10101100.00010000.00001110.00000000
possiamo subnettare ulteriormente questa subnet utilizzando i bit del quarto ottetto, per es. i primi 5 bit
10101100.00010000.00001110.00000000
otteniamo così le subnet 172.16.14.4/30, 172.16.14.6/30, 172.16.14.128/30,172.16.14.132/30 etc...
Ogni subnet dispone di due soli indirizzi, per es. la 172.16.14.128 ha 172.16.14.129 e 172.16.14.130.
Questo partizionamento perciò è utilizzato quando si devono assegnare gli indirizzi alle due porte che collegano due router fra loro.
Un amministratore di rete può a questo punto assegnare maschere diverse a seconda delle esigenze. Per esempio la rete 172.16.0.0 può utilizzare una maschera a 30 bit per le connessioni fra i router, una a 24 bit per sottoreti fino a 254 host e una a 22 bit per reti con oltre 1000 host.
La tecnica VLSM permette di risparmiare sugli indirizzi IP e ne impedisce lo spreco.
Esempio
Si ha una rete 192.168.187.0 e bisogna creare 4 sottoreti con max 30 host. Poichè le sottoreti sono collegate fra di loro mediante 4 router A,B,C si devono assegnare altre 3 sottoreti per collegarli.
In tutto sono 7 sottoreti per cui si devono utilizzare 3 bit
192.168.187.0/27
192.168.187.32/27
192.168.187.64/27
192.168.187.96/27
192.168.187.128/27
192.168.187.160/27
192.168.187.192/27
192.168.187.224/27
Se i router supportano l' ip subnet-zero si possono formare 8
reti (altrimenti dobbiamo saltare la prima).
La maschera è 192.168.187.224.
Dopo aver assegnato i primi 4 indirizzi alle 4 sottoreti bisogna assegnare tre sottoreti ai collegamenti punto-punto fra i router. E' evidente che se non utilizziamo VLSM dobbiamo utilizzare tre indirizzi di sottorete diversi per ciascuno dei quali solo 2 indirizzi IP saranno utilizzati mentre gli altri 28 verranno sprecati.
Se invece utilizziamo VLSM è sufficiente uno solo degli indirizzi di sottorete rimasti. Scegliamo il 192.168.187.192/27 e utilizziamo una maschera a 30 bit. Questo significa che stiamo utilizzando i successivi 3 bit per sub-subnettare
192.168.187.192/27=11000000.10101000.10101010.110 000 00
le sub-subnet sono
192.168.187.192/30
192.168.187.196/30
192.168.187.200/30
192.168.187.204/30
192.168.187.208/30
192.168.187.212/30
192.168.187.216/30
192.168.187.220/30
A questo punto basta scegliere tre sub-subnet per assegnare gli indirizzi ai ai collegamenti punto-punto fra i router.
Dobbiamo partizionare la rete 192.168.10.0 in 4 sottoreti con host e tre sottoreti con link punto-punto.
Sottorete A: 60 host
Sottorete B: 28 host
Sottorete C e D: 12 host
Step 1
Ripartire la rete in 4 subnet
Si prendono due bit host e si ottiene
192.168.10.0/26 .00 000000
192.168.10.64/24 .01 000000
192.168.10.128/26 .10 000000
192.168.10.192/26 .11 000000
Sottorete A
indirizzo 192.168.10.0/26
.00 000000
Broadcast 192.168.10.63/26
.00 111111
.
Sottorete B
Dovendo coprire 28 host sono sufficienti 5 bit, quindi si sub-subnetta
la seconda subnet con
27 bit. Otteniamo due sub-subnet
prima subnet :
192.168.10.64/27 .01
0 00000
Broadcast:
192.168.10.95/27 .01
0 11111
seconda subnet:
192.168.10.96/27 .01
1 00000
Broadcast
192.168.10.127/27 .01
1 11111
Assegnamo alla sottorete B la prima subnet
Indirizzo: 192.168.10.64/27
.01 0 00000
Broadcast
192.168.10.65/27
.01 0
11111
Sottoreti C e D
Dovendo coprire 12 host sono sufficienti 4 bit e una maschera di 28 bit. Il primo indirizzo disponibile è quello della seconda subnet che viene così suddivisa in due sub-subnet.
prima sub-subnet:
192.168.10.96/28 .011
0 0000
Broadcast
192.168.10.111/28 .011
0 1111
seconda sub-subnet: 192.168.10.112/28 .011
1 0000
Broadcast
192.168.10.127/28 .011
1 1111
che possono essere assegnate alle sottoreti C e D.
Infine assegnare le sottoreti ai 4 link punto-punto si prende la terza subnet 192.168.10.128/26 e la si suddivide in 4 subnet da due host ciascuno, quindi con maschera a 30 bit
Prima subnet:
192.168.10.128/30
.10 0000 00
Broadcast:
192.168.10.131/30
.10 0000 11
Seconda subnet:
192.168.10.132/30
.10 0001 00
Broadcast:
192.168.10.135/30
.10 0001 11
Terza subnet:
192.168.10.136/30
.10 0010 00
Broadcast:
192.168.10.139/30
.10 0010 11
Quarta subnet:
192.168.10.140/30
.10 0011 00
Broadcast:
192.168.10.143/30
.10 0011 11
Subnet | Indirizzo IP | binario | Indirizzo Broadcast |
A | 192.168.10.0/26 | 00 000000 | 192.168.10.63/26 |
B | 192.168.10.64/27 | 010 00000 | 192.168.10.65/27 |
C | 192.168.10.96/28 | 0110 0000 | 192.168.10.111/28 |
D | 192.168.10.112/28 | 0111 0000 | 192.168.10.127/28 |
link1 | 192.168.10.128/30 | 10 0000 00 | |
link2 | 192.168.10.132/30 | 10 0001 00 | |
link3 | 192.168.10.136/30 | 10 0010 00 | |
link4 | 192.168.10.140/30 | 10 0011 00 |