Temos independência editorial mas podemos receber comissões se você adquirir uma VPN usando nossos links.
OpenVPN com UDP vs. TCP
JP Jones
JP Jones é nosso Diretor de Tecnologia. Ele tem mais de 25 anos de experiência em engenharia de software e redes e supervisiona todos os aspectos técnicos do nosso processo de testes de VPNs. Ler histórico completo
TCP e UDP são dois protocolos de rede usados para transferir dados pela internet. O UDP é mais rápido e eficiente, enquanto o TCP é mais seguro e estável. O OpenVPN funciona com ambos os protocolos, mas recomendamos testar o UDP primeiro e passar para o TCP, caso não funcione.
O UDP (protocolo de datagrama de usuário) e o TCP (protocolo de controle de transmissão) são dois tipos diferentes de protocolo de comunicação, usados para enviar informações pela internet.
Nas VPNs, o protocolo OpenVPN precisa usar o UDP ou o TCP para transmitir dados entre seu dispositivo e servidor VPN.
Confira abaixo uma tabela que apresenta as principais diferenças entre os dois protocolos:
No entanto, há situações específicas em que o TCP é a melhor opção, em especial quando a confiabilidade é essencial.
Veja um guia rápido de quando usar cada protocolo:
TCP: adequado para atividades web que requerem estabilidade, como a navegação online (HTTP, HTTPS), e-mails (SMTP, IMAP/POP), downloads e uploads (FTP) e acesso remoto a computadores por Secure Shell (SSH)
UDP: adequado para usos em que a velocidade é essencial, como jogos online, transmissões de vídeo, Voice over IP (VoIP) e dispositivos IoT (Internet das Coisas) (p.ex.: sensores que enviam dados esporadicamente para casa)
Por que confiar em nós?
Somos completamente independentes e avaliamos VPNs desde 2016. Nossos conselhos são baseados nos resultados dos testes que nós mesmos realizamos, sem a interferência de incentivos financeiros. Saiba quem somos e como testamos VPNs.
O que é o TCP?
O TCP cria uma conexão entre dois dispositivos, como o seu computador e um servidor web. Dados são enviados por meio dessa conexão. É como uma chamada telefônica na qual os dois dispositivos conversam entre si para poderem verificar se a informação foi recebida de forma adequada.
Com o TCP:
Há a garantia de que todos os pacotes serão recebidos. Se o destinatário não confirmar que recebeu um pacote, o remetente o reenvia.
Os pacotes são sequenciados para garantir que eles chegarão no remetente na mesma ordem em que foram enviados.
Os pacotes não serão enviados se o destinatário não estiver pronto para recebê-los.
O TCP é um protocolo “voltado para a conexão” e usa um Handshake de três vias para estabelecê-la. Funciona por meio da troca dos seguintes pacotes:
Pacote SYN (sincronizar): o cliente inicia a conexão ao enviar um pacote SYN ao servidor. O pacote contém o número de sequência inicial do cliente.
Pacote SYN-ACK (sincronizar-reconhecer): após receber o pacote SYN, o servidor responde com um pacote SYN-ACK. Esse pacote reconhece o SYN do cliente e inclui o número de sequência inicial do próprio servidor.
Pacote ACK (reconhecer): por fim, o cliente envia um pacote ACK ao servidor, reconhecendo o SYN-ACK do servidor. Depois disso, a conexão é estabelecida e cliente e servidor podem começar a trocar dados.
Veja um exemplo de uma VPN estabelecendo uma conexão TCP:
Captura de tela do Wireshark de um Handshake de três vias estabelecendo uma conexão TCP.
O Handshake de três vias garante que tanto o cliente quanto o servidor estejam prontos para se comunicar e sincroniza os números de sequência usados para monitorar que os dados foram enviados.
Esse processo ajuda a prevenir problemas de conexão, perda de dados e outros problemas que podem ocorrer durante o estabelecimento da conexão inicial.
Após a conclusão do Handshake, o cliente e o servidor podem realizar uma troca de dados estável e full-duplex.
O que é o UDP?
Ao contrário do TCP, o UDP é um protocolo sem conexão. Os dados são enviados, mas não há um mecanismo de feedback para confirmar se ele foi entregue sem problemas. O UDP é como enviar algo por correio: você coloca na caixa de correio e não pensa mais nisso.
Com o UDP:
Pacotes de dados podem ser perdidos no caminho e o destinatário não ficará sabendo.
Os pacotes enviados a um destinatário sobrecarregado serão interrompidos (perdidos) e não podem ser recuperados.
Não há um mecanismo de recuperação integrado no UDP para dados perdidos ou corrompidos, mas os aplicativos que usam o UDP podem incluir seus próprios mecanismos de recuperação.
O UDP é instável em comparação ao TCP, mas porque não precisa estabelecer e manter uma conexão, o UDP é mais rápido que o TCP. É o ideal para aplicações altamente sensíveis à latência, como conferências em vídeo e jogos online.
A perda eventual de um pacote pode resultar em uma falha, mas é melhor que o atraso resultante do reenvio do pacote no TCP.
Usando o Wireshark para verificar o tráfego UDP entre as portas 60970 e 12718.
O UDP também tem um cabeçalho menor em comparação ao TCP, resultando em uma sobrecarga menor e velocidades maiores de transmissão.
O Sistema de Nomes de Domínio (DNS) pode e usa tanto o UDP quanto o TCP. Com o aumento nos pacotes de consulta, ele está usando cada vez mais o TCP, mas o protocolo padrão ainda é o UDP para garantir as maiores velocidades possíveis.
TCP vs. UDP: principais diferenças
Ainda que o TCP e o UDP sejam ambos protocolos de comunicação, eles funcionam de formas diferentes.
Confira quais são, na prática, as cinco principais diferenças entre esses protocolos:
1. O UDP é mais rápido que o TCP
Testamos a ExpressVPN e a NordVPN, as duas melhores VPNs de 2024, para ver como suas velocidades ficam ao usar o protocolo OpenVPN com o UDP e com o TCP.
Para cada VPN e protocolo, nos conectamos da nossa sede nos Estados Unidos a um servidor nos EUA, Reino Unido e Austrália e medimos nossas velocidades de download.
Como os dados mostram, o UDP é geralmente mais rápido que o TCP e a diferença aumenta quanto maior for a distância ao servidor.
Isso ocorre porque o TCP entrega os pacotes de dados em um fluxo ordenado e verificado. Qualquer dado incorreto ou faltante precisa ser solicitado novamente do computador remetente, aumentando os atrasos.
Em contraposição, os pacotes UDP têm um cabeçalho menor, permitindo mais carga útil por conexão, resultando em uma taxa de transferência maior.
Dessa forma, o UDP é geralmente usado mais que o TCP em atividades sensíveis à latência, como assistir a streaming e jogar online.
Com a ExpressVPN, o UDP foi 24% mais rápido dos EUA ao Reino Unido e 37% mais rápido à Austrália.
A diferença foi ainda mais nítida ao usar a NordVPN. Perdemos 81% da nossa velocidade de download ao nos conectarmos ao Reino Unido com o TCP e 94% à Austrália.
No entanto, observamos que o TCP foi um pouco mais rápido que o UDP em conexão a um servidor NordVPN no nosso país de localização.
2. O TCP consome mais dados que o UDP
O TCP consome mais dados que o UDP devido às informações adicionais nos cabeçalhos de seus pacotes de dados.
Cada pacote de dado enviado online tem um cabeçalho, como o endereço em um envelope. Ele contém as informações necessárias para levar os dados ao lugar certo e qualquer informação adicional necessária para o protocolo.
Ambos os protocolos incluem portas de origem e destino, o comprimento do pacote, e a soma de verificação nos cabeçalhos, mas o TCP inclui campos adicionais para uma maior confiabilidade na entrega.
Número de sequência
Número de reconhecimento
Sinalizadores de TCP (p.ex. sinalizadores de sincronização e reconhecimento)
Janela (o tamanho do buffer de destino)
Ponteiro de urgência
Parâmetros opcionais de TCP
Por mais que isso faça com que o TCP seja mais estável que o UDP, é menos eficiente. Os cabeçalhos do TCP podem exceder 20 bytes, em comparação a apenas 8 bytes no UDP.
CONSELHO DE MESTRE: a soma de verificação é um cálculo realizado duas vezes nos dados: antes de ser enviado e depois de ser recebido. Caso o resultado entregue seja diferente, isso quer dizer que os dados foram corrompidos durante a transferência.
O TCP também requer mais trocas entre o remetente e destinatário. Isso ocorre porque o destinatário faz o ACK (reconhecimento) da metade dos pacotes que recebe usando o TCP e os pacotes perdidos são reenviados. É por isso que o TCP consome mais dados que o UDP.
De fato, nossa análise de consumo de dados VPN revelou que o OpenVPN com o TCP consumiu 19,96% a mais de dados do que o se consome sem uma VPN, em comparação aos 17,23% a mais utilizados com o OpenVPN com o UDP.
Se tiver um plano de dados celulares em que você paga pelo gigabyte ou tem um limite de dados fixo, você atingirá o seu limite mais rapidamente com o TCP.
3. O TCP é um pouco mais seguro que o UDP
Nem o UDP, nem o TCP são protocolos inerentemente seguros. Eles simplesmente realizam as transmissões de pacotes de dados na internet.
Questões de segurança são geralmente administradas por protocolos ou aplicações de nível mais alto.
Dito isso, o processo de sequenciamento e confirmação usado no TCP faz com que seja um pouco mais difícil que um hacker injete dados maliciosos nele em comparação ao UDP, sem conexão.
Isso ocorre porque o TCP garante que os pacotes são recebidos na ordem correta e que qualquer dado faltante/corrompido seja retransmitido.
No entanto, em termos práticos, nenhum protocolo apresenta questões significativas de segurança quando usados com uma VPN. Tanto o TCP e o UDP são compatíveis com os recursos de criptografia e privacidade que mantêm a sua segurança online,
4. O TCP é mais confiável que o UDP
O TCP é mais confiável que o UDP por diversos motivos, alguns já mencionados aqui, como a verificação de erros mais completa e o uso de um Handshake de três vias para estabelecer uma conexão.
Outro motivo da confiabilidade do TCP, é que, ao contrário do UDP, ele usa mecanismos de controle de fluxo, sendo muito menos provável que perca pacotes.
O TCP emprega um mecanismo de “janela redimensionável” para administrar a transmissão de dados.
O destinatário informa o espaço de carregamento disponível que possui para aceitar pacotes enviados.
O TCP então limita o remetente para que transmita apenas o tamanho dessa “janela”. Depois deve esperar que o destinatário informe se tem mais espaço para continuar.
Captura de tela do Wireshark mostrando o controle de fluxo do TCP em ação.
Esse processo de controle de fluxo permite que o TCP adapte o ritmo da transmissão à capacidade do destinatário, impedindo que seja sobrecarregado.
No entanto, precisar esperar por esse feedback antes de enviar cada pacote faz com que o TCP seja um pouco mais lento e eficiente que o protocolo UDP, que é sem conexão.
Em comparação, o UDP transmite dados em um ritmo melhor adequado ao remetente, sem quaisquer considerações de controle de fluxo.
Isso pode resultar em um servidor poderoso bombardeando um destinatário com diversos fluxos consecutivos de dados, potencialmente excedendo a capacidade dele.
Quando isso ocorre, o destinatário simplesmente abandona os pacotes UDP que não consegue processar, em vez de esperar pela sinalização de controle de fluxo.
5. O UDP é compatível com multicast, e o TCP não
O TCP é voltado para a conexão, ou seja, estabelece uma conexão um-para-um entre um cliente e servidor. Isso apresenta diversas vantagens para uma comunicação ponto a ponto confiável, como aquela entre um navegador e um servidor web.
No entanto, essa estrutura é incompatível com o multicast, um tipo de comunicação de rede usado em conferências de vídeo e jogos online, já que requer um modelo de comunicação um-para-vários.
Em contraposição, o UDP é compatível com o multicast, já que não precisa saber se o destinatário desejado está presente.
A preferência do UDP pela velocidade, em vez de confiabilidade é ideal para o multicast, já que transmite dados sem esperar pelo reconhecimento do destinatário. Um pacote perdido causa apenas falhas mínimas no fluxo em tempo real, sem afetar a transmissão no geral.
UDP vs. TCP: qual é o melhor?
Se a sua VPN permitir que você escolha entre o UDP ou o TCP para o OpenVPN, experimente o UDP primeiro. O UDP é mais rápido que o TCP e você ainda pode usar o TCP dentro do túnel UDP da VPN para atividades como navegação na Web.
Só recomendamos que use o OpenVPN com o TCP caso o UDP esteja bloqueado por um firewall ou se você tiver uma conexão instável.
No fim das contas, o melhor protocolo de comunicação depende do uso pretendido da VPN. Nessa seção, explicamos se o UDP ou TCP são melhores para streaming, navegação geral, evasão de censura e uso geral de VPN.
Streaming e jogos online
Vencedor: UDP
Jogos online e streamings geralmente usam conexões UDP. Fazem isso porque é melhor pular uma pequena parte do streaming do que o atraso que pode ocorrer tentando recuperar essa perda.
Por isso, recomendamos optar pelo UDP caso esteja usando uma VPN para assistir streaming ou jogar online.
Conseguimos um streaming de alta definição mais consistente ao usar o UDP do que com o TCP.
Se usar o OpenVPN TCP, sua VPN pode tentar recuperar pacotes de dados perdidos sem necessidade. Caso espere pelo reenvio dos pacotes perdidos, um jogo ou streaming ao vivo pode continuar a avançar enquanto você espera a tela atualizar.
Contornar firewalls e evadindo censura
Vencedor: TCP
Caso precise contornar censura ou firewalls, opte pelo TCP para OpenVPN.
Ao usar o TCP na porta 4433, seu tráfego VPN aparenta ser igual a um tráfego web HTTPS criptografado. Bloquear a porta TCP 443 iria desconectar todos os sites de e-commerce, por isso esse tráfego geralmente consegue perpassar firewalls.
Algumas VPNs também contam com suporte para porta 80 do TCP, usado para descriptografar tráfego web e também não tem dificuldade em passar por firewalls.
Na nossa experiência, os protocolos TCP forma mais confiáveis para contornar a censura web.
Alunos já relataram que usando um OpenVPN com TCP conseguiram contornar os firewalls no campus, mas foram bloqueados com o UDP.
O TCP pode funcionar em alguns países onde as VPNs estão bloqueadas oficialmente, mas tenha em mente que o seu tráfego VPN ainda pode ser identificado com uma inspeção profunda de pacotes. O TCP em si não protege você se usar VPNs não for permitido ou seguro no seu país.
Sempre tente primeiro usar o UDP para OpenVPN. É mais rápido e os seus aplicativos ainda podem ter um túnel interno de TCP caso precisem, para garantir estabilidade.
A OpenVPN Inc, a empresa que cria software com base no protocolo OpenVPN, afirma que:
“O protocolo OpenVPN em si funciona melhor com apenas o protocolo UDP. E, por padrão, a(s) conexão(ões) … são pré-programadas para sempre testar primeiro o UDP e, caso ele falhe, tentem usar o TCP.”
Dito isso, caso sua VPN não esteja funcionando com o UDP por problemas na rede, usar o OpenVPN com o TCP geralmente soluciona esse problema. O TCP é projetado para compensar conexões de rede instáveis.
E-mails e navegação web
Vencedor: UDP
Recomendamos usar o OpenVPN UDP quando estiver realizando atividades como enviar e-mails e navegar na Web.
É um engano comum achar que você deve usar um túnel VPN com TCP para aplicativos que precisam de maior estabilidade. Não é necessário e muitas vezes nem é uma boa ideia. A conexão interna ainda conta com o TCP se precisar dele. O túnel VPN não requer uma camada adicional.
Caso você envolva um túnel VPN TCP com uma conexão TCP, você arrisca ter um efeito “TCP over TCP”, que é quando as duas camadas TCP tentam compensar pacotes perdidos. Isso ocorre porque as camadas internas e externas de TCP usam temporizadores independentes para verificar se um pacote foi perdido.
Como as VPNs usam o UDP e o TCP?
O OpenVPN é um protocolo de VPN de código aberto usado pela grande maioria das VPNs seguras. Em vários casos, os usuários podem escolher entre usar o OpenVPN UDP e o OpenVPN TCP. Aqui, explicamos como essa decisão afeta o funcionamento da sua VPN.
Os recursos UDP e TCP da NordVPN se encontram no menu de protocolos.
Primeiramente, imagine que está navegando em uma página web sem uma VPN. A conexão entre seu dispositivo e o servidor web usará o TCP por ser mais confiável que o UDP. Veja o que acontece:
Como o tráfego TCP passa pela internet sem uma VPN.
Quando você começa a usar uma VPN, novas comunicações são envolvidas em um túnel OpenVPN que liga seu dispositivo ao servidor VPN. O túnel conecta o seu dispositivo e o servidor VPN, que pode usar o UDP ou o TCP.
Como o OpenVPN UDP ou TCP envolve o tráfego TCP.
Ao alterar as suas configurações de VPN, você decide que “embalagem” irá usar.