Estabelecimento da conexão TCP Duração do handshake de 3 maneiras = Relação com tempos de ping?

1

de acordo com: link

1.) Existe um handshake TCP de 3 vias. Se eu tiver um tempo de ping de 100 milissegundos, posso usar o tempo de ping para calcular (em média) quanto tempo levará para estabelecer uma conexão TCP?

2.) Dado que eu tenho um tempo de ping de 100 milissegundos, é correto que ele exigirá pelo menos 150 milissegundos? Ou será 100 milissegundos + um microssegundo (o microssegundo é para enviar o terceiro ACK)? OU o ACK ainda pode conter dados?

3.) O que eu não entendo é (no grafic acima) quando o cliente sabe que seu terceiro ACK foi bem-sucedido e agora ele pode começar a enviar dados regulares. Eu entendo completamente o SYN (1) e depois o SYN ACK (2) e depois o ACK (3), mas como o Cliente sabe que o terceiro ACK foi enviado para o servidor e o cliente pode começar a enviar mais informações? Ou é como assumido acima, que o terceiro ACK já pode conter dados?

Muito obrigado! Jens

    
por jens 09.12.2010 / 10:29

3 respostas

1

Responda à sua primeira pergunta.

Sim, o tempo de ping pode lhe dar uma idéia sobre o tempo gasto para estabelecer a conexão TCP.

Segunda pergunta. Você está certo. Com uma latência de 100 milisegundos, o tempo de conexão seria em torno de 300 ms. Aqui está a matemática para isso

  1. Cliente (SYN) - > Servidor = 50 ms
  2. Servidor (SYN + ACK) --- > cliente = 50 ms
  3. Cliente (dados ACK +) --- > Servidor = 50 ms

Na terceira questão. Normalmente, o ACK enviado pelo cliente também inclui dados nele. O TCP possui um valor de tempo limite associado a ele. Se, dentro desse período, o cliente não receber nenhum ACK do servidor, ele retransmitirá os dados. O segundo caso é quando o cliente está durante uma transmissão em andamento. Suponha que o cliente enviou pacotes de 1 a 10, mas recebeu apenas ACK para pacotes de 1 a 7, em seguida, o cliente começará a retransmitir a partir do 8º pacote em diante.

Segunda pergunta. Deve ser resposta pela primeira pergunta

    
por 09.12.2010 / 15:25
1

Você pode usar o tempo de ping para monitorar a conectividade básica e a latência de link, mas eu não correlacionaria o ping com a velocidade da conexão TCP porque ele usa um protocolo diferente (ICMP). Em particular, alguns provedores de upstream darão maior prioridade aos pacotes ICMP do que o TCP para produzir tempos de ping favoráveis.

    
por 09.12.2010 / 11:39
0

Dê uma olhada em esta página . No final do handshake de 3 vias, o cliente e o servidor receberam uma confirmação da conexão. A troca de dados pode começar.

    
por 09.12.2010 / 10:46