Breadcrumbs

Nel mondo delle reti informatiche abbiamo sempre sentito parlare di indirizzi IP, ogni dispositivo li utilizza per

comunicare in rete.

Gli indirizzi IP sono rappresentati da una sequenza di numeri raggruppati in 4 terzine come ad esempio

192.168.001.001 o 192.168.1.1 con omissione degli zeri nelle ultime due terzine.

Per comprendere cosa si cela dietro questo formato numerico dobbiamo introdurre il concetto di numerazione binaria.

Per poter ragionare in un sistema binario, e non sul decimale a cui siamo abituati (numeri da 0 a 9), dobbiamo utillizzare 

soltanto due cifre simboliche: 0 e 1. Ebbene sì, i calcolatori riconoscono solo due numeri.

Ogni numero, del classico sistema decimale, può essere rappresentato nel sistema binario, utilizzando una sequenza

composta da sole due cifre.

Considerando l'indizzo IP citato pocanzi, andiamo ad analizzarne la struttura.

 

192 168 1 1
    11000000         10101000        00000001         00000001    
ic arrow drop down 48px-128 ic arrow drop down 48px-128 ic arrow drop down 48px-128 ic arrow drop down 48px-128
Un byte= 8 bit      
4 byte = 32 bit

 

Nel sistema decimale, ogni cifra all'interno del numero assume un peso differente in ragione della posizione, ad

esempio possiamo esprimere il numero 168 come somma di prodotti, in particolare: (1x100)+(6x10)+(8x1). Tale

sistema è basato sulle potenze in base dieci, di seguito una tabella esplicativa:

 

Posizione  III   II   I 
Potenza di 10
102
 10  10
Valore associato alla potenza  100  10  1
Cifra 1 6 8

 

Per cui la cifra in posizione I ha peso unitario, la cifra in posizione II ha peso 10 volte maggiore rispetto alla

precedente e la cifra in posizione III ha peso 100 volte maggiore rispetto alla I.

Il sistema binario è invece basato sulle potenze in base due, in particolare l'IP è composto da 4 gruppi di 8 bit, per cui

possiamo seguire lo stesso ragionamento considerando una stringa di 8 cifre (1 byte):

 

Posizione VIII VII VI V IV III II I
Potenza di 2 27 26 25 24 23 22 21 20
Valore associato alla potenza
128 64 32 16 8 4 2 1
Cifra 1 0 1 0 1 0 0 0

 

 

La somma dei prodotti tra cifra e valore associato alla potenza restituisce il valore decimale:

(0x1) + (0x2) + (0x4) +(1x8) + (0x16) + (1x32) + (0x64) + (1x128) = 168

Ma come facciamo a passare da numeri decimali a numeri binari?

Vediamolo con un esempio numerico, convertiamo 168 dal sistema decimale al sistema binario.

Nella seguente tabella sono riportati: nella prima riga i valori delle potenze in base 2, nella seconda riga delle

differenze e nella terza riga le cifre binarie

 

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - - - - - - -
Cifra binaria 1 - - - - - - -

 

 

Per individuare la prima cifra binaria (VIII posizione) dobbiamo confrontare il numero da convertire (168) con il

valore decimale più alto disponibile (128). Se tale numero è maggiore allora inseriremo 1 come cifra binaria, in caso

contrario inseriremo 0.

Per determinare la cifra in posizione VII calcoliamo la differenza tra il valore decimale da convertire e 128, la

confrontiamo con 64, se tale differenza è maggiore inseriamo 1 come cifra, in caso contrario inseriamo 0.

Nella seconda riga abbiamo effettuato la differenza ottenendo 40 come risultato, tale valore è minore di 64 per cui

inseriamo uno 0 in corrispondenza della VII posizione.

 

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - - - - - - -
Cifra binaria 1 0 - - - - - -

 

Procediamo con il calcolo della cifra in VI posizione confrontando 40 con 32. Quindi inseriamo 1 in quanto 40 è

maggiore di 32.

 

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - 40-32=8 - - - - -
Cifra binaria 1 0 1 - - - - -

 

Procediamo con il calcolo della cifra in V posizione confrontando 8 con 16. Quindi inseriamo 0 in quanto 8 è minore di 16.

 

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - 40-32=8 - - - - -
Cifra binaria 1 0 1 0 - - - -

 

Procediamo con il calcolo della cifra in IV posizione confrontando 8 con 8. Quindi inseriamo 1 in quanto 8 è uguale ad 8.

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - 40-32=8 - 8-8=0 - - -
Cifra binaria 1 0 1 0 1 - - -

 

Procediamo con il calcolo della cifra in III posizione confrontando 0 con 4. Quindi inseriamo 0 in quanto 0 è minore di 4.

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - 40-32=8 - 8-8=0 - - -
Cifra binaria 1 0 1 0 1 0 - -

 

Procediamo con il calcolo della cifra in II posizione confrontando 0 con 2. Quindi inseriamo 0 in quanto 0 è minore di 2.

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - 40-32=8 - 8-8=0 - - -
Cifra binaria 1 0 1 0 1 0 0 -

 

Procediamo con il calcolo della cifra in I posizione confrontando 0 con 1. Quindi inseriamo 0 in quanto 0 è minore di 1.

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - 40-32=8 - 8-8=0 - - -
Cifra binaria 1 0 1 0 1 0 0 0

 

In definitiva il numero decimale 168 nel sistema binario è esprimibile nel seguente modo: 10101000

In conclusione, quindi, ogni terzina dell'indirizzo IP può assumere valori decimali variabili da 0 a 255.

Valore decimale 255 1 0
Valore binario 11111111 00000001 00000000

 

 

Aggiungi commento


Privacy Policy