Internet

Ogni volta che inviamo un messaggio, guardiamo un video in streaming, apriamo un sito Web, salviamo un file nel cloud o utilizziamo un’applicazione online, stiamo utilizzando una rete.

Per l’utente, tutto questo appare semplice e quasi immediato. Un dispositivo invia una richiesta e, pochi istanti dopo, riceve una risposta. Ma tra questi due momenti interviene un sistema complesso composto da dispositivi, collegamenti fisici, protocolli, indirizzi, server, router, reti di accesso e infrastrutture distribuite su scala globale.
Comprendere una rete significa quindi andare oltre l’idea generica di “computer collegati tra loro”.
Una rete è un sistema nel quale i dati vengono suddivisi, trasmessi, instradati, controllati e ricostruiti attraverso una successione di operazioni coordinate. Ogni dispositivo coinvolto svolge un ruolo preciso e ogni livello della comunicazione affronta un problema differente: dal trasporto fisico dei bit alla consegna dei pacchetti, dall’identificazione dei dispositivi alla gestione delle connessioni, fino ai servizi utilizzati direttamente dalle applicazioni.

Questo libro nasce con l’obiettivo di costruire un modello mentale completo del funzionamento delle reti informatiche, collegando concetti che spesso vengono studiati separatamente.
Partiremo dalle basi della comunicazione digitale, osservando il ruolo dei dati e dei pacchetti e analizzando i principali modelli attraverso cui i dispositivi possono collaborare. Il modello client-server, nel quale un dispositivo richiede un servizio a un altro, e il modello peer-to-peer, nel quale i nodi possono assumere ruoli equivalenti, permettono di comprendere alcune delle architetture fondamentali dei sistemi connessi.

Da questi modelli passeremo ai sistemi distribuiti e al cloud computing, mostrando come elaborazione, archiviazione e servizi possano essere distribuiti tra più macchine e resi accessibili attraverso la rete.
Per comprendere ciò che rende possibile questa comunicazione sarà poi necessario osservare l’infrastruttura fisica. Router, switch, access point, modem, mezzi trasmissivi e dispositivi terminali costituiscono l’hardware attraverso il quale i dati possono spostarsi da un punto all’altro.

Ma i dati non percorrono necessariamente una strada diretta.
Durante il loro viaggio possono attraversare numerose reti differenti, passare attraverso router intermedi e seguire percorsi determinati dinamicamente. Analizzeremo quindi come i dati vengono suddivisi in unità trasmissibili, come vengono inoltrati e come riescono a raggiungere la destinazione corretta.
Questa prospettiva ci permetterà di passare dalle reti più piccole alle infrastrutture che compongono Internet.
Studieremo il percorso che porta dalle reti personali e locali fino alla rete globale, osservando il ruolo degli Internet Service Provider, delle reti di accesso e delle infrastrutture di interconnessione. Vedremo inoltre come funzionano le reti mobili e quelle satellitari, due esempi particolarmente significativi di come tecnologie differenti possano fornire accesso allo stesso sistema globale.
Una rete, però, non deve soltanto funzionare: deve essere anche gestita, mantenuta e protetta.
Per questo affronteremo aspetti relativi alla configurazione, alla sicurezza, all’affidabilità e alla manutenzione, insieme ai principali servizi che permettono a una rete di rimanere utilizzabile nel tempo.

Una parte centrale del libro sarà dedicata ai protocolli di rete.
La comunicazione tra dispositivi è possibile perché esistono regole condivise che stabiliscono come i dati devono essere rappresentati, inviati, ricevuti e interpretati. Per rendere gestibile questa complessità, tali funzioni vengono organizzate secondo un’architettura a livelli.
Analizzeremo quindi il livello applicativo, nel quale operano servizi come il DNS; il livello di trasporto, con protocolli come TCP, UDP e QUIC; il livello di rete, nel quale entrano in gioco gli indirizzi IP e il routing; il livello link, con frame Ethernet e indirizzi MAC; e infine il livello fisico, dove la comunicazione assume la forma concreta di bit, segnali elettrici, impulsi luminosi o onde radio.
Questa organizzazione permette di comprendere un principio fondamentale delle reti: ogni livello risolve un problema specifico e fornisce un servizio al livello superiore, senza che quest’ultimo debba conoscere tutti i dettagli di ciò che avviene più in basso.
Capire una rete significa quindi imparare a osservare contemporaneamente più scale.
Alla scala più alta vediamo applicazioni, servizi e utenti. Scendendo di livello incontriamo connessioni, porte, protocolli di trasporto, pacchetti IP, frame, indirizzi hardware e infine segnali fisici. Tutti questi elementi partecipano allo stesso processo di comunicazione, ma lo fanno con responsabilità differenti.

Infine analizzeremo la qualità del servizio, introducendo concetti come banda, latenza, jitter e ping. Una connessione, infatti, non può essere valutata soltanto chiedendosi se “funziona” oppure no. Applicazioni diverse richiedono caratteristiche diverse: trasferire un file, effettuare una videochiamata, giocare online o guardare un contenuto in streaming pongono esigenze molto differenti alla rete.
L’obiettivo di questo libro non è quindi soltanto imparare una serie di protocolli, sigle o dispositivi.
L’obiettivo è comprendere come funziona una rete come sistema.
Sapere che cosa accade quando un dispositivo invia un dato. Comprendere perché quel dato viene suddiviso in pacchetti. Capire come viene individuata una destinazione, come i router scelgono un percorso, quale ruolo svolgono TCP, UDP o QUIC, perché esistono indirizzi IP e MAC e come un segnale fisico può trasformarsi, livello dopo livello, in un servizio utilizzato da una persona.
Perché una rete non è semplicemente un insieme di dispositivi collegati.

È un sistema di cooperazione tra hardware, protocolli e servizi che permette alle informazioni di attraversare distanze, tecnologie e infrastrutture differenti fino a raggiungere la destinazione corretta.

Sostieni il progetto

Tutti i materiali che condivido nascono da una convinzione molto semplice: una buona formazione non dovrebbe limitarsi a insegnare quali pulsanti premere, ma aiutare a comprendere le idee, i principi e i processi che stanno dietro agli strumenti.

Per questo dedico una parte significativa del mio tempo a studiare, organizzare e produrre contenuti gratuiti dedicati al multimedia, al design e alla comunicazione visiva. Articoli, lezioni, approfondimenti e risorse che hanno l’obiettivo di rendere accessibili argomenti spesso affrontati in modo frammentario o superficiale.

Questo lavoro richiede però tempo, ricerca e cura. Ogni guida, ogni video, ogni materiale pubblicato gratuitamente è il risultato di molte ore di studio, scrittura e revisione.
Sostenere il progetto attraverso Patreon significa permettermi di continuare a produrre contenuti educativi di qualità, mantenerli accessibili al maggior numero possibile di persone e dedicare più energie alla costruzione di una risorsa che possa essere utile a studenti, professionisti e appassionati.

Se credi che una conoscenza più profonda, rigorosa e consapevole del multimedia abbia valore, il tuo contributo non sostiene soltanto il mio lavoro: aiuta a rendere queste risorse disponibili per tutta la comunità.
Grazie per il supporto e per la fiducia.

Patreon è troppo impegnativo?

Puoi sostenermi anche con una donazione libera, senza abbonamento e senza impegno.
Anche un piccolo contributo mi aiuta a continuare a creare giochi, contenuti didattici e materiali gratuiti con più libertà.