L’importanza dei protocolli nella comunicazione di rete

Perché servono regole nella comunicazione?

La comunicazione tra computer, così come tra persone, richiede regole ben definite. Quando parliamo, ci assicuriamo di seguire:

  • Una sintassi (costruzione corretta delle frasi).
  • Una semantica (significato coerente delle parole).
  • Una sincronizzazione (rispettare i turni di parola).

Un esempio di mancato rispetto di queste regole? Leggiamo questa frase:
“Vado a mangiare Samuele”
Interpretandola correttamente con una virgola ben posizionata, diventa:
“Vado a mangiare, Samuele.” usa la virgola, salvami!

Allo stesso modo se dico “rete” a un pescatore, penserà a una rete da pesca, mentre in un contesto informatico si riferisce a un insieme di computer connessi. Senza un contesto chiaro, il significato diventa ambiguo.

Ancora, durante una lezione a scuola, se parliamo tutti contemporaneamente o interrompiamo continuamente l’altro, non riusciamo a comunicare efficamente. Allo stesso modo, nei computer è fondamentale che ci sia un coordinamento nel trasmettere e ricevere dati.

Nei sistemi di rete accade lo stesso: se non ci fossero regole chiare, i computer non potrebbero “capirsi”. Queste regole condivise prendono il nome di protocolli.


Cosa sono i protocolli?

Un protocollo definisce il formato, il significato e l’ordine dei messaggi scambiati tra due o più dispositivi di rete, così come le azioni da intraprendere in base a tali messaggi. Queste regole coprono ogni aspetto della trasmissione, dall’organizzazione dei dati alla loro interpretazione, assicurando che mittente e destinatario parlino la stessa “lingua”.

I protocolli stabiliscono quindi tra le cose:

  • Come strutturare i dati: Ad esempio, un messaggio viene diviso in pacchetti con intestazioni e dati.
  • Indirizzi: Ogni pacchetto deve includere l’indirizzo del mittente e del destinatario, per essere correttamente instradato.
  • Rilevamento degli errori: Meccanismi come il controllo di ridondanza ciclica (CRC) garantiscono che i dati ricevuti siano integri.
  • Gestione di perdite o ritardi: I protocolli possono prevedere ritrasmissioni in caso di mancata consegna o timeout.

L’organizzazione dei protocolli in uno stack

Per gestire la complessità della comunicazione nelle reti moderne, i protocolli sono organizzati in livelli, formando uno stack protocollare. Ogni livello è progettato per svolgere una funzione specifica e ci si basa sui seguenti principi:

  • Indipendenza: Ogni livello opera come una “scatola nera”, senza preoccuparsi di come funzionano gli altri livelli, sa che loro faranno il loro lavoro correttamente.
  • Modularità: Ogni livello può essere migliorato o sostituito senza alterare il funzionamento generale.
  • Complementarità: Livelli differenti lavorano insieme per completare il processo di comunicazione.
  • Alternatività: All’interno dello stesso livello possono esserci protocolli alternativi, scelti in base alle necessità (es. TCP per comunicazioni affidabili, UDP per trasmissioni veloci).

Isolamento e comunicazione tra livelli

Un aspetto chiave dello stack protocollare è che ogni livello comunica direttamente con il livello corrispondente nella pila dell’altro dispositivo, come se interagissero “faccia a faccia”. Tuttavia, questa comunicazione è indiretta: passa attraverso i livelli inferiori dello stack.

Ad esempio, quando un mittente invia un messaggio:

  1. Livello applicazione: Il messaggio viene preparato, come una lettera da scrivere.
  2. Livello trasporto: La lettera viene suddivisa in buste, numerate e pronte per essere spedite.
  3. Livello rete: Ogni busta riceve un indirizzo IP per il destinatario.
  4. Livello fisico: Le buste viaggiano fisicamente verso il destinatario.

Sul lato del destinatario, il processo viene invertito (decapsulamento), come se ogni livello “riottenesse” il proprio contenuto.

Un esempio pratico: il viaggio di un messaggio

Immaginiamo che tu voglia inviare una mail. Ecco come i protocolli dello stack intervengono:

  1. Livello applicazione: Scrivi il messaggio nella tua app di posta elettronica. Il protocollo SMTP (Simple Mail Transfer Protocol) si occupa di formattare e inviare il messaggio.
  2. Livello trasporto: Il messaggio viene diviso in pacchetti, e il protocollo TCP garantisce che arrivino nell’ordine corretto.
  3. Livello di rete: Ogni pacchetto riceve un indirizzo IP del destinatario e viaggia attraverso la rete, guidato dai router.
  4. Livello fisico: I pacchetti vengono trasmessi come segnali attraverso cavi, fibre ottiche o onde radio.

Quando il destinatario riceve la mail, il processo viene invertito (decapsulamento), ricostruendo il messaggio originale.

Stack Protocollare


Vantaggi di uno stack protocollare

  • Interoperabilità: Dispositivi di diversi produttori possono comunicare, perché seguono gli stessi protocolli.
  • Modularità: Ogni livello può essere aggiornato o migliorato senza modificare l’intero sistema.
  • Scalabilità: Le reti possono crescere e adattarsi, integrando nuovi dispositivi e tecnologie.

Protocolli e vita quotidiana

Ogni volta che invii un messaggio, fai una ricerca online o guardi un video in streaming, stai usando decine di protocolli in modo invisibile. Ad esempio:

  • HTTP/HTTPS per caricare pagine web.
  • DNS per tradurre i nomi dei siti web (es. google.com) in indirizzi IP (capiremo cosa sono).
  • TCP/UDP per gestire la trasmissione dei dati.