Sobes.tech
Junior

Quais são as diferenças entre os protocolos TCP e UDP?

sobes.tech IA

Resposta da IA

As diferenças mais importantes entre TCP (Protocolo de Controlo de Transmissão) e UDP (Protocolo de Datagrama de Utilizador) são as seguintes:

  1. Estabelecimento de ligação:

    • TCP - protocolo orientado à ligação. Antes de transmitir dados, realiza-se um aperto de mão de três vias (three-way handshake).
    • UDP - protocolo sem estabelecimento de ligação. Os dados são enviados sem acordo prévio.
  2. Confiabilidade na entrega:

    • TCP - protocolo fiável. Garante a entrega, o controlo da ordem dos pacotes e a retransmissão de dados perdidos.
    • UDP - protocolo não fiável. Não garante a entrega, a ordem dos pacotes nem realiza retransmissões.
  3. Controlo de fluxo e congestão:

    • TCP - possui mecanismos de controlo de fluxo (evita enviar dados mais rápido do que o receptor pode processar) e controlo de congestão (regula a velocidade de envio em caso de congestão da rede).
    • UDP - não possui mecanismos integrados de controlo de fluxo nem de congestão.
  4. Velocidade:

    • TCP - geralmente mais lento devido aos custos adicionais de estabelecimento de ligação, confirmação de entrega e controlo de fluxo/congestão.
    • UDP - protocolo mais rápido, pois tem menos custos adicionais.
  5. Tamanho do cabeçalho:

    • TCP - tamanho do cabeçalho de 20-60 bytes.
    • UDP - tamanho do cabeçalho de 8 bytes.
  6. Áreas de aplicação:

    • TCP - usado para aplicações que requerem entrega fiável de dados: HTTP, FTP, SSH, SMTP.
    • UDP - usado para aplicações onde a velocidade é importante e a perda de dados é aceitável ou gerida ao nível da aplicação: DNS, DHCP, streaming de vídeo/audio, jogos online, VoIP.

Tabela resumo:

Característica TCP UDP
Tipo de protocolo Com estabelecimento de ligação Sem estabelecimento de ligação
Fiabilidade Fiável Não fiável
Ordem de entrega Garantido Não garantido
Retransmissão Sim Não
Controlo de fluxo Sim Não
Controlo de congestão Sim Não
Velocidade Relativamente lento Relativamente rápido
Tamanho do cabeçalho 20-60 bytes 8 bytes
Exemplos de aplicação HTTP, FTP, SSH DNS, VoIP, Jogos