Sei sulla pagina 1di 2

La subnet mask o "maschera di sottorete" il metodo utilizzato per definire il range di

appartenenza di un host all'interno di una rete IP al fine di ridurre il traffico di rete e facilitare la
ricerca di un determinato indirizzo ip della stessa.
Esistono 3 tipo di classe di una subnet mask:

Classe A > 255.0.0.0 (si possono impostare in rete circa 16 milioni di PC ossia
256256x256)
Classe B > 255.255.0.0 (si possono impostare in rete fino a 65.536 PC ossia 255256)
Classe C > 255.255.255.0 (si possono impostare in rete fino a 256 PC)

Esistono tre tipi di mascherature di un indirizzo IP e sono denominate classi:


Nel caso di subnet di classe A abbiamo il primo ottetto compreso tra 0 e 127, ad esempio
10.56.32.08.
Nel caso di classe B il primo ottetto compreso tra 128 e 191, ad esempio 172.12.56.10.
Nel caso di classe C ottetto compreso tra 192 e 223 ed quello di utilizzo pi comune:
192.168.0.2.
Per determinare il numero massimo di indirizzi utili in una subnet basta contare il numero n di bit 0
a destra della subnet mask, porre n come esponente di 2, e sottrarre a ci i due indirizzi riservati
(uno indica la sottorete stessa, l'altro usato per fare broadcast). La formula dunque: 2n 2
Consideriamo una rete in classe C (ex 192.168.45.0) Ci sono 8 bit nella host ID di default, che
permettono di avere sei differenti opzioni di mascheratura (non possibile utilizzare i bit 7 e 8 per
definire la subnet ID). Supponiamo di utilizzare 3 bit per definire la subnet ID e lasciare gli altri
5 per l'host ID.
Quando il sistema operativo (pi precisamente: il livello IP dello stack TCP/IP) riceve da un
programma la richiesta di inviare un pacchetto da un indirizzo IP sorgente ad un certo indirizzo
IP destinatario, per prima cosa calcola l'AND logico fra la subnet mask e il proprio indirizzo
IP, e lo confronta con l'AND logico tra la subnet mask e l'indirizzo IP di destinazione. Se il
risultato delle operazioni identico (cio i bit che identificano l'id di rete, o net ID, sono identici,
mentre variano solo i bit dell'id di host) allora invier il pacchetto nella rete locale
indirizzandolo con l'indirizzo di rete locale del PC destinatario (se non conosce tale indirizzo user
il protocollo ARP per trovarlo); se invece il risultato delle operazioni differente significa che il
computer destinatario non appartiene alla rete locale, e il pacchetto verr trasmesso al gateway
della rete locale affinch lo instradi verso la rete remota che contiene il computer destinatario.

Un esempio pratico [modifica]


Supponiamo che il protocollo IP del nostro computer sia configurato come segue:

indirizzo IP: 192.168.32.97


subnet mask: 255.255.255.224

e che richiediamo di connetterci all'indirizzo IP 192.168.32.130


prima di tutto trasformiamo in notazione binaria gli indirizzi IP e la subnet mask:
192.168.032.097 = 11000000.10101000.00100000.01100001

192.168.032.130 = 11000000.10101000.00100000.10000010
255.255.255.224 = 11111111.11111111.11111111.11100000

allora il livello IP calcoler:


11000000.10101000.00100000.01100001 AND
11111111.11111111.11111111.11100000 =
------------------------------------11000000.10101000.00100000.01100000

(192.168.032.097)
(255.255.255.224)
(192.168.032.096)

Ora ripetiamo l'operazione con l'IP di destinazione:


11000000.10101000.00100000.10000010 AND
11111111.11111111.11111111.11100000 =
------------------------------------11000000.10101000.00100000.10000000

(192.168.032.130)
(255.255.255.224)
(192.168.032.128)

I risultati 192.168.32.96 e 192.168.32.128 indicano due sottoreti differenti, e quindi le macchine


appartengono a sottoreti differenti.
Notiamo che con una subnet mask 255.255.255.224 possibile avere un range di 30 indirizzi utili
per subnet, in quanto 2(32-27) - 2 = 25 - 2 = 30.
L'indirizzo 192.168.32.01 appartiene al range tra 192.168.32.0 e 192.168.32.31 (000-----)
L'indirizzo 192.168.32.35 appartiene al range tra 192.168.32.32 e 192.168.32.63 (001-----)
L'indirizzo 192.168.32.77 appartiene al range tra 192.168.32.64 e 192.168.32.95 (010-----)
L'indirizzo 192.168.32.97 appartiene al range tra 192.168.32.96 e 192.168.32.127 (011-----)
L'indirizzo 192.168.32.130 appartiene al range tra 192.168.32.128 e 192.168.32.159 (100-----)
L'indirizzo 192.168.32.160 appartiene al range tra 192.168.32.160 e 192.168.32.191 (101-----)
L'indirizzo 192.168.32.192 appartiene al range tra 192.168.32.192 e 192.168.32.223 (110-----)
L'indirizzo 192.168.32.224 appartiene al range tra 192.168.32.224 e 192.168.32.255 (111-----)

Se l'IP destinazione fosse stato 192.168.32.100, i due indirizzi avrebbero indicato macchine
appartenenti alla medesima sottorete:
11000000.10101000.00100000.01100100 AND
11111111.11111111.11111111.11100000 =
------------------------------------11000000.10101000.00100000.01100000

(192.168.032.100)
(255.255.255.224)
(192.168.032.096)