Articles

O que é o aperto de mão tcp de três vias? O que é SYN , pacotes ACK ?

Sabemos que o TCP é um dos exemplos de implementação do protocolo da camada de transporte de acordo com o modelo OSI. O protocolo é orientado para conexão, significa antes de enviar quaisquer dados para o ponto remoto, o cliente tcp configura uma conexão virtual através de uma rede IP subjacente baseada em pacotes. O aperto de mão de três vias é o procedimento de protocolo para conseguir a configuração da ligação. Aqui cobriremos em pormenor o procedimento de configuração da ligação tcp. A primeira pergunta vem em mente, quem é responsável por iniciar a ligação TCP? A própria camada de protocolo, no arranque ou alguma outra entidade externa instrui a camada para a ligação? A resposta é TCP, o utilizador é responsável por iniciar um aperto de mão TCP de três vias. Por exemplo HTTP (navegador web utiliza HTTP) , é um dos utilizadores do TCP. Quando o utilizador HTTP precisa de enviar um pedido web para o servidor remoto. Antes de enviar qualquer dado do utilizador, HTTP solicita TCP para fazer uma ligação com o servidor remoto. Quando a camada TCP recebe o pedido de ligação, inicia o aperto de mão tcp 3 way. Como qualquer outro protocolo, o procedimento de aperto de mão de três vias requer a troca de pacotes ou mensagens entre cliente e servidor. A seguir são usados na configuração da ligação.

Following is message flow for three way handshake.

Utilizador de HTTP emite um pedido de ligação à camada TCP. A camada TCP funciona como Cliente tcp e envia o sinalizador tcp com um número de sequência inicial. O número de sequência é para manter a sequenciação das mensagens. No SYN recebido Sever envia o novo syn e ack do syn recebido para o cliente, depois o cliente envia o ACK para o servidor para syn recebido do servidor. Isto completa a configuração da ligação. A seguir menciona cada mensagem em detalhe para aperto de mão de três vias.

Este é o primeiro pacote do cliente para o servidor. A mensagem TCP coloca a bandeira SYN em 1 na mensagem , portanto faça a mensagem tcp como pacote SYN. Tem o número de sequência inicial do cliente juntamente com outros poucos parâmetros.

TCP pacote SYN ACK:

Após receber o pacote SYN, o servidor envia o pacote syn ack para o cliente. Para não mencionar que se trata de um único pacote tcp com syn e ack bit definido para 1. O número de sequência syn é o número de sequência inicial do servidor que aceita a ligação. A parte de ack tem o número de sequência de cliente mais um. Desta forma o servidor diz que está pronto para aceitar o pacote com o próximo número de sequência do cliente.

TCP pacote ACK:

O pacote final para configuração da ligação é tcp ack. O cliente envia o pacote tcp ack ao receber o tcp syn ack do servidor. O pacote inclui número de sequência do servidor mais um.

Indicação do utilizador tcp após aperto de mão de três vias :

No início mencionámos que , é o utilizador que inicia o pedido de ligação. Mas como é que o utilizador obtém, essa ligação é feita ? E o utilizador pode utilizar a ligação para enviar dados para o servidor remoto? O utilizador recebe uma indicação sobre o resultado da configuração da ligação a partir da camada TCP. Se o aperto de mão for bem sucedido, então obtém-se o identificador da ligação. Caso contrário e erro. O identificador de ligação funciona como manipulador para envio/recepção de dados para/do servidor. Mostraremos noutro post sobre a implementação exacta do cliente/servidor TCP , então poderá obter uma imagem mais clara do manipulador de ligação.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *