O TCP (Protocolo de Controle de Transmissão) é um protocolo confiável e orientado a conexão usado para comunicação em uma rede. Suas características principais incluem:
1. Orientado por conexão: Antes do início da transmissão de dados, o TCP estabelece uma conexão entre o remetente e o destinatário. Isso envolve um aperto de mão de três vias para garantir que as duas extremidades estejam prontas e concordam com parâmetros como o tamanho da janela. Isso contrasta com o UDP (Protocolo do Datagrama do Usuário), que é sem conexão.
2. Confiável: O TCP garante entrega confiável de dados. Isso significa que todos os dados enviados chegarão ao destino na ordem correta e sem erros. Atinge isso através de:
*
reconhecimento (ACKS): O receptor envia ACKs para confirmar o recebimento de pacotes de dados. Se um ACK não for recebido dentro de um determinado prazo, o remetente retransmissão do pacote.
*
Números de sequência: Cada pacote recebe um número de sequência, permitindo que o receptor reordenasse os pacotes se eles chegarem fora de pedido e detectar pacotes ausentes.
*
SOM DE CHECHES: O TCP usa somas de verificação para detectar erros nos dados durante a transmissão. Os pacotes corrompidos são descartados e retransmitidos.
*
Controle de fluxo: O TCP usa um mecanismo de janela deslizante para controlar a taxa de transmissão de dados para impedir que o remetente sobrecarregue o receptor. O receptor anuncia a quantidade de dados que pode buffer e o remetente ajusta sua taxa de transmissão de acordo.
*
Controle de congestionamento: O TCP incorpora algoritmos (como início lento, prevenção de congestionamentos, retransmissão rápida e recuperação rápida) para gerenciar o congestionamento da rede e impedir a sobrecarga de rede. Esses algoritmos ajustam dinamicamente a taxa de transmissão com base nas condições da rede.
3. Entrega ordenada: O TCP garante que os pacotes de dados cheguem na mesma ordem em que foram enviados. Os números de sequência desempenham um papel crucial na obtenção disso.
4. Comunicação Full-Duplex: O remetente e o receptor podem transmitir dados simultaneamente.
5. Peso pesado: Devido a seus recursos, como detecção e correção de erros, estabelecimento de conexão, controle de fluxo e congestionamento, o TCP tem uma sobrecarga mais alta que o UDP. Isso significa que consome mais recursos do sistema e é mais lento que o UDP.
6. Processamento mais pesado: Devido às etapas adicionais envolvidas no estabelecimento de conexões, gerenciamento de reconhecimentos e verificação de erros, o TCP requer mais energia de processamento do remetente e do receptor.
Em resumo, o TCP fornece um mecanismo de entrega de dados confiável e ordenado, mas ao custo do aumento dos requisitos de sobrecarga e processamento. É adequado para aplicativos em que a transferência de dados confiável é crítica, como navegação na Web, email e transferência de arquivos. O UDP, por outro lado, é mais eficiente, mas menos confiável, tornando -o mais adequado para aplicativos como streaming de vídeo ou jogos on -line, onde alguma perda de dados é aceitável.