Transmission Control Protocol

TCP fornece entrega de fluxo confiável de dados entre hosts da Internet.

Como UDP, o TCP usa o Internet Protocol, o protocolo subjacente, para transportar datagramas e suporta a transmissão de blocos de um fluxo contínuo de datagramas entre portas de processo. Ao contrário do UDP, o TCP fornece entrega de mensagem confiável. O TCP garante que os dados não sejam danificados, perdidos, duplicados ou entregues fora de ordem a um processo de recebimento. Essa garantia de confiabilidade de transporte mantém os programadores de aplicativos de terem de construir salvaguardas de comunicações em seus softwares.

As seguintes são características operacionais do TCP:

Item Descrição
Transferência de Dados Fundamental O TCP pode transferir um fluxo contínuo de 8-bit octetos em cada direção entre seus usuários, empacotando algum número de bytes em segmentos para transmissão através do sistema de Internet. A implementação do TCP permite um tamanho de segmento de pelo menos 1024 bytes. Em geral, o TCP decide quando bloquear e encaminar pacotes por conveniência própria.
Confiabilidade TCP deve recuperar dados que estão danificados, perdidos, duplicados ou entregues fora de ordem pela Internet. O TCP alcança essa confiabilidade atribuando um número de sequência a cada octeto que transmite e exigindo um reconhecimento positivo (ACK) a partir do recebimento TCP. Se o ACK não for recebido dentro do intervalo de tempo limite, os dados são retransmitidos. O valor de tempo de saída de retransmissão TCP é determinado dinamicamente para cada conexão, com base em tempo de roundtrip. No receptor, os números de sequência são usados para ordenar corretamente segmentos que podem ser recebidos fora de ordem e para eliminar duplicatas. Os danos são tratados adicionando um checksum a cada segmento transmitido, verificando-o no receptor, e descartando segmentos danificados.
Controle de fluxo TCP governa a quantidade de dados enviados retornando uma janela com cada ACK para indicar uma gama de números de sequência aceitáveis além do último segmento recebido com sucesso. A janela indica um número permitido de octetos que o remetente pode transmitir antes de receber mais permissão.
Multiplexação O TCP permite que muitos processos dentro de um único host utilizem as instalações de comunicações TCP simultaneamente. TCP recebe um conjunto de endereços de portas dentro de cada host. TCP combina o número da porta com o endereço de rede e o endereço do host para identificar com exclusividade cada soquete. Um par de soquetes identifica com exclusividade cada conexão.
Conexões TCP deve inicializar e manter determinadas informações de status para cada fluxo de dados. A combinação dessas informações, incluindo soquetes, números de sequência e tamanhos de janela, é chamada de conexão. Cada conexão é exclusivamente especificada por um par de soquetes identificando seus dois lados.
Precedência e Segurança Os usuários do TCP podem indicar a segurança e a precedência de suas comunicações. Os valores padrão são usados quando esses recursos não são necessários.

A figura TCP Packet Header ilustra essas características.

Figura 1. Transmission Control Protocol Cabeçalho do pacote (TCP)
Transmission Control Protocol Cabeçalho do pacote (TCP)
Esta ilustração mostra o que está contido no cabeçalho do pacotão TCP . As entidades individuais estão listadas no texto abaixo.