TCP vs UDP

TCP vs UDP: handshake, garantia de entrega, latência e casos de uso reais. Comparativo com QUIC e HTTP/3 e exemplos de jogos, streaming e DNS.

TCP e UDP são os dois protocolos de transporte que movem praticamente todo o tráfego da internet. TCP garante que os dados cheguem completos e na ordem certa. UDP envia e não olha para trás. Essa diferença fundamental determina se um aplicativo prioriza confiabilidade ou velocidade, e entendê-la explica por que jogos online e videochamadas se comportam de forma diferente de downloads de arquivos e navegação web. Também explica por que o QUIC e o HTTP/3 existem: uma tentativa de ter as duas coisas ao mesmo tempo.

Neste artigo

  1. Como TCP funciona: handshake e garantia de entrega
  2. Diagrama: handshake 3-way vs fire-and-forget
  3. Distribuição do tráfego: TCP vs UDP na internet
  4. Como UDP funciona: velocidade sem garantia
  5. Tabela comparativa: 12 dimensões
  6. Qual usar: casos de uso reais
  7. QUIC e HTTP/3: o protocolo que mistura os dois
  8. TCP vs UDP em jogos online no Brasil
  9. Como identificar qual protocolo seu aplicativo usa
  10. Perguntas frequentes

Como TCP funciona: handshake e garantia de entrega

TCP (Transmission Control Protocol) foi definido na RFC 793 em 1981 e atualizado mais recentemente pela RFC 9293 (2022). Opera na Camada 4 do modelo OSI e é orientado a conexão: antes de trocar um único byte de dado, os dois lados precisam completar o handshake de três vias.

O handshake de três vias (SYN-SYN/ACK-ACK)

Cliente envia SYN (synchronize) com um número de sequência inicial aleatório. Servidor responde com SYN/ACK, confirmando o SYN do cliente e enviando seu próprio número de sequência. Cliente responde com ACK, confirmando o SYN do servidor. Só então a conexão está estabelecida e dados podem fluir.

Esse handshake custa pelo menos um RTT (Round-Trip Time) antes de qualquer dado. Para uma conexão com 50ms de RTT, o overhead inicial é de 50ms só para estabelecer a sessão.

Garantia de entrega e controle de sequência

Cada segmento TCP carrega um número de sequência. O receptor confirma com ACK (acknowledgment) o que recebeu. Se o ACK não chega dentro do tempo de retransmissão (RTO), o emissor reenvia o segmento. Isso garante que os dados cheguem, mas introduz latência variável quando há perda.

TCP também reordena segmentos que chegam fora de ordem: se o pacote 3 chega antes do pacote 2, o receptor aguarda o 2 antes de entregar os dados a aplicação. Isso é o head-of-line blocking. Num único fluxo faz sentido. Em múltiplos fluxos multiplexados na mesma conexão TCP (como no HTTP/2), a perda de um pacote de um fluxo congela todos os outros.

Controle de congestionamento

TCP reduz automaticamente a taxa de envio quando detecta congestionamento. Os algoritmos principais usados em 2026 são CUBIC (padrão no Linux desde kernel 2.6.19) e BBR (Bottleneck Bandwidth and Round-trip propagation time), desenvolvido pelo Google. BBR mede o bandwidth e o RTT diretamente em vez de inferir congestionamento por perda, melhorando o desempenho em enlaces com perda não relacionada ao congestionamento.

Fundamentos acadêmicos de TCP e UDP

TCP e UDP são documentados como um par contrastante nos livros clássicos de redes. Tanenbaum cobre ambos no Capítulo 6, descrevendo o UDP como a alternativa sem overhead:

"Na Internet, a comunicação funciona da forma descrita a seguir. A camada de transporte recebe os fluxos de dados e os divide em datagramas." [O TCP garante a remontagem em ordem; o UDP envia datagramas sem esse controle, deixando a responsabilidade para a aplicação]

Andrew S. Tanenbaum - Redes de Computadores, 4a edição, p. 334 (Campus, 2004)

