📡

Protocolli di trasporto TCP e UDP

Oct 9, 2024

Analisi dei protocolli di trasporto: TCP e UDP

Introduzione ai protocolli di trasporto

  • Necessità dei protocolli di trasporto nella rete Internet.
  • Riferimento allo stack TCP/IP: 5 livelli:
    1. Livello applicazione
    2. Livello di trasporto
    3. Livello di rete
    4. Livello di collegamento
    5. Livello fisico
  • Funzione del livello di trasporto: permettere a più applicazioni di utilizzare la stessa connessione Internet.
  • Utilizzo di porte per la moltiplicazione delle connessioni:
    • Numero di porta: codificato su 16 bit (da 0 a 65535).
    • Alcune porte sono riservate (es. porta 80 per il web, porta 25 per la posta).

Protocollo TCP (Transfer Control Protocol)

  • Affidabile e orientato alla connessione.
  • Processo di connessione:
    1. Mittente invia un messaggio di richiesta di connessione.
    2. Destinatario risponde confermando la disponibilità.
    3. Mittente invia messaggio di inizio trasmissione.
  • Meccanismo di Delivery Acknowledgement:
    • Ricevuta inviata dal destinatario per confermare la ricezione.
    • Se non ricevuta, il mittente ritrasmette il dato.
  • Funzione di riordino dei pacchetti:
    • TCP riordina i pacchetti ricevuti in ordine errato.
  • Controllo della congestione:
    • TCP rallenta l'invio dei pacchetti in caso di congestione.
  • Controllo degli errori:
    • Utilizzo del checksum per verificare l'integrità dei pacchetti.
    • Ritrasmissione dei pacchetti danneggiati.
  • Svantaggi del TCP:
    • Header ingombrante (20 byte).
    • Potenziale rallentamento delle comunicazioni in caso di congestione.

Protocollo UDP (User Datagram Protocol)

  • Protocollo più snello rispetto al TCP.
  • Non richiede stabilire una connessione prima della trasmissione dei dati.
  • Meno affidabile di TCP:
    • Non verifica la presenza di errori nei pacchetti.
    • Non ritrasmette pacchetti non consegnati.
  • Vantaggi dell'UDP:
    • Header più piccolo (8 byte).
    • Trasmissione dei dati istantanea senza creazione di connessione.
    • Maggior controllo sul tempo di invio dei dati.

Confronto tra TCP e UDP

  • TCP:
    • Lento ma molto affidabile.
    • Adatto per applicazioni dove l'integrità dei dati è cruciale (es. trasferimento file, SSH).
  • UDP:
    • Veloce ma meno affidabile.
    • Adatto per applicazioni real-time in cui la velocità è prioritaria (es. DNS Lookup, telefonia e videotelefonia).
  • Differenza concettuale:
    • UDP è message-oriented (gestione dei dati a carico del livello applicativo).
    • TCP è stream-oriented (trasmette grandi flussi di dati).