O que é UDP e TCP? Entenda quais as diferenças e como funciona cada Protocolo
11 minutos de leitura
11 minutos de leitura

Autor(a)
Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.
Você já parou para pensar como, durante uma chamada de vídeo, a imagem pode pixelar por um segundo e depois voltar ao normal, mas o áudio continua fluindo?
Ou por que, ao baixar um arquivo, ele nunca vem corrompido, mesmo que sua internet oscile? Essa dualidade é um dos problemas centrais da comunicação na internet.
Por trás desses comportamentos estão dois protocolos centrais da camada de transporte: TCP e UDP.
Recentemente, passei por isso na prática ao desenvolver uma aplicação simples de bate-papo online e enviar para um amigo testar. As mensagens não faziam sentido para nenhum dos dois.
Ao trocar prints, percebemos que a ordem das mensagens estava diferente para cada um, mesmo com a internet boa. Depois de pesquisar, descobri o culpado: o protocolo que escolhi na Camada de Transporte.
Eu havia usado o UDP. Este é um cenário clássico que todo desenvolvedor, seja de back-end, jogos ou redes, precisa entender. A sua aplicação precisa de confiabilidade ou de velocidade? A resposta define se você deve usar TCP ou UDP.
Neste artigo, vamos mergulhar fundo nesses dois pilares da internet, entender a diferença entre TCP e UDP, o que são portas TCP e UDP, e como o cabeçalho TCP e UDP define o comportamento de cada um.
Antes de falarmos de TCP ou UDP, precisamos entender eles vivem. A comunicação na internet é descrita por modelos de camadas, sendo o mais comum o (de 5 camadas) e o mais teórico o .
Avalie este artigo
Em ambos, existe a Camada de Transporte.
Pense assim: a Camada de Rede (onde mora o IP) é como o serviço de correio que sabe entregar uma carta no endereço de um prédio. O trabalho dela é levar o pacote de máquina para máquina.
Mas e quando o pacote chega no prédio? Quem deve recebê-lo? O apartamento 101 (Netflix), o 202 (seu jogo online) ou o 303 (seu navegador web)?
A Camada de Transporte é a "portaria" do prédio. Ela é responsável pela comunicação processo-a-processo, ou seja, de aplicação-para-aplicação.
Ela usa um conceito chamado portas para saber exatamente qual programa deve receber quais dados.
Uma porta é simplesmente um número (de 0 a 65535) que identifica um serviço ou aplicação específica em uma máquina.
Quando dizemos "porta 443/TCP", estamos especificando não só o "apartamento" (443), mas também o tipo de entrega (TCP). É aqui que a nossa diferença entre TCP e UDP começa.
O TCP é o protocolo de transporte mais utilizado na web. Sua característica principal é uma só: confiabilidade.
O TCP é um protocolo orientado à conexão. Pense nele como uma chamada telefônica.
Vocês dois sabem que a linha está aberta e que o outro está ouvindo. Se você disser algo e a outra pessoa não ouvir ("O que você disse?"), você repete. As frases são ouvidas na ordem em que são ditas. No final, vocês se despedem ("Tchau", "Tchau") e desligam (FIN).
O TCP garante a confiabilidade através de três mecanismos principais:
O cabeçalho TCP e UDP é a "etiqueta de envio" de cada pacote, e o do TCP é complexo. É o preço da confiabilidade.

A estrutura do Cabeçalho TCP, mostrando campos cruciais para a infraestrutura de redes, como Portas, Números de Sequência e Flags.
Sem nos aprofundarmos demais, as partes cruciais do cabeçalho TCP são:
Use o TCP sempre que cada bit de dados for crucial e a ordem for fundamental. A pequena latência (atraso) causada pelo handshake e pelos ACKs é um preço aceitável a se pagar pela integridade.
O UDP é o oposto do TCP. Sua característica principal é a velocidade, alcançada ao custo da confiabilidade.
O UDP é um protocolo não orientado à conexão. Pense nele como enviar um cartão-postal (ou um anúncio em alto-falante).
Você não sabe se o cartão chegou. Você não sabe quando ele chegou.
E se você enviar 10 cartões, eles podem chegar fora de ordem, ou alguns podem se perder no caminho. Você não recebe confirmação. Isso é o que chamamos de "fire and forget" (atire e esqueça).
O UDP é simples. Ele não faz nada do que o TCP faz.
Foi por isso que minha aplicação de chat falhou: eu escolhi o UDP. As mensagens (datagramas) chegavam rápido, mas algumas se perdiam e outras chegavam fora de ordem, tornando a conversa ininteligível.
Se o cabeçalho TCP é complexo, o do UDP é minimalista. É por isso que ele é tão rápido.

