Handshake TCP a tre vie (SYN, SYN-ACK,ACK)

Che cos'è l'handshake a tre vie TCP?

Stretta di mano a tre vie o un TCP 3-way handshake è un processo utilizzato in una rete TCP/IP per stabilire una connessione tra il server e il client. È un processo in tre fasi che richiede sia al client che al server di scambiare pacchetti di sincronizzazione e di conferma prima che inizi il vero processo di comunicazione dei dati.

Il processo di handshake a tre vie è progettato in modo tale che entrambe le estremità ti aiutino ad avviare, negoziare e separare le connessioni socket TCP allo stesso tempo. Ti consente di trasferire più connessioni socket TCP in entrambe le direzioni contemporaneamente.

Tipi di messaggi TCP

Messaggio RICHEDI PREVENTIVO
Syn Utilizzato per avviare e stabilire una connessione. Aiuta anche a sincronizzare i numeri di sequenza tra dispositivi.
ACK Aiuta a confermare all'altra parte di aver ricevuto il SYN.
SIN-ACK Messaggio SYN dal dispositivo locale e ACK del pacchetto precedente.
END Utilizzato per terminare una connessione.

Processo di handshake a tre vie TCP

Il traffico TCP inizia con un handshake a tre vie. In questo processo di handshake TCP, un client deve avviare la conversazione richiedendo una sessione di comunicazione con il server:

Processo di handshake a tre vie
Diagramma dell'handshake a 3 vie
  • Passo 1: Nella prima fase il client stabilisce una connessione con un server. Invia un segmento con SYN e informa il server riguardo al client che dovrebbe iniziare la comunicazione e con quale dovrebbe essere il suo numero di sequenza.
  • Passo 2: In questo passo server risponde alla richiesta del client con il segnale SYN-ACK impostato. ACK ti aiuta a indicare la risposta del segmento che viene ricevuta e SYN indica quale numero di sequenza dovrebbe iniziare con i segmenti.
  • Passo 3: In questo passaggio finale, il client riconosce la risposta del server ed entrambi creano una connessione stabile e inizieranno l'effettivo processo di trasferimento dei dati.

Esempio del mondo reale

Esempio del mondo reale

Ecco un semplice esempio del processo di handshake a tre vie che consiste in tre passaggi:

  • L'host X inizia la connessione inviando il pacchetto TCP SYN alla destinazione host. I pacchetti contengono un numero di sequenza casuale (ad esempio, 4321) che indica l'inizio dei numeri di sequenza per i dati che l'Host X deve trasmettere.
  • Successivamente, il Server riceverà il pacchetto e risponderà con il suo numero di sequenza. La sua risposta include anche il numero di riconoscimento, ovvero il numero di sequenza dell'Host X incrementato di 1 (qui è 4322).
  • L'Host X risponde al server inviando il numero di riconoscimento che è principalmente il numero di sequenza del server che viene incrementato di 1.

Una volta terminato il processo di trasmissione dei dati, TCP termina automaticamente la connessione tra due endpoint separati.

Sintesi

  • L'handshake a 3 vie TCP o l'handshake a tre vie o l'handshake a 3 vie TCP è un processo utilizzato in un Rete TCP/IP per stabilire una connessione tra server e client.
  • Syn utilizzare per avviare e stabilire una connessione
  • ACK aiuta a confermare all'altra parte di aver ricevuto il SYN.
  • SYN-ACK è un messaggio SYN dal dispositivo locale e ACK del pacchetto precedente.
  • FIN viene utilizzato per terminare una connessione.
  • Processo di handshake TCP, un client deve avviare la conversazione richiedendo una sessione di comunicazione con il server
  • Nella prima fase il client stabilisce una connessione con un server
  • In questa seconda fase, il server risponde alla richiesta del client con il segnale SYN-ACK impostato
  • In questa fase finale, il client riconosce la risposta del Server
  • TCP termina automaticamente la connessione tra due endpoint separati.