Handshake é o processo pelo qual duas máquinas afirmam uma a outra que a reconheceu e está pronta para iniciar a comunicação. O handshake é utilizado em protocolos de comunicação, tais como: FTP, TCP, HTTP, SMB,SMTP,POP3 etc.
Assim você consegue fazer uma conexão entre duas máquinas só esperando o serviço a ser disponibilizado.
Também tem o Handshake Triplo..
Um handshake triplo é necessário porque os números de seqüência não são vinculados a um relógio global na rede e os protocolos TCP podem ter mecanismos diferentes para captar o ISN (Initial Sequence Number). O receptor do primeiro SYN não tem meios para saber se este é um segmento antigo atrasado, a menos que tenha registrado o último número de seqüência usado na conexão. Nem sempre é possível lembrar esse número. Assim, o receptor deve pedir ao remetente que verifique esse SYN.
O host (A) inicia uma conexão enviando um pacote SYN para o host (B) indicando que o seu ISN = X: A —> B SYN, seq de A = X
B recebe o pacote, grava que a seq de A = X, responde com um ACK de X + 1, e indica que seu ISN = Y. O ACK de X + 1 significa que o host B já recebeu todos os bytes até ao byte X e que o próximo byte esperado é o X + 1: B —> A ACK, seq de A = X, SYN seq de B = Y, ACK = X + 1
A recebe o pacote de B, fica sabendo que a sequência de B = Y, e responde com um ACK de Y + 1, que finaliza o processo de estabelecimento da conexão: A —> B ACK, seq de B = Y, ACK = Y + 1
Em resumo, é uma comunicação onde a troca de informação só ocorre quando ambas as máquinas presentes na comunicação estão disponíveis para estabelecerem uma conexão, e ambas concordam estabelecerem essa conexão.
Por exemplo.:
computador A quer enviar um pacote X para o computador B
mas antes dele mandar o pacote X para o computador B ele envia um pedido de transmissão para o computador B (em outras palavras, olha cara quero te enviar um pacote, você ta disponível para receber)
se o computador B enviar um pacote de confirmação para o computador A (em outras palavras, olha cara tô disponível sim, pode mandar)
o computador A envia outro pacote para o computador B para estabelecer a conexão
e então o computador A inicia a transmissão do pacote X
Por isso que o protocolo se chama handshake (aperto de mãos)
Para escrever sua resposta aqui, entre ou crie uma conta
Redes de Computadores e Comunicação de Dados
Compartilhar