logo

O que é o Protocolo de Controle de Transmissão (TCP)?

TCP significa protocolo de Controle de Transmissão . É um protocolo da camada de transporte que facilita a transmissão de pacotes da origem ao destino. É um protocolo orientado à conexão, o que significa que estabelece a conexão antes da comunicação que ocorre entre os dispositivos de computação em uma rede. Este protocolo é usado com um protocolo IP, portanto, juntos, eles são chamados de TCP/IP.

A principal funcionalidade do TCP é retirar os dados da camada de aplicação. Em seguida, ele divide os dados em vários pacotes, fornece numeração a esses pacotes e, finalmente, transmite esses pacotes ao destino. O TCP, por outro lado, remontará os pacotes e os transmitirá para a camada de aplicação. Como sabemos que o TCP é um protocolo orientado à conexão, a conexão permanecerá estabelecida até que a comunicação entre o remetente e o destinatário não seja concluída.

conectar-se a um banco de dados java

Recursos do protocolo TCP

A seguir estão os recursos de um protocolo TCP:

    Protocolo da camada de transporte

TCP é um protocolo da camada de transporte, pois é usado na transmissão de dados do remetente para o destinatário.

    Confiável

O TCP é um protocolo confiável, pois segue o mecanismo de controle de fluxo e erros. Também suporta o mecanismo de confirmação, que verifica o estado e a chegada sonora dos dados. No mecanismo de confirmação, o receptor envia uma confirmação positiva ou negativa ao remetente para que o remetente possa saber se o pacote de dados foi recebido ou precisa ser reenviado.

    A ordem dos dados é mantida

Este protocolo garante que os dados cheguem ao destinatário pretendido na mesma ordem em que são enviados. Ele ordena e numera cada segmento para que a camada TCP no lado de destino possa remontá-los com base em sua ordem.

    Conexão orientada

É um serviço orientado à conexão, o que significa que a troca de dados ocorre somente após o estabelecimento da conexão. Quando a transferência de dados for concluída, a conexão será encerrada.

    Duplex completo

É full-duplex, o que significa que os dados podem ser transferidos em ambas as direções ao mesmo tempo.

    Orientado a fluxo

TCP é um protocolo orientado a fluxo, pois permite ao remetente enviar os dados na forma de um fluxo de bytes e também permite que o destinatário aceite os dados na forma de um fluxo de bytes. O TCP cria um ambiente no qual tanto o remetente quanto o receptor estão conectados por um tubo imaginário conhecido como circuito virtual. Este circuito virtual transporta o fluxo de bytes pela Internet.

Necessidade de Protocolo de Controle de Transporte

Na arquitetura em camadas de um modelo de rede, toda a tarefa é dividida em tarefas menores. Cada tarefa é atribuída a uma camada específica que a processa. No Modelo TCP/IP , cinco camadas são camada de aplicação, camada de transporte, camada de rede , camada de enlace de dados e camada física. A camada de transporte tem um papel crítico no fornecimento de comunicação ponta a ponta para os processos de aplicação direta. Ele cria 65.000 portas para que vários aplicativos possam ser acessados ​​ao mesmo tempo. Ele pega os dados da camada superior e os divide em pacotes menores e depois os transmite para a camada de rede.

TCP

Funcionamento do TCP

No TCP, a conexão é estabelecida usando handshake de três vias. O cliente envia o segmento com seu número de sequência. O servidor, em troca, envia seu segmento com seu próprio número de sequência, bem como a sequência de confirmação, que é um a mais que o número de sequência do cliente. Quando o cliente recebe a confirmação de seu segmento, ele envia a confirmação ao servidor. Desta forma, a conexão é estabelecida entre o cliente e o servidor.

TCP

Vantagens do TCP

  • Fornece um serviço confiável orientado à conexão, o que significa que garante a entrega de pacotes de dados. Se o pacote de dados for perdido na rede, o TCP reenviará os pacotes perdidos.
  • Ele fornece um mecanismo de controle de fluxo usando um protocolo de janela deslizante.
  • Ele fornece detecção de erros usando soma de verificação e controle de erros usando o protocolo Go Back ou ARP.
  • Ele elimina o congestionamento usando um algoritmo para evitar congestionamento de rede que inclui vários esquemas, como aumento aditivo/diminuição multiplicativa (AIMD), início lento e janela de congestionamento.

Desvantagem do TCP

Ele aumenta uma grande quantidade de sobrecarga à medida que cada segmento obtém seu próprio cabeçalho TCP, portanto a fragmentação pelo roteador aumenta a sobrecarga.

conectividade java

Formato de cabeçalho TCP

TCP
    Porta de origem:Define a porta da aplicação que está enviando os dados. Portanto, este campo contém o endereço da porta de origem, que é de 16 bits.Porto de destino:Define a porta da aplicação no lado receptor. Portanto, este campo contém o endereço da porta de destino, que é de 16 bits.Número sequencial:Este campo contém o número sequencial de bytes de dados em uma sessão específica.Número de reconhecimento:Quando o sinalizador ACK é definido, ele contém o próximo número de sequência do byte de dados e funciona como uma confirmação dos dados recebidos anteriormente. Por exemplo, se o receptor receber o número de segmento 'x', ele responderá 'x+1' como um número de confirmação.HEN:Especifica o comprimento do cabeçalho indicado pelas palavras de 4 bytes no cabeçalho. O tamanho do cabeçalho está entre 20 e 60 bytes. Portanto, o valor deste campo ficaria entre 5 e 15.Reservado:É um campo de 4 bits reservado para uso futuro e, por padrão, todos são definidos como zero.Bandeiras
    Existem seis bits ou sinalizadores de controle:
      URG:Representa um indicador urgente. Se estiver definido, os dados serão processados ​​com urgência.CONFIRMAÇÃO:Se o ACK estiver definido como 0, significa que o pacote de dados não contém uma confirmação.PSH:Se este campo estiver definido, ele solicitará que o dispositivo receptor envie os dados para o aplicativo receptor sem armazená-los em buffer.RST:Se estiver definido, ele solicitará o reinício de uma conexão.SIN:É usado para estabelecer uma conexão entre os hosts.FIM:Ele é usado para liberar uma conexão e nenhuma outra troca de dados acontecerá.
    Tamanho da janela
    É um campo de 16 bits. Ele contém o tamanho dos dados que o receptor pode aceitar. Este campo é utilizado para o controle de fluxo entre o remetente e o destinatário e também determina a quantidade de buffer alocado pelo destinatário para um segmento. O valor deste campo é determinado pelo receptor.Soma de verificação
    É um campo de 16 bits. Este campo é opcional em UDP, mas no caso de TCP/IP, este campo é obrigatório.Ponteiro urgente
    É um ponteiro que aponta para o byte de dados urgente se o sinalizador URG estiver definido como 1. Ele define um valor que será adicionado ao número de sequência para obter o número de sequência do último byte urgente.Opções
    Ele fornece opções adicionais. O campo opcional é representado em 32 bits. Se este campo contiver dados menores que 32 bits, será necessário preenchimento para obter os bits restantes.