PDA

View Full Version : Pre-guida al subnetting


Sholn
20-10-2006, 10:15
Pre-Guida Subnetting

Mi piacerebbe molto che fra le guide presenti nel form ce ne fosse una anche riguardante il subnetting.
A questo proposito voglio provare a gettare qualche base introduttiva che secondo me è molto utile all'argomento.

INDIRIZZO IP:
Senza stare troppo a spiegare cos'è e a cosa serve, voglio concentrarmi su come è composto un indirizzo ip (v4).
Come tutti sanno un indirizzo ip è formato da quattro numeri separati.

Normalmente l'ip è espresso in decimale dove ogni parte è un numero compreso da 0 a 255.

Abbandonando la notazione decimale, si può dire che l'indirizzo ip è composto da quattro gruppi ognuno di 8 bit.

Un classico indirizzo 192.168.0.1 può essere scritto in binario così:

11000000.10101000.00000000.00000001

Mentre la classica subnet mask 255.255.255.0 può essere scritta come

11111111.11111111.11111111.00000000

Dato che per capire il subnetting è necessario saper utilizzare un minimo il binario e i suoi operatori NOT,AND,OR
Passiamo a dire due cose a proposito.

Il codice binario

Che differenza c'è fra il decimale e il codice binario? Il numero di cifre a disposizione.
Mentre nel decimale abbiamo a disposizione 10 cifre (anche lo zero conta!) nel binario ne abbiamo soltanto due (0 e 1).

proviamo a contare in decimale

parto da 0
passo alla cifra successiva ->1
passo alla cifra successiva ->2
passo alla cifra successiva ->3
....
passo alla cifra successiva ->9
ho finito le cifre! quindi dirò che ho 1 decina e 0 unità -> 10

Compreso questo passaggio fondamentale passiamo al binario

parto con lo 0
passo alla cifra successiva ->1
ho finito le cifre! quindi dirò che ho 1 "decina" e 0 unità ->10
aumento l'unità ->11
ho di nuovo finito le cifre! ora ho 1 "centinaio",0 "decine",0 unità ->100
e così via.

La prima cosa che si nota è che per contare in binario servono molte più cifre che per contare in decimale.
Riprendendo l'ip infatti si vede che con il decimale utilizziamo 3 cifre (e neanche appieno visto che potremmo arrivare a 999),
con il binario ne usiamo 8.

Per chiudere il discorso del numero di cifre possiamo dire che per esprimere un numero decimale n servono
log2(n) cifre binarie.



es. log2(256)=8 per contare fino a 255 in binario servono 8 bit

In ogni caso per fare una conversioni bin<->dec basta prendere la calcolatrice di windows!

OPERATORI LOGICI


Gli 0 e 1 del codice binario possono essere interpretati anche come vero/falso.
Dove lo 0 è il FLASO e 1 sta per il VERO.

NOT

L'operatore logico NOT trasforma lo 0 in 1 e viceversa

NOT 1010 = 0101

NOT è il più semplice di tutti gli operatori.

AND

se piove e devo uscire prendo l'ombrello

In qualche caso prendo l'ombrello? solamente se entrambe due le condizioni sono vere,
mentre se soltanto una è falsa (se per esempio non piove)
non prenderò l'ombrello


0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1


OR

se piove o se nevica prendo l'ombrello

In questo caso basta che una delle due condizioni si avveri perchè l'ombrello sia preso (provare per credere!)

Quindi

0 OR 0 = 0
0 OR 1 = 1
1 OR 0 = 1
1 OR 1 = 1


Facciamo un paio di prove:

Senza spiegare troppo cosa stiamo facendo concettualmento calcoliamo: NOT SUBNETMASK (ovvero la negazione logica della maschera di rete)


NOT 255.255.255.0
passiamo al binario
NOT 11111111.11111111.11111111.00000000 = 00000000.00000000.00000000.11111111 che in decimale è 0.0.0.255

Quella che abbiamo appena calcolato è la Maschera di rete invertita

Facciamo ora (Maschera di rete invertita) AND (Indirizzo_IP del nodo)

192.168.0.1 AND 0.0.0.255

11000000.10101000.00000000.00000001 AND
00000000.00000000.00000000.11111111

00000000.00000000.00000000.00000001 ossia 0.0.0.1 questo è l'indirizzo del nodo all'interno della propria sottorete (indirizzo relativo)

Proviamo anche (Indirizzo_IP del nodo) AND (Maschera di rete)

11000000.10101000.00000000.00000001 AND
11111111.11111111.11111111.00000000

11000000.10101000.00000000.00000000 ossia 192.168.0.0 questo invece è l'indirizzo della sottorete a cui appartiene il nodo (indirizzo di rete)


to be continued...

Sholn
20-10-2006, 11:13
Ma a cosa serve la SUBNET MASK?

Bene, la subnet mask serve a distinguere quale parte di un ip identifica la sottorete e quale identifica l'host all'interno della sottorete.

esempio:

192.168.0.1 con 255.255.255.0 ci dice che le prime tre parti dell'ip si riferiscono alla rete e che l'ultima parte (gli ultimi 8 bit) stanno a identificare l'host.

Come fa? l'abbiamo già visto sopra.

L'indirizzo di rete è, IP and SUBNETMASK ossia 192.168.0.0
la parte preposta all'identificazione dell'host è l'ultima cifra infatti
IP and Maschera di rete invertita= 0.0.0.1

In questo caso abbiamo una rete con massimo 255 host
Ma se volessimo suddividere questa rete in due sottoreti?
La risposta è facciamo un subnetting!
o anche, facciamoci del male :Prrr:
o anche, ma lasciamo tutto così che è più semplice! :D

hmetal
20-10-2006, 11:23
In questo caso abbiamo una rete con massimo 255 host

254 ;)

Sholn
20-10-2006, 12:31
255!? :eek: scusate la svista.

Cmq giustamente hmetal mi ha corretto, ma perchè 254?

Allora, s'era detto che nel nostro esempio 8 bit erano dedicati all'host, dato che con 8 bit "conto" fino a 256 host (2^8), dovrebbe aver torto hmetal (e in realtà anch'io che ho scritto una pessima via di mezzo!).
Purtroppo però il numero massimo di host si conteggia così:

(2^bits) - 2 dato che dobbiamo lasiare l'indirizzo di broadcast e l'indirizzo di rete.

Ossia ,nel nostro caso, 192.168.0.255 e 192.168.0.0

L'indirizzo di broadcast è l'indirizzo con i bit dedicati all'host (nel nostro caso erano gli ultimi 8 ) sono tutti a 1
L'indirizzo di rete invece è quello dato dalla maschera di rete invertita, o anche (più semplice) l'ip con i bit dedicati all'host tutti a 0