Peterson & Davie confirmam os valores numéricos do campo Protocol no cabeçalho IP que identifica TCP (6) e UDP (17):

"O campo Protocolo é simplesmente uma chave de demultiplexação que identifica o protocolo de mais alto nível ao qual esse pacote IP deverá ser entregue. Existem valores definidos para o TCP (Transmission Control Protocol - 6), UDP (User Datagram Protocol - 17)."

Larry L. Peterson, Bruce S. Davie - Redes de Computadores: Uma Abordagem de Sistemas, 5a edição, p. 128 (Elsevier, 2013)

O modelo de serviço best-effort do IP, sobre o qual TCP adiciona confiabilidade e UDP não, e descrito por Peterson & Davie:

"Esse modelo de serviço também é chamado de melhor esforço porque, embora o IP faça todo o esforço possível para entregar os datagramas, ele não oferece garantias de que irá de fato fazê-lo."

Larry L. Peterson, Bruce S. Davie - Redes de Computadores: Uma Abordagem de Sistemas, 5a edição, p. 126 (Elsevier, 2013)

Diagrama: handshake 3-way vs fire-and-forget

O contraste visual entre os dois protocolos torna a diferença imediata: TCP estabelece um diálogo antes de transmitir qualquer dado; UDP simplesmente dispara o datagrama sem verificação.

Diagrama do handshake TCP de 3 vias (SYN, SYN-ACK, ACK) contrastado com o envio fire-and-forget do UDP
No TCP, nenhum dado é enviado antes de completar as três mensagens do handshake. No UDP, o primeiro datagrama sai imediatamente, sem qualquer negociação prévia.
TCP -- Handshake 3-way Cliente Servidor SYN (seq=x) SYN+ACK (seq=y, ack=x+1) ACK (ack=y+1) Dados (payload) ACK dos dados overhead handshake UDP -- Fire-and-Forget Remetente Receptor Datagrama 1 Datagrama 2 Datagrama 3 (perdido) x Datagrama 4 (sem esperar) Datagrama 5 Sem ACK, sem retransmissão Aplicação decide o que fazer com perda
No TCP, nenhum dado é enviado antes de completar as três mensagens do handshake. No UDP, o primeiro datagrama sai imediatamente, sem qualquer negociação prévia.

Distribuição do tráfego: TCP vs UDP na internet

Com o crescimento do QUIC (que usa UDP como transporte) e HTTP/3, a fatia do UDP no tráfego global cresceu significativamente desde 2021. Estimativas de pesquisadores de rede indicam que, em 2026, aproximadamente 30% do tráfego de internet já passa por UDP, impulsionado principalmente pelo QUIC em navegadores Chrome e Firefox acessando Google, YouTube, Meta e Cloudflare.

Tráfego internet global (2026, estimativa)
~70% TCP (HTTP/1.1, HTTP/2, SMTP, SSH...) ~30% UDP (QUIC/HTTP3, DNS, VoIP, jogos)

Fonte: estimativas baseadas em Cloudflare Radar, APNIC DNS data e IETF QUIC WG reports 2025-2026

Como UDP funciona: velocidade sem garantia

UDP (User Datagram Protocol) está definido na RFC 768 em apenas três páginas. É deliberadamente simples: envia datagramas sem estabelecimento de conexão, sem confirmação de recebimento, sem reordenação e sem controle de fluxo.

O cabeçalho UDP tem exatos 8 bytes: porta de origem (2 bytes), porta de destino (2 bytes), comprimento (2 bytes) e checksum (2 bytes). O cabeçalho TCP mínimo tem 20 bytes e pode chegar a 60 bytes com opções. Menos overhead por pacote significa mais espaço para dados e menos processamento por datagrama.

Tabela comparativa: 12 dimensões

