TCP vs UDP: Qual a Diferença?

TCP e UDP são os dois protocolos de transporte que carregam praticamente todo o tráfego da internet. A escolha entre eles define o equilíbrio entre confiabilidade e velocidade.

Característica TCP UDP
ConexãoOrientado a conexão (handshake de 3 vias)Sem conexão
ConfiabilidadeGarante entrega e ordemSem garantias
VelocidadeMais lento (overhead de controle)Mais rápido (cabeçalho mínimo)
RetransmissãoSim, pacotes perdidos são reenviadosNão
Casos de usoWeb, email, SSH, transferência de arquivosJogos, VoIP, streaming, DNS

Como o TCP funciona

Antes de trocar dados, o TCP realiza o three-way handshake:

Cliente → SYN → Servidor  ("quero conectar")
Cliente ← SYN-ACK ← Servidor  ("aceito, confirme")
Cliente → ACK → Servidor  ("confirmado, vamos lá")

É exatamente esse handshake que o nosso verificador utiliza: se o SYN-ACK retorna, a porta está aberta; se o servidor responde RST (reset), está fechada; se nada retorna, está filtrada.

Como o UDP funciona

O UDP simplesmente envia datagramas, sem estabelecer conexão, sem confirmar recebimento e sem reordenar pacotes. Se um pacote se perde, a aplicação decide o que fazer — em uma chamada de voz, por exemplo, é melhor perder 20ms de áudio do que esperar a retransmissão.

Por que verificar UDP é mais difícil

Como não há handshake, não existe uma resposta padrão para "esta porta está aberta?". Uma porta UDP aberta só responde se receber um pacote no formato que o serviço espera. E uma porta fechada pode responder com um ICMP "port unreachable" — mas muitos firewalls descartam até isso. Resultado: uma porta UDP que não responde pode estar aberta, fechada ou filtrada. Por isso nosso verificador foca em TCP, que dá respostas determinísticas.

Quando usar cada um

Nota: muitos serviços modernos usam os dois — o DNS responde em UDP 53 para consultas pequenas e TCP 53 para transferências de zona. Ao configurar port forwarding para jogos, verifique sempre se o jogo exige TCP, UDP ou ambos.