Ci ritroviamo per parlare di un argomento decisamente speciale, tanto conosciuto e diffuso universalmente quanto incompreso nelle sue basi tecniche e teoriche: Internet.
Per
cominciare, che cos’è Internet? Non è nient'altro che una che una
rete di calcolatori
diversamente specializzati in grado di comunicare tra loro. I
principali dispositivi che costituiscono Internet sono:
-
Gli host, un termine generico utilizzato per descrivere gli estremi della rete. In poche parole gli host sono i punti interessati come destinatari o mittenti dell'informazione. I server e i client sono entrambi host.
-
I router, apparecchi dedicati alla propagazione e al corretto instradamento dell'informazione.
-
I server, ideati sopperire una grande quantità di richieste da parte dei client.
-
I client, cioè i nostri computer, smartphone o tablet che si collegano in rete per ottenere i servizi da un server (chat, download, mail, etc...).
Per
permettere ai dispositivi appena citati di comunicare in rete è
necessario stabilire sia dei collegamenti fisici sia una serie di
protocolli specifici. La stratificazione
di questi protocolli è la chiave per comprendere Internet:
costituisce una scelta ben precisa di tipo ingegneristico che
permette di sviluppare ogni aspetto della rete in modo indipendente e
parallelo.
Dobbiamo
immaginare i livelli di Internet come parti di una matriosca, nel
cuore della quale è inserito il primo livello. Ogni altro livello
successivo, via via più esterno, costituisce strato per strato
l'involucro della bambola, così da determinare le proprietà di
propagazione dei dati. Questo principio è detto
incapsulamento dei dati. A ogni nodo della rete, poi, la
matriosca viene smontata e rimontata per determinare come il
messaggio deve essere recapitato alla sua destinazione finale.
Nel
corso di questo episodio descriveremo sinteticamente i 5 livelli
che caratterizzano Internet.
1)
Il livello applicazione
si occupa di gestire i dati che client e server si scambiano per
ottenere determinati tipi di servizi. Ad
esempio i messaggi mail, le richieste di pagine web oppure i
trasferimenti dati FTP.
2)
Il livello Trasporto si
occupa di connettere gli host e determinare come vogliono comunicare.
Viene incapsulato il messaggio del livello applicazione, quindi viene
impostato un indirizzo IP per contattare il server di destinazione, e
un numero di porta, per identificare univocamente il tipo di
comunicazione.
Tra
i protocolli principali utilizzati a livello trasporto abbiamo TCP e
UDP. La sostanziale differenza tra i due consiste nel fatto che UDP
è molto leggero e veloce ma non garantisce alcuna garanzia che il
messaggio venga consegnato. Al contrario, TCP offre la
garanzia che tutti i messaggi vengano consegnati, comportando
tuttavia costi aggiuntivi in termini di prestazioni. TCP è
necessario quando non sono ammessi errori nella comunicazione, come
nel caso dei trasferimenti dati. Diversamente, è utile implementare
UDP quando serve ottenere latenze ridotte al minimo, come nel caso di
telefonate VoIP o streaming multimediali.
3)
Il livello Rete si occupa
delle metodologie per identificare i vari dispositivi che partecipano
a Internet e determinare tramite appositi algoritmi i percorsi
migliori per trasferire i messaggi.
Il
modo in cui vengono identificate le macchine all'interno di una rete
è detto indirizzo IP. Attualmente il protocollo IP più utilizzato è
chiamato IPv4 e, per esprimere un indirizzo, prevede un numero a 32
bit diviso in ottetti (32 cifre binarie divise in 4 gruppi). Per
convenzione, tale indirizzo non è espresso in bit ma in notazione
decimale puntata (i quattro numeri binari vengono convertiti in
decimale). Un numero IP può essere privato o pubblico a seconda che
sia visibile solo all'interno di una rete locale (come la nostra rete
Wifi o Ethernet) o visibile all'intera rete esterna globale. Un
esempio di indirizzo IP privato può essere 192.168.0.128, oppure
10.0.1.15, in base alla classe IP utilizzata.
Da
segnalare che con i 32 bit di IPv4 è possibile rappresentare non più
di 4 miliardi di indirizzi differenti, sembrano tanti, ma in realtà
sono molto pochi, anche se si considera soltanto l'attuale estensione
di Internet. Questo problema è stato aggirato implementando il NAT,
ma parleremo di questo argomento in un'altra occasione. IPv6 ha
esteso i suoi indirizzi a 128 bit più che sufficienti per
identificare pubblicamente qualunque dispositivo digitale per
moltissimi anni, ma per motivi economici non ha ancora sostituito, e
forse non sostituirà mai, il predecessore IPv4.
4)
Il livello Collegamento si
occupa di stabilire la comunicazione tra nodi adiacenti della rete
per il corretto trasferimento dei dati.
5)
il Livello Fisico si occupa
del trasferimento dei singoli bit ed è dipendente dal tipo di
collegamento fisico utilizzato tra un dispositivo e il successivo
(doppino di rame, fibra ottica, WiFi, etc...).
ANALOGIA
DEL FUNZIONAMENTO DI INTERNET
Possiamo
riassumere tutto quello che abbiamo spiegato finora tramite
un'analogia ben più concreta. Immaginiamo di dover spedire una
cartolina a un appartamento di un condominio di Roma. La
cartolina in questione, nel mondo di Internet, potrebbe essere la
richiesta di una pagina Web, oppure l'invio di un messaggio di
WhatsApp.
Alla
cartolina va affrancato un francobollo e l'indirizzo del
destinatario, se l'indirizzo del condominio rappresenta l'indirizzo
ip del server di destinazione, il numero dell'appartamento
rappresenta la porta di comunicazione attraverso la quale il server
si aspetta di ricevere la nostra comunicazione. Inoltre abbiamo la
possibilità di scegliere se vogliamo che la cartolina arrivi nel più
breve tempo possibile, come avviene con il protocollo di trasporto
UDP, oppure che arrivi in un tempo più lungo ma con la garanzia di
consegna, l'equivalente del protocollo TCP.
Una
volta compilata, è il momento di consegnare la cartolina al postino.
A sua volta il postino la consegna al suo ufficio postale di
riferimento. L'ufficio postale passa la cartolina ad un altro ufficio
postale, il quale deve essere il più conveniente rappresentato sulla
sua cartina speciale. La procedura si ripete fino a quando un
postino non riesce a recapitare la cartolina al condominio di Roma.
In
questa analogia l'ufficio postale svolge il compito di un router
mentre il postino rappresenta il collegamento fisico tra i nodi della
rete. La cartina speciale in possesso dall'ufficio postale è la
trasposizione della tabella di instradamento, frutto di algoritmi
specifici. Una volta ricevuta la cartolina il destinatario, leggendo
l'indirizzo del mittente, potrà risponderci.
Con
questo esempio abbiamo concluso la nostra panoramica
sull'architettura della rete di calcolatori che chiamiamo Internet.
In caso l'argomento vi interessasse potete chiederci degli approfondimenti commentando l'articolo.
Nessun commento:
Posta un commento