Comparação técnica entre TCP e UDP (2026)
Dimensão TCP UDP
RFC de referência RFC 9293 (atualização 2022) RFC 768 (1980)
Orientado a conexão Sim (handshake 3 vias obrigatório) Não (connectionless)
Garantia de entrega Sim (ACK + retransmissão) Não (best-effort)
Ordenação de pacotes Sim (números de sequência) Não (chega na ordem que chegar)
Tamanho do cabeçalho 20 bytes mínimo (até 60 com opções) 8 bytes fixos
Latência de estabelecimento Mínimo 1 RTT (handshake) Zero (envia imediatamente)
Controle de congestionamento Sim (CUBIC, BBR, Reno) Não (a aplicação decide)
Head-of-line blocking Sim (na mesma conexão) Não
Velocidade de transmissão Controlada pelo congestionamento Limitada só pela banda disponível
Uso típico HTTP/1.1, HTTP/2, SMTP, FTP, SSH DNS, jogos, VoIP, streaming, QUIC
Suporte nativo a multicast Não Sim
Complexidade de implementação Alta (stack de estado completo) Baixa (sem estado de conexão)

Qual usar: casos de uso reais

Use TCP quando

Transferência de arquivos via FTP, SFTP ou SCP: cada byte precisa chegar exatamente uma vez, na ordem certa. Um arquivo corrompido por pacote perdido é inútil. HTTP e HTTPS (navegação web clássica com HTTP/1.1 e HTTP/2): páginas web são conjuntos de recursos que precisam chegar completos. E-mail (SMTP, IMAP, POP3): a mensagem precisa chegar inteira. SSH (acesso remoto): comandos executados em sequência dependem de entrega garantida e ordenada.

Use UDP quando

DNS em consultas normais: a pergunta e a resposta cabem em um único datagrama de 512 bytes ou menos. A latência importa mais que garantia. VoIP (chamadas de voz): codecs como Opus (RFC 6716) têm correção de erro embutida e preferem descartar pacotes antigos a esperar retransmissão. Streaming ao vivo: manter o ritmo do vídeo é prioritário. Jogos online em tempo real: posição de jogadores, tiros, eventos de colisão chegam dezenas de vezes por segundo e precisam ser atuais, não antigos.

DNS usa TCP ou UDP?

Ambos, dependendo do tamanho da resposta. Consultas normais usam UDP na porta 53. Se a resposta excede 512 bytes (comum com DNSSEC), o resolvedor tenta novamente via TCP. Transferências de zona DNS (AXFR), que copiam todo o banco de dados de um servidor para outro, sempre usam TCP. Com EDNS0 (RFC 6891), o limite de UDP foi estendido para até 4096 bytes, reduzindo a necessidade de fallback para TCP.

Protocolo de transporte por aplicação de rede (2026)
Aplicação Protocolo padrão Porta(s) Motivo da escolha
HTTP/1.1 e HTTP/2 TCP 80 (HTTP), 443 (HTTPS) Integridade de página obrigatória
HTTP/3 UDP (QUIC) 443 Sem head-of-line blocking, 0-RTT
DNS consulta normal UDP 53 Resposta cabe em 1 datagrama, latência importa
SSH TCP 22 Sessão interativa, ordem de comandos crítica
VoIP (áudio RTP) UDP 5004 (típico) Áudio atrasado é inútil, descarte é melhor
Games gameplay UDP Variado por jogo Estado de jogo precisa ser atual
SMTP (e-mail saída) TCP 25, 587, 465 Mensagem precisa chegar completa

QUIC e HTTP/3: o protocolo que mistura os dois

QUIC foi padronizado pela IETF na RFC 9000 em 2021. Desenvolvido originalmente pelo Google, o QUIC roda sobre UDP e reimplementa do zero as funções que faltam no UDP: controle de fluxo, multiplexação de streams sem head-of-line blocking, retransmissão seletiva e criptografia TLS 1.3 embutida.

HTTP/3 usa QUIC como transporte. A mudança em relação ao HTTP/2 sobre TCP é fundamental: no HTTP/2, múltiplos streams compartilham uma conexão TCP, e a perda de um pacote bloqueia todos os streams. No HTTP/3 sobre QUIC, cada stream é independente. Um pacote perdido de um stream não impacta os outros.

Vantagens do QUIC em 2026

