1. Protocolo de aperto de mão TCP
No protocolo TCP/IP, o protocolo TCP fornece serviços de conexão confiáveis usando um handshake de três vias para estabelecer uma conexão.
Primeiro aperto de mão: Ao estabelecer uma conexão, o cliente envia um pacote syn (syn=j) para o servidor e entra no estado SYN_SEND, aguardando a confirmação do servidor.
O segundo aperto de mão: Quando o servidor recebe o pacote SYN, ele deve confirmar o SYN do cliente (ack=j+1) e também enviar um pacote SYN (syn=k), ou seja, pacote SYN+ACK, momento em que o servidor entra no estado SYN_RECV.
Terceiro handshake: O cliente recebe o pacote SYN+ACK do servidor e envia o pacote de confirmação ACK (ack=k+1) para o servidor.
Após três apertos de mão, cliente e servidor começam a transferir dados, e há alguns conceitos importantes no processo acima:
Fila Desconectada: No protocolo de handshake de três vias, o servidor mantém uma fila não conectada que abre uma entrada para cada pacote SYN do cliente (syn=j) que indica que o servidor recebeu o pacote SYN e emite uma confirmação ao cliente, aguardando o pacote de confirmação do cliente. A conexão identificada por essas entradas está em estado Syn_RECV no servidor, e quando o servidor recebe um pacote de confirmação do cliente, a entrada é deletada e o servidor entra no estado ESTABELECIDO. Parâmetro de backlog: Indica o número máximo de filas não conectadas.
Tempos de Retransmissão SYN-ACK Se o servidor enviar o pacote SYN-ACK e não receber o pacote de confirmação do cliente, o servidor realiza a primeira retransmissão, espera por um período sem receber o pacote de confirmação do cliente e realiza a segunda retransmissão. Note que o tempo de espera para cada repasse não é necessariamente o mesmo.
Tempo de sobrevivência da semi-conexão: refere-se ao tempo máximo que uma entrada na fila de semi-conexão sobrevive, ou seja, o tempo máximo desde o momento em que o serviço recebe o pacote SYN até o momento em que o pacote é confirmado como inválido, e o valor do tempo de tempo é a soma do tempo máximo de espera para todos os pacotes de retransmissão solicitados. Às vezes também chamamos de tempo de sobrevivência semi-conectado, SYN_RECV tempo de sobrevivência.
|