TCP garante entrega. O UDP não.
Essa é a principal diferença. Todo o resto flui disso.
TCP (Protocolo de Controle de Transmissão)
Garante que cada pacote chegue em ordem e intacto. Se um pacote for perdido, o TCP o reenvia. Como correio certificado com rastreamento.
Como funciona:
- Estabelece conexão antes de enviar dados
- Confirma que cada pacote foi recebido
- Reenvia pacotes perdidos
- Entrega pacotes na ordem correta
Desvantagem: Mais lento. Toda essa verificação e reenvio adiciona sobrecarga.
Usado por:
- Navegação na Web (HTTP/HTTPS)
- E-mail (SMTP, IMAP)
- Transferências de arquivos (FTP)
- SSH/acesso remoto
- Qualquer situação em que a precisão é mais importante que a velocidade
UDP (Protocolo de Datagrama do Usuário)
Envia pacotes sem confirmação. Dispare e esqueça. Como correio normal sem rastreamento.
Como funciona:
- Sem configuração de conexão
- Envia pacotes imediatamente
- Não verifica se chegaram
- Não garante pedido
Vantagens: Muito mais rápido. Nenhuma sobrecarga de reconhecimentos.
Usado por:
- Jogos online (ação em tempo real)
- Streaming de vídeo (Netflix, YouTube)
- Chamadas VoIP (Zoom, Discord)
- Pesquisas de DNS
- Qualquer situação em que a velocidade seja mais importante que a perfeição
Por que os jogos usam UDP
Em um jogo multijogador, se um pacote contendo sua posição no horário 1:23:45 se perder, não faz sentido reenviá-lo. Quando chega, está desatualizado. Você já está em uma nova posição.
Melhor apenas enviar a próxima atualização de posição e seguir em frente. Faltar um quadro é bom. Esperar pela retransmissão causaria atraso.
Por que a navegação na Web usa TCP
Carregar uma página da web exige que todas as partes (HTML, CSS, imagens) cheguem intactas. Um pacote perdido pode quebrar todo o layout da página.
A velocidade é menos crítica que a precisão. Você prefere esperar 0,2 segundos a mais do que ver uma página quebrada.
Qual é o melhor?
Nenhum dos dois. Eles resolvem problemas diferentes.
Use TCP quando: Os dados devem ser completos e precisos (downloads, mensagens, transações financeiras).
Use UDP quando: Velocidade e desempenho em tempo real são mais importantes do que uma entrega perfeita (jogos, vídeo ao vivo, chamadas de voz).
Você precisa escolher?
Geralmente não. Os aplicativos usam automaticamente o protocolo apropriado. Seu navegador usa TCP, seu jogo usa UDP, sua videochamada usa UDP.
Você só se preocupa com isso quando:
- Configurando um firewall (é necessário permitir portas específicas para TCP ou UDP)
- Encaminhamento de porta para jogos (geralmente UDP)
- Solução de problemas de VPN ou de conexão
- Configurando servidores ou aplicativos de rede
Conclusão
TCP é confiável, mas mais lento (verifica a entrega). O UDP é rápido, mas não confiável (sem verificação).
Os aplicativos são escolhidos com base em suas necessidades. As páginas da Web precisam de precisão (TCP). Os videogames precisam de velocidade (UDP).
Você não precisa escolher. O software lida com isso automaticamente.