Conexão mais rápida: 0-RTT (zero round-trip time) em reconexões, onde o cliente armazena parâmetros da sessão anterior e os reutiliza sem novo handshake. Migração de conexão: se o IP muda durante a sessão (comum em celulares alternando entre Wi-Fi e 4G), a conexão QUIC não precisa ser reestabelecida porque usa um identificador de conexão que não depende do IP. TLS 1.3 embutido: sem negociação separada de TLS e TCP, reduzindo a latência de estabelecimento.

Onde HTTP/3 já está ativo

Google, YouTube, Meta (Facebook, Instagram, WhatsApp), Cloudflare e a maioria dos CDNs grandes já negociam HTTP/3 quando o cliente suporta. Para verificar se seu navegador está usando HTTP/3, abra as ferramentas do desenvolvedor (F12), aba Rede, e observe a coluna Protocolo. "h3" indica HTTP/3 sobre QUIC.

TCP vs UDP em jogos online no Brasil

Jogos competitivos operam com servidores dedicados na América do Sul, geralmente em São Paulo (principal hub da IX.br) ou Fortaleza (próximo aos cabos submarinos). Os protocolos de transporte para dados de jogo são quase universalmente UDP.

League of Legends no servidor BR1 usa UDP para pacotes de gameplay (posição, habilidades, dano) e TCP para lobby, chat e dados do perfil. A latência média esperada de São Paulo e 10-30ms. Do interior de Minas Gerais ou Nordeste, 30-80ms dependendo do roteamento do ISP local até o IX.br.

Valorant usa UDP com pacotes criptografados para o protocolo de gameplay e TCP para o cliente Riot. O servidor SA fica em São Paulo. Counter-Strike 2 usa o protocolo Source Engine sobre UDP, com tick rate de 64 Hz em servidores públicos e 128 Hz em competitivo.

Protocolo de transporte por tipo de dado em jogos populares no Brasil (2026)
Dado transmitido Protocolo Motivo
Posição e ações dos jogadores UDP Dado desatualizado tem menos valor que novo dado atual
Chat, lobby, perfil TCP Mensagens precisam chegar completas e na ordem
Atualizações e patches TCP (HTTP/HTTPS) Integridade de arquivo é crítica
Voz em jogo (VoIP) UDP Latência importa mais que qualidade
Eventos de jogo (kills, pontos) UDP com confirmação customizada Rápido com proteção contra perda crítica

Como identificar qual protocolo seu aplicativo usa

No Windows, o comando netstat -an no Prompt de Comando lista todas as conexões ativas com protocolo (TCP ou UDP), endereço local, endereço remoto e estado. Para filtrar apenas conexões de um processo específico, use netstat -b (requer executar como administrador).

No Linux e macOS, ss -tunap lista sockets TCP e UDP ativos com o processo associado. Para captura de pacotes e análise detalhada, o Wireshark filtra por protocolo: tcp ou udp no campo de filtro mostram apenas as conexões relevantes.

Para verificar HTTP/3 no navegador: Chrome e Edge mostram o protocolo na coluna "Protocol" na aba Network do DevTools (F12). "h3" é HTTP/3 sobre QUIC, "h2" é HTTP/2 sobre TCP, "http/1.1" é HTTP/1.1. Firefox mostra informações similares na aba Rede.

Controle de congestionamento TCP em profundidade

O comportamento do TCP diante de perda de pacotes é uma das áreas mais relevantes para entender por que downloads ficam lentos em redes com congestionamento, mesmo que a velocidade contratada seja alta. O algoritmo de controle de congestionamento do TCP funciona com uma janela deslizante (congestion window ou cwnd) que define quantos bytes o emissor pode ter "em trânsito" sem confirmação ACK.

No início de uma conexão, o TCP faz slow start: a cwnd começa em 1 MSS (Maximum Segment Size, tipicamente 1460 bytes em Ethernet) e dobra a cada RTT. Esse crescimento exponencial continua até atingir o ssthresh (slow start threshold) ou detectar congestionamento. Quando há perda, o CUBIC (algoritmo padrão do Linux) reduz a cwnd para 0,7 vezes a cwnd e tenta recuperar de forma mais suave do que o algoritmo Reno clássico.

