Logo NEXUS

NEXUS didattica

← Torna indietro
Informatica / Lezione Teorica

Il Protocollo TCP (Transmission Control Protocol)

Affidabilità a livello di trasporto, gestione della connessione tramite Three-Way Handshake, controllo di flusso e simulatore interattivo.

1. Cos'è il Protocollo TCP

Il TCP (Transmission Control Protocol) è uno dei protocolli fondamentali della suite Internet, operante al Livello 4 (Transport) del modello OSI. A differenza del protocollo UDP, il TCP è orientato alla connessione (connection-oriented) e garantisce una consegna dei dati affidabile, ordinata e priva di errori tra le applicazioni.

Caratteristiche Principali:
    Affidabilità: Gestisce la ritrasmissione dei pacchetti smarriti o corrotti tramite riscontri (ACK).
    Controllo di Flusso e Congestione: Evita che un mittente veloce saturi un destinatario lento o che la rete subisca colli di bottiglia.

2. Il Three-Way Handshake (Apertura della Connessione)

Prima di iniziare lo scambio effettivo dei dati, client e server stabiliscono una sessione sicura sincronizzando i numeri di sequenza attraverso una procedura a tre fasi:

Fase Messaggio / Flag Descrizione del Meccanismo
1. SYN [SYN] Seq=x Il client invia un pacchetto di sincronizzazione iniziale al server per richiedere la connessione.
2. SYN-ACK [SYN, ACK] Seq=y, Ack=x+1 Il server risponde confermando la ricezione (ACK) e inviando a sua volta il proprio numero di sequenza (SYN).
3. ACK [ACK] Seq=x+1, Ack=y+1 Il client invia l'ultimo riscontro di conferma. La connessione è stabilita e lo scambio dati può avere inizio.

3. Chiusura della Connessione (Four-Way Handshake)

La terminazione di una sessione TCP avviene in modo simmetrico tramite l'utilizzo dei flag FIN e ACK. Ciascuna delle due parti può chiudere indipendentemente la propria direzione di invio dei dati quando la comunicazione risulta completata.

4. Simulatore Interattivo: Handshake e Trasmissione Dati TCP

Simula l'instaurazione di una connessione TCP e l'invio sicuro di pacchetti con riscontro di ricezione.

tcp-stack@nexus-sys:~# TCP Session & Handshake Simulator
> Seleziona un'operazione TCP e avvia la simulazione per visualizzare lo scambio di segmenti sul terminale.