top of page
  • Immagine del redattoreElvis Informatico

Reti di calcolatori: atto secondo

Aggiornamento: 24 giu 2022

Poco fa il nostro amico Elvis ci ha chiamati, voleva approfondire il discorso relativo alle reti di calcolatori che avevamo introdotto in un precedente articolo. Elvis era molto agitato, ci ha detto che i suoi amici marziani sono in difficoltà perchè non riescono a far "parlare" i loro server. Tranquillo Elvis, ti aiutiamo noi! Come già spiegato nel nostro blog, una rete di computer è tale se ogni macchina (più genericamente host) possiede un indirizzo ip (internet protocol) che permette di scambiare dati con gli altri host della rete. Ora, poniamo il caso si vogliano mettere in comunicazione tra loro tutti i computer di un ufficio, si tratta di 20 calcolatori, basterà quindi assegnare ad ogni host un indirizzo ip univoco (gli host di una stessa rete non possono avere indirizzi uguali).

Poniamo adesso il caso che si voglia far parlare i 20 pc della nostra rete con altri host appartenenti però ad un'altra rete. In questo caso, il pc della rete A non è in grado di sapere come raggiungere il pc della rete B, dunque si rivolgerà ad un apposito dispositivo chiamato router (instradatore) o default gateway (porta predefinita), che provvederà a farlo parlare con l'host dell'altra rete.

Dovrebbe ora esser chiaro, che per far comunicare più computer servono fisicamente una rete e degli host che la compongono, come detto, ogni host deve avere un indirizzo ip univoco all'interno della stessa rete, ma attenzione, anche la rete deve avere un proprio indirizzo ip. Quindi, ogni host ha una configurazione di rete che si compone:

1) Indirizzo ip dell'host

2) Indirizzo di rete di cui l'host fa parte (ottenibile dalla subnet mask)

3) Indirizzo ip del router/default gateway

Quando host A vuole comunicare con host B, è in grado di capire se quest'ultimo fa parte della sua rete oppure no, come fa a saperlo? Semplice, grazie alla subnet mask (sottomaschera di rete). La subnet mask divide l'indirizzo ip di un host in due parti: la prima indica la rete a cui l'host appartiene, la seconda è l'indirizzo ip dell'host.

Vediamo come funziona, apriamo una shell CLI (command line interface) sul nostro pc e digitiamo il comando ipconfig (se siamo su Windows) o ifconfig (se siamo su Unix).

Come vediamo dallo screen, abbiamo il nostro ip (10.232.250.14), l'indirizzo del router o default gateway (10.232.248.1) ed infine la subnet mask (255.255.252.0), anche quest'ultima sembra presentarsi come un indirizzo di rete. A questo punto, quando il nostro pc A vuole mandare un pacchetto al pc B di un'altra rete, invierà una richiesta a tutti i pc della sua rete in attesa che qualcuno risponda, se nessuno dovesse rispondere, vuol dire che il pc B non fa parte della stessa rete. Sarà a questo punto il default gateway a rispondere ed inviare il pacchetto al pc B sulla rete di appartenenza di quest' ultimo. Il router, ha un elenco di informazioni chiamato tabella di routing in cui son presenti tutti gli indirizzi di rete e dei relativi host, ed è quindi in grado di far parlare calcolatori di reti differenti. Le subnet mask sono dunque fondamentali per identificare la rete a cui un host appartiene, per capire qual è l'indirizzo di rete di un calcolatore, servono indirizzo ip dello stesso e la subnet mask, prendiamo quelli dell'immagine sopra:

Ip Address: 10.232.250.14

Subnet Mask: 255.255.252.0

Ora attenzione, come detto in precedenti articoli, gli indirizzi non sono altro che una sequenza di 4 byte separati da un punto. Un byte è composto da 8 bit (chiamato anche ottetto), un bit può avere valore 1 o valore 0, vuol dire che:


- in 1 bit ho 2 valori possibili (1 e 0)