Na prática isso significa: com 1% de perda de pacotes em uma conexão TCP com RTT de 50ms, o throughput máximo teórico pelo modelo de Mathis é de aproximadamente 2,9 Mbps, independente da velocidade física do enlace ser 100 Mbps ou 1 Gbps. Com 0,1% de perda, o mesmo modelo dá aproximadamente 9 Mbps: reduzir a perda dez vezes melhora o throughput cerca de 3,2 vezes, a raiz quadrada de dez. A fórmula é (MSS / RTT) x (C / raiz da perda), com a constante C próxima de 1,22 no modelo de Mathis.

O BBR (Bottleneck Bandwidth and RTT), desenvolvido pelo Google e disponível no Linux kernel desde 4.9 (2016), aborda o problema diferentemente. Em vez de inferir congestionamento por perda, o BBR modela a largura de banda disponível e a latência de propagação diretamente, mantendo a cwnd em um nível que maximiza o throughput sem criar filas. Em enlaces com alguma perda não relacionada ao congestionamento (como fibras ópticas com micro-interrupções), o BBR consegue taxas muito maiores que o CUBIC.

TCP Fast Open: reduzindo a latência do handshake

TCP Fast Open (TFO, RFC 7413) é uma extensão que permite enviar dados no primeiro pacote SYN, eliminando o overhead de 1 RTT do handshake para conexões repetidas com o mesmo servidor. O cliente armazena um cookie criptográfico fornecido pelo servidor na primeira conexão e o envia junto com o SYN nas conexões subsequentes. O servidor verifica o cookie e já começa a processar os dados sem esperar o ACK final do handshake.

TFO está disponível no Linux desde kernel 3.7 e no macOS desde Yosemite. No Windows, foi implementado no Windows 10. Para conexões com latência alta (como de cidades do interior do Brasil para servidores em São Paulo com 80ms de RTT), TFO pode reduzir o tempo de carregamento de páginas em 10-15%.

TLS 1.3 e o impacto na latência de HTTPS

Antes do TLS 1.3 (RFC 8446, 2018), uma conexão HTTPS sobre TCP exigia: 1 RTT para o handshake TCP + 2 RTTs para negociação TLS 1.2 = 3 RTTs antes do primeiro byte de dado. Com TLS 1.3, a negociação cai para 1 RTT (handshake TCP) + 1 RTT (TLS 1.3 1-RTT) = 2 RTTs. Com TLS 1.3 0-RTT (para reconexões), cai para 1 RTT total. O QUIC/HTTP3 vai além: 0-RTT de handshake para reconexões, sem separação entre TCP e TLS.

Para usuários com conexões de 60ms de RTT para servidores SA, a diferença entre TLS 1.2 e TLS 1.3 representa 60ms a menos de espera a cada nova conexão HTTPS. Multiplicado por dezenas de recursos em uma página moderna (scripts, fontes, imagens), o impacto acumulado é perceptível no tempo de carregamento.

UDP, multicast e protocolos especializados

Uma capacidade do UDP que o TCP não tem é o suporte nativo a multicast. Em uma transmissão multicast, um único pacote UDP é enviado para um grupo de receptores simultaneamente, em vez de enviar uma cópia separada para cada um. Isso é fundamental para IPTV (televisão por protocolo de internet), que alguns provedores brasileiros usam para entregar TV pela fibra sem triplicar o uso de banda para cada assinante assistindo ao mesmo canal.

Streaming multicast de vídeo opera tipicamente sobre RTP/UDP (Real-time Transport Protocol). O protocolo IGMP (Internet Group Management Protocol) gerencia a lista de receptores interessados em cada grupo multicast. Roteadores de borda do ISP usam IGMP snooping para encaminhar o tráfego multicast somente para as portas onde há receptores registrados, evitando inundar toda a rede com o tráfego de vídeo.

No contexto doméstico, UDP é também a base do mDNS (Multicast DNS, RFC 6762), usado por dispositivos da Apple (AirPlay, AirDrop, Bonjour) e sistemas de cast para descoberta local de serviços sem necessidade de servidor DNS centralizado. O protocolo envia mensagens UDP para o grupo multicast 224.0.0.251 (IPv4) ou ff02::fb (IPv6) na porta 5353.

