Protocolli di rete e architettura a livelli

Questa lezione introduce il concetto dei protocolli di rete e architettura a livelli, spiegandolo come un insieme di regole che permette a dispositivi e software diversi di comunicare correttamente.

Il testo mostra come i protocolli definiscano formato dei messaggi, ordine dello scambio, gestione degli errori e interoperabilità tra sistemi differenti.
Viene poi spiegata l’organizzazione delle reti in livelli o strati, in cui ogni livello offre servizi a quello superiore e comunica con il livello corrispondente dell’altro dispositivo.

La lezione presenta inoltre l’architettura a livelli di Internet — applicazione, trasporto, rete, link e fisico — e introduce il concetto di incapsulamento, cioè il processo con cui ogni livello aggiunge un proprio header ai dati ricevuti dal livello superiore.

Protocolli di rete

Un protocollo di rete è un insieme di regole che stabilisce come due o più dispositivi devono comunicare tra loro. Queste regole definiscono il formato dei messaggi, l’ordine in cui vengono scambiati e il comportamento da seguire in caso di errori o risposte mancanti (International Telecommunication Union [ITU], 1994; Kurose & Ross, 2026).
Un protocollo di comunicazione si può definire come un insieme di regole che vengono stabilite per instaurare una comunicazione corretta: ad esempio, due persone di madrelingua diversa potrebbero mettersi d’accordo nell’utilizzo della lingua inglese per comunicare.
In particolare, un protocollo prevede la definizione dei linguaggi costituiti dai messaggi scambiati, messaggi che devono potersi interpretare correttamente (ITU, 1994).

L’aderenza ai protocolli garantisce che due software in esecuzione su diverse macchine possano comunicare efficacemente, anche se sono stati realizzati indipendentemente; i protocolli garantiscono cioè l’interoperabilità (Braden, 1989; Carpenter, 1996).
L’interoperabilità è la capacità di un sistema o di un prodotto informatico di cooperare e di scambiare informazioni o servizi con altri sistemi o prodotti (Braden, 1989). 
L’obiettivo dell’interoperabilità è dunque facilitare l’interazione fra sistemi differenti.

L’implementazione informatica dei protocolli di rete definisce, all’interno dell’architettura di rete, il cosiddetto software di rete, implementato da software e hardware: il sistema operativo, i driver di rete, le applicazioni e, per alcuni compiti, anche la scheda di rete (Braden, 1989).

Per diminuire la complessità, la maggior parte delle reti è organizzata in una pila di protocolli (layer) o strati, costruiti uno sull’altro (ITU, 1994; Kurose & Ross, 2026).
Ogni livello offre servizi al livello superiore e nasconde i dettagli tecnici di come quei servizi vengono realizzati (ITU, 1994).

Quando il livello n all’interno di un computer è in comunicazione con il livello n di un altro computer, le regole e le convenzioni usate in questa comunicazione sono globalmente note come protocolli del livello (ITU, 1994). 
Le entità che formano i livelli di pari grado sui diversi computer sono chiamate peer (ITU, 1994). 
In altri termini, sono i peer che comunicano fra di loro usando un protocollo (ITU, 1994).
Se il livello n di un computer deve comunicare con il livello n di un altro computer, il mittente passa le informazioni al livello n-1 fino a raggiungere il livello più basso, solitamente quello fisico, dove effettivamente c’è il trasferimento delle informazioni. Queste passano poi attraverso i livelli del destinatario fino ad arrivare al livello n (ITU, 1994).
L’insieme dei livelli e dei protocolli si chiama architettura di rete (ITU, 1994).

Esempio
Per comprendere i meccanismi basilari di funzionamento dell’architettura di rete si può pensare alla seguente analogia: un filosofo indiano vuole conversare con un filosofo africano, ma i due non parlano la stessa lingua.
Ciascun filosofo si affida allora a un traduttore: i due traduttori si accordano per usare l’inglese come lingua comune. 
Ciascun traduttore, a sua volta, consegna il testo alla propria segretaria, e le due segretarie si accordano per trasmetterlo via fax.
La comunicazione avviene quindi così: il filosofo indiano esprime la sua idea al proprio traduttore; il traduttore la converte in inglese e la passa alla segretaria; la segretaria la invia via fax. 
Dall’altra parte, la segretaria riceve il fax e lo consegna al traduttore, che traduce il testo dall’inglese nella lingua del filosofo africano e glielo consegna.
Ogni livello dialoga idealmente con il suo pari: i filosofi si scambiano idee, i traduttori si scambiano testi in inglese, le segretarie si scambiano fax. In realtà, però, nessun livello comunica direttamente con l’altro capo: ogni livello passa il messaggio al livello inferiore, finché la trasmissione fisica avviene al livello più basso.
Da notare che la comunicazione non potrebbe esistere senza un accordo tra i pari di ogni livello: l’inglese tra i traduttori, il fax tra le segretarie. Questi accordi sono i protocolli. Ogni livello, inoltre, può cambiare il proprio accordo senza disturbare gli altri: se i traduttori passassero dall’inglese al francese, o le segretarie dal fax all’email, i filosofi non se ne accorgerebbero nemmeno (ITU, 1994).