- in 2 bit ho 4 valori possibili (00, 11, 01, 10)

- in 3 bit ho 8 valori possibili (000, 111, 001, 011, 100, 110, 101, 010)


E via discorrendo... In pratica si tratta delle potenze di due, questo vuol dire che in 8 bit (1 byte) ho 256 valori possibili (basta fare 2 elevato a 8), in 32 bit (la somma dei 4 ottetti dell'indirizzo ip) ho 4 294 967 296 valori possibili. A seconda della posizione del valore 1 all'interno degli 8 bit, riuscirò a trasformare un ip dal formato binario (il formato dei computer) a quello decimale (il formato degli "umani"), di seguito una matrice di aiuto:

Ora è sufficiente sommare tra loro i multipli del 2 sopra riportati laddove il bit sia uguale a 1. Quindi, se ho un byte fatto come il seguente, sommerò i multipli del 2 corrispondenti:


0 0 0 0 1 0 1 0

8 2

---------------------------------------------

8+2=10


Il risultato appena ottenuto non è altro che il primo byte dell'indirizzo ip riportato nell'immagine sopra, per gli altri 3 byte, occorre applicare lo stesso ragionamento:


1 1 1 0 1 0 0 0

128 64 32 8

---------------------------------------------

128+64+32+8=232


1 1 1 1 1 0 1 0

128 64 32 16 8 2

----------------------------------------------------

128+64+32+16+8+2=250


0 0 0 0 1 1 1 0

8 4 2

---------------------------------------------

8+4+2=14


10.232.250.14


Ora dovremmo aver chiaro com'è composto un indirizzo ip e come viene interpretato dal nostro computer (formato binario, serie di 1 e 0). Arriviamo ora a capire come viene utilizzata la subnet mask, usando quella dell'immagine ed applicando lo stesso ragionamento sopra, andiamo a scriverla in formato binario:


255.255.252.0=11111111.11111111.11111100.00000000


Piccola precisazione: la somma degli 8 bit (tutti di valore 1) dei primi due ottetti è 256, ma in informatica si inizia a contare da 0, ecco perchè leggiamo 255.

Dicevamo che per ottenere l'indirizzo della rete a cui l'indirizzo ip 10.232.250.14 appartiene, un calcolatore confronta ip e subnet e considera solamente il caso in cui entrambi i bit corrispondenti (leggeteli verticalmente nell'immagine sottostante) valgano 1:

l'operazione di confronto che vedete sopra, viene chiamata AND e proviene dalla logica booleana. In pratica, il risultato del confronto sarà 1 (cioè vero) soltanto quando entrambi gli elementi valgono 1, in tutti gli altri casi il risultato è 0 (falso). Dunque, abbiamo imparato come scoprire l'indirizzo di rete avendo ip dell'host e subnet mask. Come potete vedere, la subnet dell'esempio presenta i primi due ottetti tutti ad uno, in generale tutti i bit uguali a 1 della subnet son quelli riservati alla rete, mentre i bit uguali a 0 sono riservati agli host. In altre parole, la nostra subnet ha 23 bit settati ad 1 che son quelli riservati all'indirizzo di rete, mentre i restanti 9 son quelli che potranno essere utilizzati per gli ip degli host. Non è dunque casuale che l'indirizzo ip del default gateway sia 10.232.248.1, il router infatti, deve trovarsi sulla stessa rete degli host per poter esser raggiunto da questi e farli comunicare tra loro, tanto è vero che questo dispositivo dispone di più porte di collegamento, ognuna con un ip per ciascuna rete.

Bene caro Elvis, come avrai notato, l'argomento "rete" è piuttosto complesso, speriamo di esserti stati d'aiuto, ma se ancora non ti fosse chiaro, prova a vedere sul tubo il nostro tutorial, oppure vedi il video sul nostro profilo instagram. Per qualsiasi cosa, sai che siamo sempre a disposizione.

1.796 visualizzazioni0 commenti

Post recenti

Mostra tutti
bottom of page