TCP é uma abreviatura de Transmission Control Protocol e pronuncia-se como letras separadas. TCP é um dos principais protocolos em redes TCP / IP. Enquanto o protocolo IP lida apenas com pacotes, o TCP permite que dois hosts estabeleçam uma conexão e troquem fluxos de dados. O TCP garante a entrega dos dados e também que os pacotes sejam entregues na mesma ordem em que foram enviados.
Como funciona uma conexão TCP?
Para estabelecer uma conexão TCP, uma conversa precisa acontecer entre o cliente e o servidor. Isso é comumente conhecido como handshake de três etapas:
-
O cliente inicia o contato com um pacote SYN (sincronizar) e um número aleatório como uma medida de verificação de erro. (Mais sobre isso mais tarde.)
-
Assim que o servidor recebe o pacote, ele retorna o sinal para iniciar a conexão enviando um pacote SYN-ACK e aumentando o número aleatório original em um. O servidor também envia seu próprio número aleatório ao cliente.
-
A última etapa é o cliente enviar um pacote ACK (confirmação) ao servidor assim que receber a transmissão na etapa dois. O cliente também aumenta os dois números aleatórios em um e os retorna ao servidor.
Depois que a conexão TCP for estabelecida, o servidor e o cliente podem começar a transmitir dados imediatamente. É importante observar que se houver um atraso no recebimento dos pacotes de confirmação (SYN-ACK ou ACK), um processo chamado tempo limite de retransmissão é usado para retransmitir automaticamente um pacote após um determinado período de tempo.
Quanto tempo dura uma conexão TCP?
Em teoria, as conexões TCP podem durar indefinidamente depois de estabelecidas. Na prática, no entanto, eles normalmente duram apenas até que uma força externa intervenha ou cause uma interrupção na conexão, como um roteador NAT, firewall, problemas de largura de banda, etc. Um sinal keepalive é usado na maioria dos casos para validar regularmente uma conexão inativa e evitar qualquer interrupção ou quebra. Se o sinal de manutenção de atividade não for enviado ou recebido após um período de tempo especificado (dependendo da velocidade de transmissão exclusiva da conexão), o tempo limite da conexão se esgota e precisa ser restabelecida.
TCP e UDP são diferentes?
Sim. Embora existam semelhanças no que TCP e UDP (protocolo de datagrama do usuário) fazem e onde operam dentro de uma pilha IP, há uma distinção clara em como funcionam e quando são usados. O tráfego de voz e vídeo geralmente é enviado via UDP, e vários aplicativos da Internet usam o protocolo, como o Domain Name Service (DNS), SNMP e DHCP.
TCP |
UDP |
Estabelece conexão entre servidor e cliente antes de compartilhar quaisquer dados |
Começa a enviar dados antes que a conexão seja estabelecida |
Fornece verificação de erros durante a transmissão para garantir que os dados sejam entregues completamente, em ordem e sem danos |
Não garante entrega de dados, pedido ou precisão |
Usa buffers de transmissão para controlar o fluxo de dados |
Transmite dados continuamente ou interrompe transmissões malsucedidas |
Relativamente mais lento que UDP |
Relativamente mais rápido que TCP |
Usos: requisitos de alta confiabilidade (por exemplo, HTTP / HTTPS, FTP, e-mail, etc.) |
Usos: requisitos de alta velocidade e eficiência (por exemplo, streaming de vídeo, DNS, VoIP, etc.) |