Internet è strutturato in questi livelli in questo ordine (Kurose & Ross, 2026):

  • Livello di applicazione.
  • Livello di trasporto.
  • Livello rete.
  • Livello link.
  • Livello fisico.

Quando i dati passano da un livello a quello inferiore, vengono incapsulati. Questo significa che ogni livello prende i dati ricevuti dal livello superiore e aggiunge un proprio header, cioè una parte iniziale con informazioni di controllo (Kurose & Ross, 2026).

Il contenuto ricevuto dal livello superiore diventa il payload, cioè il carico utile, della nuova unità di dati. In questo modo, ogni livello aggiunge le informazioni necessarie per svolgere il proprio compito (Kurose & Ross, 2026).

Questa nuova unità diventa il pacchetto da trasmettere al livello sottostante (Kurose & Ross, 2026).

Elementi chiave

  • Un protocollo di rete è un insieme di regole che definisce come i dispositivi comunicano.
  • Stabilisce formato, ordine dei messaggi e comportamento in caso di errori o risposte mancanti.
  • I protocolli garantiscono l’interoperabilità tra sistemi e software differenti.
  • Per ridurre la complessità, le reti sono organizzate in livelli o strati.
  • Ogni livello offre servizi a quello superiore e nasconde i dettagli del proprio funzionamento.
  • Le entità dello stesso livello su dispositivi diversi sono dette peer e comunicano idealmente tramite lo stesso protocollo.
  • L’insieme di livelli e protocolli forma l’architettura di rete.
  • Internet utilizza cinque livelli: applicazione, trasporto, rete, link e fisico.
  • I dati attraversano i livelli fino a quello fisico e poi risalgono i livelli del destinatario.

Scarica pdf della lezione

  • Braden, R. (Ed.). (1989). Requirements for Internet Hosts—Communication Layers (RFC 1122). RFC Editor. https://doi.org/10.17487/RFC1122
  • Carpenter, B. (Ed.). (1996). Architectural principles of the Internet (RFC 1958). RFC Editor. https://doi.org/10.17487/RFC1958
  • International Telecommunication Union. (1994). Information technology—Open Systems Interconnection—Basic Reference Model: The basic model (Recommendation ITU-T X.200). https://www.itu.int/rec/T-REC-X.200-199407-I/en
  • Kurose, J. F., & Ross, K. W. (2026). Computer networking: A top-down approach (9th ed.). Pearson. https://www.pearson.com/en-us/subject-catalog/p/computer-networking-a-top-down-approach/P200000013385/9780135415603
  • James F. Kurose e Keith W. Ross, Reti di calcolatori e Internet. Un approccio top-down, 8ª ed., Pearson, 2022 — Spiega l’architettura a livelli di Internet, le relazioni tra protocolli e servizi e il processo di incapsulamento con un percorso che parte dalle applicazioni.
  • Behrouz A. Forouzan e Firouz Mosharraf, Reti di calcolatori, 2ª ed., a cura di Gaia Maselli, McGraw-Hill Education, 2024 — Presenta in modo visuale i protocolli dei diversi livelli e chiarisce il rapporto tra servizi, comunicazione logica e trasferimento effettivo dei dati.
  • Andrew S. Tanenbaum, Nick Feamster e David J. Wetherall, Reti di calcolatori, 6ª ed., Pearson, 2023 — Approfondisce l’organizzazione stratificata delle reti, il modello OSI, la suite TCP/IP e le funzioni svolte dai protocolli di ciascun livello.
  • Douglas E. Comer, Internetworking con TCP/IP. Vol. 1: principi, protocolli e architetture, 5ª ed., Pearson, 2006 — Analizza in dettaglio la famiglia TCP/IP, mostrando come i protocolli cooperano per indirizzamento, instradamento e trasporto dei dati.
  • Fred Halsall, Networking e Internet, 5ª ed., Pearson, 2006 — Collega i fondamenti della trasmissione digitale all’architettura e ai protocolli di Internet, con esempi ed esercizi utili a consolidare i concetti.

Due programmi che non riescono a comunicare

Due aziende sviluppano separatamente due applicazioni che devono scambiarsi dati attraverso Internet.

  • L’applicazione A invia i messaggi nel seguente formato: COMANDO → IDENTIFICATIVO → DATI
  • L’applicazione B si aspetta invece: IDENTIFICATIVO → DATI → COMANDO

Inoltre, A invia immediatamente un nuovo messaggio se non riceve risposta entro cinque secondi, mentre B interpreta il silenzio come conclusione della comunicazione.

Analizza la situazione.

  • Spiega perché il semplice fatto che i due computer siano collegati alla rete non garantisce che le applicazioni possano comunicare correttamente.
  • Individua almeno due regole di comunicazione sulle quali i due programmi devono accordarsi.
  • Spiega quale funzione svolge un protocollo di rete nella situazione descritta.
  • Collega il problema al concetto di interoperabilità.
  • Spiega perché due programmi sviluppati da aziende differenti possono comunque comunicare se implementano correttamente lo stesso protocollo.
  • Proponi un insieme minimo di regole che permetterebbe alle due applicazioni di comunicare correttamente.

