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