Networking Basics – Tutorial 3: Il Livello di Trasporto: TCP, UDP e Gestione delle Porte

Tutorial Networking Basics - Antonio Parisi
Obiettivo del tutorial: Esplorare in dettaglio il Livello 4 (Trasporto) del modello OSI, comprendendo il funzionamento dei protocolli di comunicazione end-to-end (TCP e UDP) e l’importanza delle porte di rete per smistare il traffico verso le applicazioni corrette.

1. Il Ruolo del Livello di Trasporto

Nel primo tutorial abbiamo visto che il Livello 3 (Rete) si occupa di far viaggiare i pacchetti da un computer all’altro attraverso router globali (usando gli indirizzi IP). Ma una volta che il pacchetto arriva sul computer di destinazione, come fa a sapere quale programma o applicazione deve riceverlo?
A questo pensa il Livello 4 (Trasporto). Questo livello garantisce la comunicazione logica tra le singole applicazioni in esecuzione sui dispositivi host, gestendo la segmentazione dei dati, il controllo del flusso e la consegna corretta.

2. TCP (Transmission Control Protocol): Affidabilità e Connessione

Il TCP è il protocollo di trasporto più utilizzato per le applicazioni che richiedono una precisione assoluta, come la navigazione web (HTTP/HTTPS), l’invio di email (SMTP) o il trasferimento di file (FTP).
Le caratteristiche principali del TCP includono:
  • Orientato alla connessione (Connection-oriented): Prima di inviare qualsiasi dato, stabilisce una connessione ufficiale tra mittente e destinatario attraverso un processo noto come Three-way Handshake (stretta di mano a tre vie).
  • Affidabilità e controllo degli errori: Se un pacchetto si perde durante il viaggio, il TCP si accorge della mancanza e richiede il reinvio immediato del pacchetto danneggiato o perduto.
  • Ordinamento dei pacchetti: I dati vengono numerati; se arrivano fuori ordine a causa di percorsi diversi nella rete, il TCP li ricompone nell’sequenza corretta prima di passarli all’applicazione.

3. UDP (User Datagram Protocol): Velocità e Sveltezza

A differenza del TCP, l’UDP è un protocollo “senza connessione” (connectionless) e minimale. Non perde tempo a stabilire una connessione formale e non verifica se i pacchetti arrivano a destinazione.
È la scelta ideale per le applicazioni in tempo reale dove una perdita occasionale di dati è preferibile a un ritardo (lag):
  • Streaming video e audio: Se un singolo fotogramma di una videochiamata o di una diretta streaming va perso, è meglio saltarlo che bloccare l’intero flusso per aspettare il recupero.
  • Gaming online: I giochi multigiocatore sfruttano l’UDP per trasmettere la posizione dei giocatori in tempo reale con la minima latenza possibile.
  • DNS (Domain Name System): Interrogazioni rapide e leggere per risolvere i nomi dei siti web.

4. Il Concetto di “Porte” di Rete (Port Numbers)

Se l’indirizzo IP è paragonabile al palazzo in cui risiede un’applicazione, le Porte sono i singoli appartamenti o interni di quel palazzo. Una porta è un indirizzo logico numerico (da 0 a 65535) che permette al sistema operativo di capire a quale software specifico recapitare i dati in arrivo.
Esistono tre categorie principali di porte:
  • Porte Fisse o Ben Note (Well-Known Ports, da 0 a 1023): Riservate ai servizi di rete standard e universali. Ad esempio:
    • Porta 80: HTTP (traffico web non cifrato)
    • Porta 443: HTTPS (traffico web sicuro)
    • Porta 21: FTP (trasferimento file)
    • Porta 22: SSH (accesso sicuro da riga di comando)
  • Porte Registrate (Registered Ports, da 1024 a 49151): Utilizzate da applicazioni e software di terze parti (es. database o giochi).
  • Porte Dinamiche o Private (Dynamic/Ephemeral Ports, da 49152 a 65535): Assegnate temporaneamente dal sistema operativo quando un client apre una connessione verso un server.
Antonio Parisi

Antonio Parisi

Cloud Solution Architect



Torna in alto