Entendendo o Three-way Handshake (Handshake de Três Vias)

Publicado: janeiro 02, 2011 em Redes
Tags:

Introdução

Se você é da área de redes, provavelmente já ouviu falar no Three-way Handshake (Handshake de três vias).
Handshake de três vias, é responsável pelo estabelecimento de conexões no TCP.

Informações Importantes

ACK = Acknowledgement (Reconhecimento)
SYN = Synchronize (Sincronizar)

Mãos à obra!

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.

Analise do Three-way Handshake

Utilizei o software Wireshark para fazer a captura de pacotes para esta análise.
Clique nas imagens para abrir em uma nova janela/aba.

Primeira via

O cliente (10.10.10.246) envia uma solicitação de sincronização (SYN) para o servidor (200.147.67.142 – UOL). Esta solitação parte da porta 35637 com destino a porta 80, com número de sequência 0 (Seq=0).

Segunda via

O servidor envia ao cliente uma solicitação de sincronização (SYN) com número de sequência 0 (Seq=0), juntamente com a confirmação (ACK=1) da solicitação de sincronização enviada anteriormente pelo cliente.

Terceira via

O cliente então envia ao servidor o número de sequência 1 (Seq=1), juntamente com a confirmação (ACK=1) da solicitação de sincronização enviada anteriormente pelo servidor.

É isso aí pessoal!

:wq!
Andrey Smith

comentários
  1. Fernando disse:

    Valeu pelas dicas.

    Curtido por 1 pessoa

  2. LonMar disse:

    Muitissimo obrigado, me ajudou muito

    Curtido por 1 pessoa

  3. Kellvin Romano disse:

    mt bom

    Curtir

Deixe um comentário