Por que é um handshake de 3 vias e não mais?

4

O TCP usa o mecanismo de handshake de 3 vias. Eu entendo como isso funciona muito bem, mas eu me pergunto por que não é 4 ou mesmo 5 vias? É porque isso é muita sobrecarga e não é necessário?

    
por IcySnow 11.03.2012 / 18:16

3 respostas

13

O desempenho de inicialização de uma conexão TCP é determinado pelo tempo de ida e volta, e cada fase do handshake ocupa metade disso. Quanto mais atraso, pior o desempenho inicial da conexão.

Se o TCP pudesse ser concluído com segurança e segurança em um handshake unidirecional, seria, porque isso seria mais rápido. Portanto, é de 3 vias, não porque existe alguma virtude especial em 3, mas porque esse é o número mínimo de trocas necessárias para se dar um passo eficaz.

Em outras palavras, sim, sua avaliação está exatamente correta: mais etapas no aperto de mão são mais indiretas e não são necessárias.

Compare o recente esforço de "início falso" do SSL do Google para eliminar o aperto de mão SSL , onde alguém descobriu uma maneira de dar um passo a menos em um protocolo que alguém já achava estar no mínimo absoluto.

    
por 11.03.2012 / 18:20
2

Daniel fez um bom trabalho explicando em sua resposta por que o handshake de 3 vias é o método mais comum de configurar uma conexão tcp, mas não é a única maneira de fazer uma conexão tcp.

Há a conexão "simultânea aberta" , que é na verdade cada cliente fazendo um aperto de mão bidirecional . Bem como o dividir handshake que foi notícia no ano passado, pois pode ser usado como um vetor de ataque passar as regras de firewall de entrada e o IPS. Também chamado de ataque sneak-ack.

    
por 11.03.2012 / 21:20
0

Vamos dizer assim, o aperto de mão de três vias é obrigatório para trocar informações de rede entre dois pares e ser reconhecido. Exemplo: tamanho máximo do segmento (MSS)

Em outro cenário, se os dois mandarem syn / sync, então um handshake será reduzido para dois.

    
por 20.05.2013 / 16:11

Tags