venerdì 26 settembre 2014

Come Funziona Internet ?



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