Three-way Handshake (Handshake de três vias).
Handshake de três vias, é responsável pelo estabelecimento de conexões no TCP.
ACK = Acknowledgement (Reconhecimento)
SYN = Synchronize (Sincronizar)
Estabelecimento de conexões
1. O cliente envia um pacote com a flag SYN ativa;
2. O servidor responde com um pacote com as flags SYN + ACK;
3. O cliente reponde com um pacote ACK.
Traduzindo
1. Cliente: Servidor, estou enviando a mensagem 100 (Número de sequência do cliente). Dá pra sincronizar (SYN)?
2. Servidor: Claro, sincroniza a mensagem 200 (Número de sequência do servidor) que estou enviando (SYN). Prossiga com a mensagem 101 (ACK).
3. Cliente: Ok, estou enviando a mensagem 101. Prossiga com a mensagem 201 (ACK).
O cliente e o servidor, possuem números de sequência distintos, por este motivo faz-se necessária a sincronização em ambos os sentidos.
Feita a sincronização, começam a troca de pacotes com base em números de sequência, que tem o objetivo de enumerar as pacotes de cada um.