DTLS: segurança sobre UDP

DTLS (Datagram Transport Layer Security) é o equivalente do TLS para UDP. Especificado na RFC 9147 (DTLS 1.3, 2022), o DTLS adiciona autenticação e criptografia a datagramas UDP sem exigir conexão orientada. WebRTC (a tecnologia por trás de videochamadas no navegador) usa DTLS para proteger os canais de dados e o fluxo de mídia. Não é possível usar TLS sobre UDP diretamente porque TLS pressupõe entrega ordenada e sem perda, o que é exatamente o que o UDP não garante.

QUIC e HTTP/3: o futuro e UDP

Uma das mudanças mais significativas na arquitetura da internet moderna foi a adoção do QUIC como protocolo de transporte para HTTP/3. O QUIC (RFC 9000, 2021) roda sobre UDP mas reimplementa dentro do protocolo as funcionalidades que tornavam o TCP confiável: controle de congestionamento, retransmissão seletiva, controle de fluxo e multiplexação de streams sem head-of-line blocking.

O head-of-line blocking é o problema central que o HTTP/2 sobre TCP não resolveu: quando um segmento TCP é perdido, todos os streams HTTP/2 multiplexados sobre aquela conexão ficam travados esperando a retransmissão, mesmo que a maioria dos streams não precise daquele segmento perdido. Com QUIC sobre UDP, cada stream é independente: a perda de um datagrama de um stream não bloqueia os outros.

O Cloudflare, o Google e a Akamai já servem a maioria do tráfego web via HTTP/3 para navegadores modernos. O Chrome e o Firefox ativam HTTP/3 por padrão. Para verificar se uma conexão está usando HTTP/3, no Chrome acesse o atalho chrome://net-internals/#quic e veja as conexões QUIC ativas, ou use a extensão HTTP/2 and SPDY indicator.

O impacto prático para o usuário em redes com alta perda de pacotes é significativo. Testes do IETF e do Google mostram que HTTP/3 sobre QUIC tem desempenho melhor que HTTP/2 sobre TCP quando a taxa de perda de pacotes é acima de 1-2%. Redes móveis, Wi-Fi congestionado e conexões de qualidade marginal se beneficiam mais. Em redes com perda próxima de zero, a diferença é negligenciável.

WebRTC: TCP e UDP para mídia em tempo real

O WebRTC (Web Real-Time Communication) é o protocolo usado por Google Meet, Zoom no navegador, Discord e videochamadas no WhatsApp Web. Ele usa uma pilha de protocolos híbrida: ICE (Interactive Connectivity Establishment) para descoberta de candidatos de conectividade, STUN/TURN para atravessar NAT, DTLS para criptografia e SRTP (Secure Real-time Transport Protocol) sobre UDP para o fluxo de mídia.

O WebRTC tenta estabelecer conexão UDP direta entre os clientes (peer-to-peer) quando possível. Quando UDP direto é bloqueado por firewall ou CGNAT, ele cai para TCP via servidores TURN. A conexão UDP direta tem latência tipicamente 30-80 ms menor que via TURN em TCP, o que explica por que chamadas de vídeo pelo mesmo provedor podem ter qualidade melhor que chamadas entre provedores diferentes com CGNAT.

Para verificar o tipo de conexão WebRTC em uma chamada no Chrome, acesse chrome://webrtc-internals/ durante a chamada. A linha "candidatepair" mostra se a conexão é direta (host ou srflx) ou via servidor de relay (relay). "relay" indica que o firewall ou CGNAT está forçando o tráfego pelo servidor TURN da aplicação.

TCP vs UDP em redes brasileiras: considerações práticas

No Brasil, o tráfego de dados residencial passa principalmente por duas estruturas: fibra óptica GPON nos grandes centros (com baixa perda de pacotes, tipicamente abaixo de 0,1%) e cabo coaxial DOCSIS em áreas onde a Claro/NET ainda opera infraestrutura HFC. Redes DOCSIS têm caracteristicamente mais jitter que GPON por causa do compartilhamento do meio coaxial entre usuários do mesmo nó.