O Cabeçalho UDP é muito mais simples, contendo basicamente portas, tamanho e um checksum opcional.
Ele contém apenas 4 campos:
Use o UDP sempre que a velocidade e a baixa latência forem mais importantes do que a perda ocasional de um pacote. É ideal para dados em tempo real, onde um pacote antigo é inútil.
A melhor forma de entender a diferença entre TCP e UDP é colocá-los lado a lado. Não existe um "melhor" ou "pior"; existe o protocolo TCP e UDP certo para o trabalho certo.
| Característica | TCP (Transmission Control Protocol) | UDP (User Datagram Protocol) |
| Confiabilidade | Alta. Garante a entrega. | Baixa. "Melhor esforço", sem garantia. |
| Conexão | Orientado à Conexão (Handshake). | Não Orientado à Conexão. |
| Ordem dos Pacotes | Garantida. | Não garantida. |
| Controle de Erro | Extensivo (ACKs, Retransmissão). | Básico (Checksum opcional). |
| Controle de Fluxo | Sim. Gerencia a velocidade. | Não. |
| Velocidade | Mais lento (devido ao overhead). | Muito rápido. |
| Overhead (Cabeçalho) |
Entender o protocolo TCP e UDP é sair do "apenas funciona" para o "eu sei por que funciona".
Como vimos no meu exemplo do chat, escolher o protocolo errado pode arruinar uma aplicação. Escolher o certo é o que permite que jogos tenham baixa latência e que seu banco opere com segurança.
Essa decisão é uma das responsabilidades fundamentais do profissional de tecnologia. Não é um conhecimento restrito a Administradores de Rede. Um desenvolvedor Back-end precisa saber disso ao desenhar uma API de alta performance.
Um engenheiro DevOps precisa configurar firewalls e balanceadores de carga baseado em portas TCP e UDP. Até mesmo um desenvolvedor de Front-end se beneficia ao entender por que certos recursos da página carregam de formas diferentes.
Para construir essa base sólida, que vai dos fundamentos de redes até a construção de aplicações complexas na nuvem, a Alura é sua principal aliada.
Nossas Carreiras em Back-end e DevOps são desenhadas para te dar o conhecimento prático e teórico que o mercado exige, permitindo que você construa sistemas mais rápidos, resilientes e eficientes.
E para quem já está na trilha de gestão e busca o salto estratégico, a escolha entre TCP e UDP tem impactos financeiros e de performance gigantescos.
Liderar o design de uma arquitetura de streaming global ou de um sistema financeiro de alta frequência exige uma imersão profunda.
Para isso, os MBAs e pós-graduações da FIAP são o caminho reconhecido pelo mercado para quem quer se tornar o C-Level ou Arquiteto de Soluções que define a estratégia de tecnologia da empresa.
As portas são as mesmas (números de 0 a 65535). A diferença é qual protocolo está "ouvindo" naquela porta. Um servidor pode, por exemplo, rodar um serviço na porta 80/TCP (para web) e um serviço completamente diferente na porta 80/UDP. Pense como se fossem "docas" de entrega diferentes no mesmo "apartamento".
Não. "Menos confiável" não significa "pior". Para um jogo online, o TCP seria péssimo, causando "lag" e travamentos. A segurança (criptografia) não é responsabilidade direta do TCP ou UDP, mas de camadas superiores (como o TLS, que roda sobre o TCP para criar o HTTPS).
Essa é uma ótima observação! Enquanto o streaming ao vivo (lives) e chamadas (VoIP) preferem UDP, serviços de streaming sob demanda (YouTube, Netflix) frequentemente usam TCP. Por quê? Porque o vídeo não é em tempo real. Seu player pode "bufferizar" (baixar) vários segundos de vídeo com antecedência. Nesse caso, a confiabilidade do TCP é usada para garantir que o buffer seja preenchido sem corrupção, dando aquela experiência de play sem falhas.
| Pesado (20 bytes ou mais). |
| Leve (Apenas 8 bytes). |
| Quando usar | Web (HTTPS), E-mail, Arquivos, Chat. | Jogos, Streaming (Vídeo/Áudio), VoIP, DNS. |