Num jogo on-line, seu personagem de repente pula alguns passos para a frente enquanto o adversário parece parado. Ao mesmo tempo, as mensagens que você digita no chat do jogo nunca chegam incompletas ou fora de ordem. As duas coisas passam pela mesma conexão, mas com regras diferentes. A posição do seu personagem provavelmente é enviada por UDP, e suas mensagens e dados de login, provavelmente por TCP.
Neste artigo explicamos, em linguagem de computador simples, o que são TCP e UDP, como transportam os dados e em que diferem. Depois mostramos o que sites, e-mail, jogos, chamadas de vídeo e transmissões ao vivo usam e por quê, qual a relação com ping e perda de pacotes nos jogos, por que o suporte a UDP importa na escolha de um proxy e o que significa “abrir uma porta”.
O que são TCP e UDP?
Na internet, um dado como uma página da web ou uma mensagem de voz não é enviado de uma vez só. Primeiro ele é dividido em partes pequenas. Essas partes se chamam pacotes. Cada pacote segue sozinho, pode fazer um caminho diferente e é remontado do outro lado.
Os conjuntos de regras que definem como essas partes são enviadas, o que acontece se elas se perdem e em que ordem são remontadas se chamam protocolos. TCP e UDP são os dois protocolos mais comuns para esse trabalho:
- TCP (Transmission Control Protocol): foca em entregar os dados completos e em ordem. Sua definição atual está no RFC 9293 da IETF.
- UDP (User Datagram Protocol): foca em enviar os dados esperando o mínimo possível. Sua definição está no RFC 768, um texto curto de três páginas.
Os dois funcionam sobre a mesma internet, os mesmos cabos e o mesmo modem. A diferença está no jeito de enviar os pacotes.
Como o TCP funciona?
A regra básica do TCP é: ele não segue em frente enquanto não tem certeza de que tudo o que enviou chegou. Isso acontece em quatro passos.
- Primeiro a conexão é estabelecida. Antes de enviar dados, os dois computadores trocam três mensagens curtas: “quero me conectar”, “ok, estou pronto”, “eu também estou pronto”. Isso se chama aperto de mão em três etapas. Os dados de verdade só saem depois dessas mensagens.
- Os pacotes são numerados. Cada pacote recebe um número de sequência. Mesmo que o outro lado receba os pacotes fora de ordem, ele os organiza pelos números.
- Espera-se confirmação de cada pacote. O outro lado envia uma confirmação do tipo “recebi tudo até este número”. Quem enviou espera essa confirmação.
- O pacote sem confirmação é reenviado. Se a confirmação não chega em certo tempo, o TCP considera o pacote perdido e o envia de novo. Se a rede está congestionada, ele também reduz a velocidade de envio.
Por isso, um arquivo enviado por TCP chega completo ou não chega. Você não recebe meia página da web nem um e-mail com letras faltando. O preço é o tempo: cada espera por confirmação e cada reenvio somam alguns milissegundos.
Como o UDP funciona?
A regra do UDP é bem mais simples: envia o pacote e passa para o próximo.
- Não se estabelece conexão. Não há aperto de mão; o primeiro pacote sai na hora.
- Não se espera confirmação. Se o outro lado recebeu o pacote não é problema do UDP.
- Pacotes perdidos não são reenviados. O que se perde no caminho fica perdido.
- A ordem não é garantida. Os pacotes podem chegar em outra ordem; o UDP não os reorganiza.
Com tão poucas regras, o UDP é rápido e leve. Como quem envia não espera nada, os dados saem assim que são gerados. Se for preciso lidar com perda e ordem, a própria aplicação cuida disso. Um jogo, por exemplo, descarta uma posição antiga que chegou atrasada e usa a mais recente.
Comparação entre TCP e UDP
| Característica | TCP | UDP |
|---|---|---|
| Estabelecer conexão | Aperto de mão antes de enviar dados | Começa a enviar direto |
| Confirmação de entrega | Verifica se cada pacote chegou | Não verifica |
| Pacote perdido | Reenvia | Não reenvia |
| Ordem dos pacotes | Entrega na ordem certa | Não garante a ordem |
| Atraso | Maior por causa das confirmações e reenvios | Menor |
| Com a rede congestionada | Reduz a própria velocidade | Continua enviando no mesmo ritmo |
| Informação extra por pacote | Mais | Menos |
| Indicado para | Tudo em que a precisão importa | Comunicação em tempo real, consultas curtas |
| Exemplos do dia a dia | Sites, e-mail, downloads, mensagens | Jogos on-line, chamadas de vídeo, transmissões ao vivo, DNS |
A conclusão da tabela: o TCP não é simplesmente “lento” nem o UDP simplesmente “rápido”. Eles respondem a perguntas diferentes. O TCP serve para tarefas que respondem sim a “os dados precisam chegar completos?”, e o UDP para tarefas que respondem não a “dados que chegam atrasados ainda servem?”.
Qual é usado no dia a dia?
Tarefas que usam TCP:
- Páginas da web. Quando o navegador abre um site, cada letra e cada imagem precisam chegar completas. O HTTP, protocolo de comunicação da web, funcionou por muito tempo só sobre TCP.
- E-mail. Não dá para aceitar um e-mail com uma frase faltando.
- Downloads e atualizações. Um arquivo com um único byte faltando não abre.
- Mensagens de texto em apps de conversa. A mensagem pode chegar atrasada, mas não incompleta.
- Login, compras e chat nos jogos. Dados da conta e mensagens precisam chegar corretamente.
Tarefas que usam UDP:
- Movimento e posição em jogos on-line. Se uma das posições enviadas dezenas de vezes por segundo se perde, a próxima já está a caminho. Esperar a perdida travaria o jogo.
- Chamadas de vídeo e de voz. Um trecho de áudio que chega meio segundo atrasado já não serve; pular em vez de esperar mantém a conversa fluida.
- Transmissões ao vivo. Pequenas perdas são toleradas para entregar a transmissão o mais perto possível do tempo real.
- Consultas DNS. A consulta que transforma o nome de um site em endereço é muito curta; se a resposta não vier, perguntar de novo é mais rápido que estabelecer uma conexão.
Conexões web mais novas: o HTTP/3, versão mais nova do protocolo da web, funciona sobre um protocolo chamado QUIC, e os pacotes do QUIC viajam por UDP. O RFC 9000 da IETF descreve o QUIC como um protocolo de transporte “baseado em UDP”. O próprio QUIC cuida da ordem e dos reenvios que o TCP oferece. Ou seja, alguns sites que você abre hoje chegam por UDP e ainda assim chegam completos.
Por que os jogos usam UDP?
Num jogo on-line, o servidor atualiza a posição dos jogadores muitas vezes por segundo. Enviar essa informação por TCP cria um problema: quando um pacote se perde, o TCP espera para reenviá-lo, e todos os pacotes que vêm depois esperam na fila. Na tela, o jogo congela por um instante e depois os movimentos acumulados aparecem de uma vez.
No UDP, o pacote perdido não é esperado. O jogo usa a próxima posição. No pior caso, seu personagem pula um passo, ou seja, você vê um breve “teletransporte”, mas o jogo não para.
Três termos que você ouve muito nos jogos têm ligação direta com essa diferença:
- Ping: o tempo que um pacote leva para chegar ao servidor e a resposta voltar, em milissegundos (ms). Ping baixo significa que suas ações chegam rápido ao servidor.
- Perda de pacotes: a proporção de pacotes perdidos no caminho. Em jogos com UDP, ela aparece como teletransporte e engasgos.
- Jitter: o ping variando o tempo todo. Quando os pacotes chegam em intervalos irregulares, o jogo perde a fluidez.
Explicamos as causas e as soluções desses problemas em Como resolver ping alto e perda de pacotes. Um exemplo de por que jogadores usam proxy está em Por que jogadores de Knight Online usam proxy.
Proxy e UDP: quais proxies levam UDP?
O proxy passa seu tráfego por um servidor intermediário. Mas nem todo tipo de proxy consegue levar todo protocolo.
| Tipo de proxy | TCP | UDP | Indicado para |
|---|---|---|---|
| Proxy HTTP / HTTPS | Sim | Não | Sites, navegadores, a maioria dos apps |
| Proxy SOCKS5 | Sim | Sim (se o servidor e o app suportarem UDP) | Jogos, chamadas de vídeo, apps de comunicação em tempo real |
Proxies HTTP são feitos para tráfego da web e levam só TCP. Se você tentar passar por um proxy HTTP um jogo que usa UDP, a tela de login pode até abrir, mas a conexão cai quando você entra na partida. SOCKS5 é um tipo de proxy que também consegue levar UDP. Por isso um Proxies SOCKS5 é o preferido para jogos e apps de comunicação em tempo real. Mas, para o UDP funcionar, tanto o servidor proxy quanto o app que você usa precisam suportar UDP no SOCKS5.
Explicamos a diferença entre os dois tipos em Diferença entre SOCKS e HTTP proxy: qual escolher? e os detalhes do SOCKS5 em Proxies SOCKS5: como funcionam e no que diferem. Opções pensadas para jogos estão na nossa página de proxy para jogos, e para transmissões ao vivo na página de proxy para streaming.
O que é porta e o que significa “abrir uma porta TCP/UDP”?
Um computador se conecta à internet com vários programas ao mesmo tempo: navegador, jogo, app de mensagens. Para saber a qual programa um pacote que chega pertence, usam-se números chamados portas. O endereço leva o pacote ao computador certo; a porta, ao programa certo nesse computador.
As portas são contadas separadamente para TCP e UDP. Por isso os guias de configuração de jogos dizem coisas como “abra a porta TCP X e a porta UDP Y”. Isso quer dizer o seguinte: seu modem não deixa entrar conexões de fora por padrão, mas alguns jogos e apps querem aceitar conexões externas. “Abrir uma porta” é dizer ao modem “encaminhe para este computador os pacotes que chegarem neste número”. Na interface do modem, essa configuração costuma se chamar redirecionamento de portas.
Ao abrir uma porta, observe:
- Abra só a porta necessária. Use a porta e o protocolo indicados na página de suporte oficial do jogo.
- Escolha o protocolo certo. Se o guia diz UDP, abrir TCP não resolve; se diz “ambos”, crie duas regras.
- Apague os redirecionamentos que não usa. Portas abertas sem necessidade são um risco à toa.
- Não desligue o firewall. Em vez de desligar o firewall inteiro para resolver um problema, libere só aquele programa. Explicamos o que um firewall faz em Proxy ou firewall: qual é a diferença?
Equívocos comuns
- “UDP é sempre mais rápido.” O UDP espera menos, mas a velocidade de download depende da capacidade da sua conexão. Enviar um arquivo grande por UDP não o baixa mais rápido; o próprio app precisa juntar as partes que faltarem.
- “TCP é mais seguro.” O TCP garante que os dados cheguem completos, mas não os criptografa. A criptografia é papel de camadas acima, como o HTTPS. O QUIC, que roda sobre UDP, também é criptografado.
- “UDP não é confiável e não deve ser usado.” Aceitar perdas não é defeito do UDP, e sim uma escolha deliberada. Em chamadas de vídeo e jogos, é a escolha certa.
- “Se o ping está alto no jogo, é preciso trocar de protocolo.” Não é o jogador que decide qual protocolo o jogo usa. O ping depende da distância até o servidor, do congestionamento da rede e da qualidade da conexão.
Guia de decisão
| Sua necessidade | Qual protocolo e o que fazer |
|---|---|
| Navegar em sites, baixar arquivos | TCP (ou QUIC com HTTP/3); um proxy HTTP ou HTTPS basta |
| Jogar on-line | O movimento do jogo usa UDP; proxy SOCKS5 com UDP ou proxy para jogos |
| Fazer chamadas de vídeo | UDP; se for usar proxy, confira o suporte a UDP |
| Teletransporte e engasgos no jogo | Meça a perda de pacotes e o ping, escolha uma conexão perto do servidor |
| O jogo pede “abra uma porta” | Redirecione no modem a porta e o protocolo da página oficial, só para aquele computador |
| Com proxy o login abre, mas a partida cai | O proxy HTTP não leva UDP; mude para SOCKS5 |
Perguntas frequentes
O que é melhor, TCP ou UDP?
Eles foram feitos para tarefas diferentes. O TCP é indicado quando os dados precisam chegar completos, e o UDP para tarefas em tempo real em que o atraso pesa mais que a perda. A maioria das aplicações usa os dois.
Como saber se um app usa TCP ou UDP?
O jeito mais fácil é ver a página de suporte oficial do app; jogos e apps de comunicação costumam listar as portas e os protocolos que usam. Como regra geral, sites e transferências de arquivos usam TCP, e movimento em jogos e chamadas de vídeo usam UDP.
O que acontece se dados se perdem num app que usa UDP?
O pacote perdido não volta. O app compensa do seu jeito: um jogo usa a próxima posição, uma chamada de vídeo pula um trecho curto de áudio ou imagem. Se a perda for alta, esses pulos ficam perceptíveis.
Dá para jogar com proxy HTTP?
Se o login e o chat do jogo usam TCP, essas partes podem funcionar. Mas, se o movimento e a posição trafegam por UDP, um proxy HTTP não consegue passar esse tráfego. Para jogar, use um proxy SOCKS5 com UDP ou um proxy para jogos.
Abrir uma porta é seguro?
Se você abre só a porta necessária, com o protocolo certo e para o computador certo, o risco é baixo. Abrir portas desnecessárias ou faixas amplas deixa a porta aberta para conexões indesejadas de fora. Apague os redirecionamentos que não usa.
Por que o DNS usa UDP?
A consulta DNS que transforma o nome de um site em endereço é muito curta, e a resposta também. Estabelecer uma conexão levaria mais tempo que a própria consulta. Se a resposta não vier, enviar a consulta de novo é mais rápido. Em respostas grandes, o DNS também pode passar para o TCP.
Em resumo
TCP e UDP são dois protocolos que transportam os dados pela internet em pacotes. O TCP estabelece uma conexão primeiro, espera a confirmação de cada pacote, reenvia os perdidos e entrega na ordem. O UDP envia sem esperar e não pede de novo os pacotes perdidos. Sites, e-mail e arquivos trafegam por TCP; movimento em jogos, chamadas de vídeo e transmissões ao vivo, por UDP. Essa diferença importa na escolha de um proxy: o proxy HTTP leva só TCP, enquanto o SOCKS5 também pode levar UDP. Você encontra tipos de proxy adequados para jogos e comunicação em tempo real nos nossos serviços de proxy.




