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
Valeu pelas dicas.
CurtirCurtido por 1 pessoa
Muitissimo obrigado, me ajudou muito
CurtirCurtido por 1 pessoa
mt bom
CurtirCurtir