Subnetting e VLSM

 


Il subnetting è una tecnica, introdotta nel 1985 allo scopo di economizzare sugli indirizzi IP, che permette di dividere una rete in sottoreti, utilizzando la parte host di un indirizzo IP.

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.

 

Esercizio completo

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