O aperto de mão TCP de três vias no Protocolo de Controlo de Transmissão (também chamado aperto de mão TCP; aperto de mão de três mensagens e/ou SYN-SYN-ACK) é o método utilizado pelo TCP para estabelecer uma ligação TCP/IP através de uma rede baseada no Protocolo de Internet. A técnica do aperto de mão de três vias do TCP é frequentemente referida como “SYN-SYN-ACK” (ou mais precisamente SYN, SYN-ACK, ACK) porque há três mensagens transmitidas pelo TCP para negociar e iniciar uma sessão TCP entre dois computadores. O mecanismo de aperto de mão TCP foi concebido para que dois computadores que tentam comunicar possam negociar os parâmetros da ligação TCP da rede antes de transmitir dados tais como pedidos SSH e HTTP do navegador web.
Este processo de aperto de mão de 3 vias foi também concebido para que ambas as extremidades possam iniciar e negociar ligações TCP separadas ao mesmo tempo. Ser capaz de negociar múltiplas ligações de soquete TCP em ambas as direcções ao mesmo tempo permite que uma única interface física de rede, como a ethernet, seja multiplexada para transferir múltiplos fluxos de dados TCP em simultâneo.
Diagrama de aperto de mão TCP de 3 vias
Below é um diagrama (muito) simplificado do processo de aperto de mão TCP de 3 vias. Veja o diagrama à direita ao examinar a lista de eventos à esquerda.
EVENT | DIAGRAM |
Host A envia um pacote TCP SYNchronize para o anfitrião B Host B recebe o SYN de A Host B envia um SYNchronize-ACKnowledgement Anfitrião A recebe o SYN-ACK Anfitrião A envia ACKnowledge Anfitrião B recebe ACK. |
br>TCP Aperto de mão de três vias (SYN,SYN-ACK,ACK) |
SYNchronize e as mensagens ACKnowledge são indicadas por um dos bits SYN, ou o bit ACK dentro do cabeçalho TCP, e a mensagem SYN-ACK tem tanto o SYN como os bits ACK ligados (definidos para 1) no cabeçalho TCP.
TCP sabe se a ligação da tomada TCP de rede está a abrir, sincronizar, estabelecida usando as mensagens SYNchronize e ACKnowledge ao estabelecer uma ligação da tomada TCP de rede.
Quando a comunicação entre dois computadores termina, outra comunicação de 3 vias é efectuada para destruir a ligação TCP socket. Esta configuração e desmontagem de uma ligação TCP é parte do que qualifica o TCP como um protocolo fiável. O TCP também reconhece que os dados são recebidos com sucesso e garante que os dados são re-instalados na ordem correcta.
Nota que o UDP está sem ligação. Isto significa que o UDP não estabelece ligações como o TCP, pelo que o UDP não executa este aperto de mão de 3 vias e, por este motivo, é referido como um protocolo não fiável. Isto não significa que o UDP não possa transferir dados, apenas não negoceia a forma como o conneciton irá funcionar, o UDP apenas transmite e espera o melhor.
Protocolos encapsulados em TCP
Nota que FTP, Telnet, HTTP, HTTPS, SMTP, POP3, IMAP, SSH e qualquer outro protocolo que passe por cima de TCP também tem um aperto de mão de três vias efectuado à medida que a ligação é aberta. Pedidos web HTTP, e-mails SMTP, transferências de ficheiros FTP, todos gerem as mensagens que cada um deles envia. TCP trata da transmissão dessas mensagens.
TCP ‘cavalga’ em cima do Protocolo Internet (IP) na pilha de protocolos, razão pela qual o par combinado de protocolos Internet é chamado TCP/IP (TCP sobre IP). Os segmentos TCP são passados dentro da secção de carga útil dos pacotes IP. O IP trata do endereçamento e encaminhamento IP e recebe os pacotes de um local para outro, mas o TCP gere as tomadas de comunicação reais entre os pontos terminais (computadores em qualquer extremidade da rede ou ligação à Internet).
TUTORIAIS RELACIONADOS
- Mais Tutoriais sobre o Protocolo de Controlo de Transmissão (TCP)
- TCP Sockets (portas virtuais)
- TCP Header
- TCP Flow Control
>li>Mais Tutoriais sobre Protocolo Internet (IP) li>Mais Tutoriais sobre Protocolo de Datagramas de Utilizadores (UDP)
TCP Tutorials
- Introduction to Transmission Control Protocol (TCP)
- TCP: Um Protocolo Fiável
- TCP Header
- TCP 3-Modo Aperto de Mão
- Conexões de PCC
- TCP Sockets
- TCP Data Transfer
- TCP Segmentation and Reassembly
- TCP Flow Control
- TCP Multiplexing
- TCP Precedence
- TCP Transport Stream Push (TCP Push)