Il messaggio attraversa i livelli

Un browser deve inviare una richiesta a un server web.
Considera l’architettura descritta nella dispensa:
Applicazione → Trasporto → Rete → Link → Fisico

Ricostruisci il viaggio dei dati.

  • Indica da quale livello ha origine la richiesta prodotta dal browser.
  • Spiega perché il livello di applicazione non trasmette direttamente i dati attraverso il mezzo fisico.
  • Descrivi cosa accade quando i dati vengono passati progressivamente ai livelli inferiori.
  • Spiega che cosa significa incapsulamento.
  • Spiega la differenza tra header e payload durante il processo di incapsulamento.
  • Immagina che il messaggio originale sia M: rappresenta in modo semplificato come può cambiare aggiungendo gli header dei diversi livelli.
  • Una volta raggiunto il computer destinatario, descrivi in quale direzione devono attraversare i livelli i dati per arrivare all’applicazione server.
  • Spiega perché, anche se il livello di applicazione del client comunica idealmente con il livello di applicazione del server, i dati devono in realtà attraversare tutti i livelli inferiori.

Cambiare una tecnologia senza cambiare tutto il sistema

Un’applicazione funziona correttamente su due computer collegati tramite una determinata tecnologia di rete.
Successivamente l’infrastruttura viene modificata: cambia una tecnologia utilizzata nei livelli inferiori, ma l’applicazione continua a funzionare senza essere riscritta.

Analizza perché ciò è possibile.

  • Spiega quale vantaggio offre organizzare la rete come una pila di protocolli.
  • Spiega che cosa significa che ogni livello offre servizi al livello superiore nascondendo i dettagli della propria implementazione.
  • Collega la situazione all’analogia dei filosofi, traduttori e segretarie utilizzata nella dispensa.
  • Nell’analogia, immagina che le segretarie sostituiscano il fax con un altro sistema di comunicazione compatibile tra loro. Spiega perché i filosofi possono continuare a comunicare senza conoscere questo cambiamento.
  • Spiega cosa si intende per peer all’interno di un’architettura a livelli.
  • Individua quali componenti sono peer se consideriamo il livello di trasporto presente su due computer differenti.
  • Spiega perché i peer dello stesso livello comunicano idealmente tra loro attraverso un protocollo, ma il trasferimento effettivo dei dati avviene passando attraverso i livelli inferiori.
  • Usa il caso descritto per spiegare perché la suddivisione in livelli riduce la complessità di progettazione e modifica di una rete.

Per la realizzazione di questi materiali ho utilizzato strumenti di intelligenza artificiale generativa come supporto alla scrittura, in particolare per migliorare la forma del testo, riorganizzare i contenuti, correggere la formulazione e velocizzare alcune attività redazionali.

Lavorando autonomamente alla produzione di questi materiali, cerco infatti di automatizzare tutte le attività che possono esserlo, così da poter dedicare più tempo alla ricerca, alla progettazione e allo sviluppo dei contenuti.

L’intelligenza artificiale non determina però i contenuti dell’opera: la scelta degli argomenti, la struttura, le idee, le interpretazioni, gli esempi e l’impostazione didattica sono elaborati da me. L’IA viene quindi utilizzata principalmente come strumento di supporto alla produzione e alla revisione formale, mentre la responsabilità autoriale e progettuale dei contenuti rimane mia.

Salvo diversa indicazione, questo materiale è distribuito con licenza Creative Commons Attribuzione – Non commerciale – Condividi allo stesso modo 4.0 Internazionale (CC BY-NC-SA 4.0).

È quindi possibile condividere, ridistribuire, modificare e creare opere derivate a partire dal materiale, a condizione di attribuirne correttamente la paternità, di non utilizzarlo per scopi commerciali e di distribuire eventuali versioni modificate o derivate con la stessa licenza.

Vuoi aiutarmi a scrivere articoli come questo?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

No responses yet

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à.

Support the project

All the materials I share stem from a very simple conviction: good training should not be limited to teaching which buttons to press, but should help people understand the ideas, principles, and processes behind the tools.

That is why I dedicate a significant portion of my time to researching, organizing, and producing free content focused on multimedia, design, and visual communication—articles, lessons, in-depth analyses, and resources aimed at making accessible topics that are often addressed in a fragmented or superficial way.

However, this work requires time, research, and care. Every guide, video, and piece of material published for free is the result of many hours of study, writing, and revision.
Supporting the project via Patreon enables me to continue producing high-quality educational content, keep it accessible to as many people as possible, and devote more energy to building a resource that benefits students, professionals, and enthusiasts alike.

If you believe that a deeper, more rigorous, and informed understanding of multimedia is valuable, your contribution does more than just support my work: it helps make these resources available to the entire community.
Thank you for your support and trust.

Is Patreon too demanding?

You can also support me with a voluntary donation—no subscription or commitment required.

Even a small contribution helps me continue creating games, educational content, and free materials with greater freedom.