O TCP (Protocolo de Controle de Transmissão) implementa um serviço de fluxo de bytes confiável, ordenado e orientado a conexão entre aplicativos em execução em diferentes hosts. Isso significa que ele fornece o seguinte:
*
Entrega de dados confiável: O TCP garante que todos os dados enviados chegarão ao destino sem perda, duplicação ou corrupção. Ele usa reconhecimentos (ACKs) e retransmissões para conseguir isso.
*
Entrega de dados ordenados: Os dados chegam na mesma ordem em que foram enviados. Os números de TCP cada segmento de dados e os reordenam, se necessário, no receptor.
*
Orientado por conexão: Antes que a transferência de dados possa começar, o TCP estabelece uma conexão entre o remetente e o receptor. Isso envolve um aperto de mão de três vias. A conexão permanece ativa até que explicitamente fechasse. Isso fornece um canal estável e dedicado para comunicação.
*
Comunicação Full-Duplex: Os dados podem fluir em ambas as direções simultaneamente.
*
Controle de fluxo: O TCP impede que um remetente rápido ovance um receptor lento. Ele usa um mecanismo de janela deslizante para controlar a taxa de transmissão de dados.
*
Controle de congestionamento: O TCP ajuda a gerenciar o congestionamento da rede ajustando sua taxa de transmissão com base nas condições da rede. Algoritmos como início lento, prevenção de congestionamentos e retransmissão rápida são empregados para evitar a sobrecarga de rede.
Em resumo, o TCP fornece uma maneira robusta e confiável para os aplicativos se comunicarem em uma rede, lidando com muitas das complexidades da transmissão de dados automaticamente. É ideal para aplicativos em que a confiabilidade é fundamental, como navegação na Web, email e transferência de arquivos.