Para usuários em redes com jitter alto (acima de 10 ms de variação), TCP tende a se comportar pior porque o algoritmo de controle de congestionamento interpreta jitter como sinal de perda e reduz a janela de transmissão. O BBRv2, quando disponível no sistema operacional e no servidor de destino, lida melhor com jitter porque baseia as decisões de taxa em medição de largura de banda e RTT, não em eventos de perda.

A Anatel não regula diretamente a proporção de TCP vs UDP no tráfego de provedores, mas a Resolução 614/2013 proíbe degradação discriminatória de protocolos sem transparência ao usuário. Provedores que limitam UDP (comum em algumas configurações de QoS para "controle de P2P") podem estar infringindo o princípio de neutralidade de rede do Marco Civil da Internet (Lei 12.965/2014, artigo 9o).

Perguntas frequentes sobre TCP e UDP

Qual a diferença principal entre TCP e UDP?

TCP garante que os dados cheguem completos, na ordem certa, sem perda. Para isso usa handshake de três vias, números de sequência e retransmissão automática de pacotes perdidos. UDP não faz nenhuma dessas garantias: envia o datagrama e não verifica se chegou. O custo do TCP é latência adicional pelo handshake e pela retransmissão. A vantagem do UDP é velocidade e simplicidade para aplicações que preferem dado atual a dado garantido.

Jogos online usam TCP ou UDP?

A parte de gameplay (posição de jogadores, tiros, eventos em tempo real) usa UDP. Chat, lobby e atualizações usam TCP. Jogos competitivos com tick rate alto (CS2 128 Hz, Valorant 128 Hz) precisam enviar dezenas de pacotes por segundo, e esperar retransmissão TCP tornaria o jogo injogável com qualquer perda de pacote. UDP permite que o cliente descarte informação antiga e continue com o estado atual do jogo.

O que é o handshake de três vias do TCP?

São três mensagens trocadas antes de qualquer dado: o cliente envia SYN com um número de sequência inicial, o servidor responde com SYN/ACK confirmando e iniciando sua própria sequência, o cliente confirma com ACK. Só após esse handshake a conexão está pronta para dados. O handshake custa pelo menos um RTT completo, o que em conexões com 50ms de latência significa 50ms de espera antes de o primeiro byte de dado ser enviado.

QUIC substitui TCP ou UDP?

QUIC (RFC 9000) roda sobre UDP mas reimplementa no nível da aplicação as garantias que o UDP não oferece: controle de fluxo, retransmissão seletiva e multiplexação de streams independentes. HTTP/3 usa QUIC. A vantagem sobre TCP é eliminar o head-of-line blocking e suportar migração de conexão sem rehandshake quando o IP muda. QUIC não substitui UDP, ele usa UDP como transporte.

DNS usa TCP ou UDP?

Por padrão, UDP na porta 53 para consultas normais. Quando a resposta excede 512 bytes (comum com DNSSEC ou registros TXT longos), o resolvedor automaticamente tenta novamente via TCP na porta 53. Transferencias completas de zona (AXFR) sempre usam TCP. Com EDNS0 (RFC 6891), o limite UDP foi estendido para até 4096 bytes, reduzindo os fallbacks para TCP em consultas normais.

Qual porta o TCP e UDP usam?

Portas são independentes do protocolo de transporte: tanto TCP quanto UDP usam portas de 0 a 65535. A IANA mantém o registro oficial: HTTP é TCP 80, HTTPS é TCP 443, DNS é UDP/TCP 53, QUIC usa UDP 443, SSH é TCP 22, VoIP SIP é UDP 5060. Uma porta pode ter serviços diferentes em TCP e UDP: a porta 53/UDP é DNS, a porta 53/TCP também é DNS para respostas grandes, mas com comportamentos distintos.

VoIP usa TCP ou UDP?

