NTMCP - Pensieri in libertà ...


Ora e Data
Archivio Posts
Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Indirizzamento IP (v4): La Subnet Mask

Continuiamo con questo post la serie di articoli relativa all'Indirizzamento IP (v4).

Nel post precedente (Indirizzamento IP (v4): Indirizzamento Classfull - Le Classi Di Indirizzi) abbiamo analizzato la forma più semplice di indirizzamento IP, l'Indirizzamento Classfull, quello, per capirci basato su indirizzi di Classe A, B o C.

Abbiamo introdotto la First Octet Rule che, basandosi sul valore del primo byte (quello più a sinistra), ci permette di capire qual'è la classe di appartenenza di un indirizzo IP e, dunque, di scindere la parte Network dalla parte Host.

Il post si concludeve osservando che tale regola è, per tutta una serie di motivi più o meno ovvi, non utilizzabile da un host e che quindi ogni host dotato di un indirizzo IP ha bisogno anche di uno strumento che gli permetta di distinguere, dato il proprio indirizzo IP e quello del suo destinatario, la parte Network di entrambi in modo da capire se il destinatario della sua comunicazione è locale o remoto.

Abbiamo osservato che quando configuriamo i parametri TCP/IP su un host gli unici parametri obbligatori sono l'indirizzo IP ed un oggetto chiamato SUBNET MASK.

Appunto la Subnet Mask sarà l'oggetto di questo post.

La Subnet Mask, come un indirizzo IP, è composta da 32 bit, ma la sua funzione è diversa: serve per permettere ad un host, dato un indirizzo IP, di scoprire qual'è la parte Network di codesto indirizzo.

Ovviamente, essendo una sequenza di bit, i soli valori ammisibili sono 0 e 1, per cui si è deciso di adottare la seguente regola:

1 identifica la parte Network
0 identifica la parte Host

Applicando tale regola all'indirizzamento Classfull si ha quanto segue:

CLASSE A:
Range: X.0.0.1 - X.255.255.254
Network: X.0.0.0
Broadcast: X.255.255.255
dove X= 1/126
Subnet Mask: 255.0.0.0

CLASSE B:
Range: X.Y.0.1 - X.Y.255.254
Network: X.Y.0.0
Broadcast: X.Y.255.255
dove X= 1/126, Y=0/255
Subnet Mask: 255.255.0.0

CLASSE C:
Range: X.Y.Z.1 - X.Y.Z.254
Network: X.Y.Z.0
Broadcast: X.Y.Z.255
dove X= 192/223, Y=0/255, Z=0/255
Subnet Mask: 255.255.255.0

Effettuando un AND logico tra i bit corrispondenti dell'indirizzo Ip e della Subnet Mask si ottiene il Network ID di un indirizzo IP.

Ricordiamo che l'AND Logico segue le regole della moltiplicazione:

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

Per cui se un host ha indirizzo IP 10.1.4.3, la sua Subnet Mask sarà 255.0.0.0, per cui

INDIRIZZO IP    00001010.00000001.00000100.00000011 (10.1.4.3)
SUBNET MASK  11111111.00000000.00000000.00000000 (255.0.0.0)
NETWORK ID   00001010.00000000.00000000.00000000 (10.0.0.0)

Duanque se l'host A con indirizzo IP 10.1.4.3 e Subnet Mask 255.0.0.0 deve comunicare con l'host B con indirizzo IP 131.107.2.200, effettuando l'AND Logico di entrambi gli indirizzi con la propria Subnet Mask otterrà che:

NETWORK ID Host A: 10.0.0.0
NETWORK ID Host B: 131.0.0.0

I due Network ID sono diversi per cui A e B risiedono su due retim IP diverse e, dunque, su due segmenti di rete diversi.

Concludiamo che spesso la Mubnet Mask si può indicare anche in un formato diverso da quello utilizzato finora: invece di indicare il valore dei quattro byte in decimale si indicano il numero di bit a 1 (Bit Count). Si avrà quindi che

10.1.4.3
255.0.0.0

è del tutto equivalente a 10.1.4.3 / 8.

La notazione Bit Count non è però, in generale, utilizzabile nelle configurazioni ma solo in fase di documentazione.

Tutto semplice vero?

Peccato però che ormai da anni l'indirizzamento Classfull non viene più utilizzato e ci troviamo molto spesso di fronte a Subnet Mask non standard, cioè composte da un numero di bit diverso da 8, 16 o 24 oppure di fronte a subnet magari di 16 bit applicate ad indirizzi di Classe A. Ad esempio

10.1.1.4
255.255.255.0

131.107.55.2
255.255.248.0

Queste forme di indirizzamento si chiamano di tipo Classless e saranno oggetto dei prossimi posts.

Alla prossima!

Categoria: Networking
martedì, 16 set 2008 Ore. 14.57



Statistiche
  • Views Home Page: 131.674
  • Views Posts: 307.965
  • Views Gallerie: 68.064
  • n° Posts: 164
  • n° Commenti: 80


Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003