UDP para o áudio em tempo real (fluxo RTP), TCP ou UDP para sinalização de chamada (SIP). O áudio vai por UDP porque fragmentos de voz atrasados não têm utilidade: é melhor ter uma pequena lacuna no áudio do que congelar a conversa esperando a retransmissão de um pacote TCP perdido. Codecs como Opus (RFC 6716) têm correção de erro de forward error correction embutida para compensar perdas pequenas.

O que acontece com pacotes UDP perdidos?

Dependendo da aplicação. DNS descarta a consulta e o resolvedor tenta novamente após um timeout. Em jogos, o cliente usa interpolação: assume a posição mais provável do jogador com base nos últimos pacotes recebidos, e corrige quando o próximo chega. Em VoIP, o codec preenche a lacuna com ruído de conforto ou silêncio curto. O protocolo UDP simplesmente não sabe que o pacote se perdeu. Toda a lógica de recuperação fica na camada de aplicação.

TCP é mais lento que UDP?

Para throughput puro em rede sem perda, TCP e UDP chegam ao mesmo resultado: ambos ficam limitados pela banda disponível. A diferença está na latência de início de conexão (1 RTT de overhead no TCP vs zero no UDP) e no comportamento com perda. Em redes com perda, TCP reduz a taxa de envio pelo controle de congestionamento. UDP envia na taxa máxima, mas a aplicação decide como lidar com perdas. Para jogos e VoIP, UDP é preferido pela latência menor, não pela velocidade bruta.

Firewall bloqueia UDP mais que TCP?

Firewalls corporativos frequentemente bloqueiam UDP com exceção de portas específicas (DNS/53, NTP/123) porque UDP stateless é mais difícil de rastrear do que TCP orientado a conexão. Isso cria problemas para QUIC (UDP 443) e para jogos online que usam portas UDP não padrão. Em redes corporativas que bloqueiam UDP 443, navegadores fazem fallback automático para HTTP/2 sobre TCP. Em jogos, o cliente geralmente tenta portas alternativas ou notifica o usuário que a porta UDP está bloqueada.

Artigos relacionados

TCP e UDP não são concorrentes. São ferramentas para casos distintos. TCP carrega a web, o e-mail e qualquer transferência onde perda é inaceitável. UDP carrega os jogos, as chamadas de voz e o streaming ao vivo onde latência baixa vale mais que entrega perfeita. O QUIC está redefinindo essa divisão para navegação web, mas o princípio fundamental permanece. Use a ferramenta Ping e Traceroute para medir latência e perda na sua conexão.

Referências bibliográficas

  • Tanenbaum, A. S. Redes de Computadores. 4a edição. Campus, 2004. (Capítulo 6 - Camada de Transporte: TCP e UDP)
  • Peterson, L. L.; Davie, B. S. Redes de Computadores: Uma Abordagem de Sistemas. 5a edição. Elsevier, 2013. (Capítulo 5 - Transporte: TCP e UDP)
  • Postel, J. RFC 793 - Transmission Control Protocol (TCP). IETF, setembro 1981.
  • Postel, J. RFC 768 - User Datagram Protocol (UDP). IETF, agosto 1980.
  • Touch, J.; Eddy, W.; Jacobson, V. RFC 9293 - Transmission Control Protocol (TCP) - atualização do RFC 793. IETF, agosto 2022.
  • Iyengar, J.; Thomson, M. RFC 9000 - QUIC: A UDP-Based Multiplexed and Secure Transport. IETF, maio 2021.
FERRAMENTA

Teste de Ping

Medir latência TCP

Leituras Relacionadas

  • O que é ping -- O que e ping: ICMP Echo, latência, RTT, criado por Mike Muuss em 1983, como usar para diagnóstico de rede e valores normais de ping no Brasil.
  • Jitter explicado -- Jitter explicado de forma clara: o que e variação de latência, como afeta VoIP e jogos online, valor ideal abaixo de 30 ms e como medir na sua conexão.
  • Perda de pacotes causas -- Causas de perda de pacotes: congestionamento, hardware, interferência Wi-Fi e ISPs regionais. Fluxograma de diagnóstico passo a passo com ping e traceroute.