Somos editorialmente independiente pero puede que ganemos comisiones si compras una VPN desde nuestros link.
OpenVPN con UDP vs. TCP
JP Jones
JP Jones es nuestro CTO. Cuenta con más de 25 años de experiencia en el sector de la ingeniería de software y networking y supervisa todos los aspectos técnicos de nuestro proceso de pruebas Leer biografía completa
TCP and UDP son dos protocolos de red que se usan para transferir datos a través de internet. UDP es más rápido y eficiente, mientras que TCP es más seguro y fiable. OpenVPN funciona con ambos protocolos, pero te recomendamos que pruebes primero con UDP y cambies a TCP solo si el anterior no funciona.
TCP(Protocolo de Control de Transmisión) y UDP (Protocolo de Datagramas de Usuario) son dos protocolos de comunicación diferentes que se utilizan para enviar información a través de Internet.
En el software de las VPN, el protocolo OpenVPN tiene que utilizar UDP o TCP para enviar datos entre tu dispositivo y el servidor VPN.
A continuación encontrarás una tabla con las principales diferencias entre ambos protocolos:
TCP
UDP
Cómo funciona
Establece una conexión previa
No establece una conexión previa
Velocidad
Lento
Rápido
Fiabilidad
Alta
Baja
Reenvía los paquetes perdidos
Sí
No
Entrega de paquetes
En orden
En un flujo continuo
Corrección de errores
Exhaustiva
Mínima
Control del flujo
Sí
No
Consumo de datos
Alto
Bajo
¿Apta para aplicaciones en tiempo real?
No
Sí
El resumen es que UDP es habitualmente la mejor opción para una conexión VPN debido a sus altas velocidades y a su reducido consumo de datos.
Sin embargo, hay situaciones específicas en las que TCP es la mejor opción, especialmente cuando la fiabilidad es esencial.
A continuación encontrarás una guía rápida sobre cuándo usar cada protocolo:
TCP: Apto para actividades que necesitan estabilidad, como la navegación web (HTTP, HTTPS), correos electrónicos (SMTP, IMAP/POP), transferencias de archivos (FTP) y acceso remoto a otros dispositivos a través de Secure Shell (SSH).
UDP: Apto para casos en los que la velocidad es primordial, como jugar a videojuegos online, ver contenidos de streaming, voz sobre protocolo de internet (VoIP) y dispositivos IoT (p. ej., sensores que envían datos de casa de forma esporádica).
¿Por qué confiar en nosotros?
Somos completamente independientes y nos dedicamos a analizar VPN desde 2016. Nuestras recomendaciones se basan en los resultados de nuestras pruebas y no se ven afectadas por incentivos económicos. Descubre quién somos y cómo probamos VPN.
¿Qué es TCP?
TCP crea una conexión entre dos dispositivos, como tu ordenador y un servidor web. Los datos se envían a través de esa conexión. Es como una llamada de teléfono en la que los dos dispositivos hablan entre sí para poder comprobar si la información se ha recibido correctamente.
Cuándo usar TCP:
Garantiza la recepción de todos los paquetes. Si el receptor no confirma que ha recibido un paquete, el emisor lo vuelve a enviar.
Los paquetes se secuencian para garantizar que llegan al receptor en el mismo orden en el que se enviaron. Los paquetes no se envían si el receptor no está preparado para recibirlos.
Los paquetes no se envían si el receptor no está preparado para recibirlos.
TCP es un protocolo “con conexión” y utiliza un proceso de negociación (handshake) en tres pasos para establecer esa conexión. Funciona mediante el intercambio de los siguientes paquetes:
Paquete SYN (Sincronización): El cliente inicia la conexión enviando un paquete SYN al servidor. Este paquete incluye el número de secuencia inicial del cliente.
Paquete SYN-ACK (Sincronización y Acuse de recibo): Al recibir el paquete SYN, el servidor responde con un paquete SYN-ACK. Este paquete reconoce el SYN del cliente e incluye el número de secuencia inicial del servidor.
Paquete ACK (Acuse de recibo): Finalmente, el cliente envía un paquete ACK al servidor para confirmar el SYN-ACK recibido. En este punto, la conexión queda establecida y se puede iniciar el intercambio de datos.
Ejemplo de una VPN estableciendo una conexión TCP:
Captura de pantalla de Wireshark que muestra un proceso de negociación (handshake) de tres pasos estableciendo una conexión TCP.
La negociación en tres pasos garantiza que el cliente y el servidor estén listos para comunicarse y sincroniza los números de secuencia para rastrear los datos transmitidos.
Este proceso ayuda a evitar problemas de conexión, pérdida de datos y otros inconvenientes que pueden surgir al establecer la conexión inicial.
Una vez finaliza la fase de negociación, el servido y el cliente pueden llevar a cabo un intercambio de datos fiable y en modo dúplex completo (full duplex).
¿Qué es UDP?
A diferencia de TCP, UDP es un protocolo sin conexión. Los datos se envían, pero no hay ningún mecanismo de retroalimentación para confirmar que se han recibido correctamente. UDP se parece más a enviar algo por correo: lo pones en el buzón y te olvidas de ello.
Cuándo usar UDP:
Los paquetes de datos pueden perderse durante el tránsito y el remitente no lo sabrá.
Los paquetes que se envíen a un receptor desbordado se descartan (pierden) y no se pueden recuperar.
No hay ningún mecanismo de recuperación integrado en UDP para los datos perdidos o dañados, pero las aplicaciones que utilizan UDP pueden incluir sus propios mecanismos de recuperación.
Dado que UDP no necesita establecer y mantener una conexión, es menos fiable que TCP. Sin embargo, también es más rápido que TCP, por lo que es ideal para aplicaciones especialmente sensibles a la latencia, como las videoconferencias y el gaming online.
Que se pierda un paquete de vez en cuando puede causar algunos fallos menores, pero es preferible a la demora que se produciría si TCP tuviera que volver a enviar el paquete.
Usamos Wireshark para analizar el tráfico UDP entre los puertos 60970 y 12718.
El tamaño del encabezado de UDP también es más reducido que el de TCP, lo que se traduce en una menor sobrecarga y una transmisión más rápida de datos.
El Sistema de Nombres de Dominio (DNS) puede utilizar y utiliza UDP y TCP. Aunque utiliza más TCP a medida que aumentan los paquetes de consulta, UDP es el protocolo predeterminado para garantizar la mayor velocidad posible.
UDP vs. TCP: Principales diferencias
Aunque tanto TCP como UDP son protocolos de red que permiten la comunicación de host a host en internet, difieren significativamente en la forma en que transmiten los datos.
A continuación, repasamos cinco diferencias prácticas entre ambos protocolos:
1. UDP es más rápido que TCP
Hemos puesto a prueba tanto ExpressVPN como NordVPN, las dos VPN mejor valoradas de 2024, para obtener una comparativa de sus velocidades al utilizar el protocolo OpenVPN con UDP y TCP.
Tras conectarnos a servidores de Estados Unidos, Reino Unido y Australia desde nuestra sede en Estados Unidos, medimos las velocidades de descarga de cada VPN y protocolo.
Tal y como muestran los datos, UDP es generalmente más rápido que TCP, una diferencia de rendimiento que se acentúa a medida que aumenta la distancia entre los servidores.
Esto se debe a que TCP entrega los paquetes de datos en un flujo ordenado y libre de errores; un sistema que obliga a retransmitir cualquier paquete que se haya dañado o perdido en el proceso, lo que añade latencia.
Por contra, dado que los paquetes UDP tienen un encabezado más pequeño, permiten transmitir más carga útil por conexión, lo que se traduce en un mejor rendimiento.
Como consecuencia de ello, UDP suele ser la opción preferida para llevar a cabo actividades que necesitan una latencia baja, como ver contenidos de streaming o jugar a videojuegos.
Al utilizar ExpressVPN, UDP fue un 24 % más rápido al conectarse desde Estados Unidos a Reino Unido, y un 37 % más rápido al conectarse a Australia.
La diferencia fue aún más pronunciada al utilizar NordVPN. Perdimos un 81 % de velocidad de descarga al conectarnos a Reino Unido usando TCP, y un 94 % al conectarnos a Australia.
Sin embargo, descubrimos que TCP fue ligeramente más rápido que UDP al establecer conexiones dentro del mismo país con NordVPN.
2. TCP consume más datos que UDP
TCP utiliza más datos que UDP porque incluye más información en el encabezado de cada paquete de datos.
Cada paquete de datos que se envía a través de internet tiene un encabezado, como cuando escribes la dirección del destinatario en un sobre. Contiene la información necesaria para que los datos lleguen al lugar correcto, y cualquier información adicional que necesite el protocolo.
Aunque ambos protocolos incluyen los puertos de origen y destino de los datos, la longitud del paquete de datos y las sumas de verificación en el encabezado, TCP añade campos adicionales para garantizar una entrega fiable:
Número de secuencia
Número de acuse de recibo
Indicadores de TCP (p. ej., sincronización, acuse de recibo)
Ventana (tamaño del búfer de recepción)
Puntero urgente
Opciones TCP opcionales
Aunque esto hace que TCP sea más fiable que UDP, también es menos eficiente. Los encabezados de TCP pueden superar los 20 bytes, mientras que los de UDP solo ocupan 8 bytes.
CONSEJO PROFESIONAL: La suma de verificación es un cálculo que se aplica a los datos dos veces: antes de su envío y tras su recepción. Si el resultado no coincide en el extremo del receptor, indica que los datos se han corrompido durante la transmisión.
TCP también implica una mayor cantidad de comunicaciones entre el emisor y el receptor. Esto se debe a que el receptor envía un ACK (acuse de recibo) por cada dos paquetes recibidos usando TCP, y cualquier paquete perdido se vuelve a enviar. Como consecuencia de ello, TCP consume más datos que UDP.
De hecho, durante nuestro estudio sobre el uso de datos de las VPN, descubrimos que OpenVPN con TCP consume hasta un 19,96 % más de datos que cuando no se usa una VPN, en comparación con el 17,23 % de OpenVPN con UDP.
Si tienes un plan de datos móviles en el que pagas por gigabyte o tienes un límite de datos fijo, llegarás antes al límite si usas TCP.
3. TCP es un poco más seguro que UDP
Ni UDP ni TCP se han diseñado pensando en la seguridad, ya que su principal función es la de transmitir datos a través de internet.
Son otros protocolos o aplicaciones, ubicados en niveles superiores de la pila de comunicaciones, los que generalmente se ocupan de la seguridad.
Dicho esto, el proceso de secuenciación y confirmación de TCP hace que sea más complicado para los hackers inyectar datos maliciosos en comparación con el sistema sin conexión de UDP.
Esto se debe a que TCP se asegura de que los paquetes lleguen en el orden correcto y retransmite cualquier dato que se haya perdido o dañado.
Sin embargo, en términos prácticos, ninguno de estos dos protocolos presenta problemas de seguridad cuando se utiliza con una VPN. Tanto TCP como UDP son compatibles con las funciones de seguridad y privacidad que se utilizan para protegerte online.
4. TCP es más fiable que UDP
TCP es más fiable que UDP por varios motivos, algunos de los cuales ya hemos mencionado, como su exhaustivo sistema de verificación de errores y el uso de un handshake de tres pasos para crear una conexión.
Otro factor que contribuye a la fiabilidad de TCP es que, a diferencia de UDP, usa mecanismos de control de flujo, lo que reduce significativamente la probabilidad de que se pierdan paquetes.
TCP utiliza un mecanismo de “ventana deslizante” para gestionar la transmisión de datos.
El receptor comunica el espacio de búfer que tiene disponible para recibir los paquetes entrantes.
Después, TCP impone un límite al remitente, permitiéndole transmitir solo hasta el tamaño de esta ventana, tras lo cual debe esperar a que el receptor notifique que hay más espacio antes de proseguir.
Captura de pantalla de Wireshark que muestra el control de flujo de TCP en acción.
Este proceso de control de flujo permite a TCP adaptar la velocidad de la transmisión a las capacidades de receptor, evitando así posibles sobrecargas.
Sin embargo, el hecho de que tenga que esperar a esta respuesta antes de enviar cada paquete hace que TCP sea un poco más lento y menos eficiente que el protocolo sin conexión UDP.
UDP, por su parte, transmite datos a la velocidad que mejor se ajusta al emisor, sin tener en cuenta ningún mecanismo control de flujo.
Esto puede provocar que un servidor potente bombardee a un receptor con múltiples flujos de datos consecutivos, lo que podría exceder su capacidad.
Cuando esto sucede, lo que hace el receptor es simplemente descartar los paquetes UDP que no puede procesar, en lugar de esperar las instrucciones del control de flujo.
5. UDP permite la multidifusión, TCP no
TCP es un protocolo con conexión, lo que significa que establece una conexión directa uno a uno entre un cliente y un servidor. Esto ofrece muchas ventajas para una comunicación punto a punto fiable, como la que ocurre entre un navegador y un servidor web.
Sin embargo, esta estructura es incompatible con la multidifusión, un tipo de comunicación de red que se usa en videoconferencias y en el gaming online y que permite enviar datos a múltiples destinatarios al mismo tiempo.
En cambio, UDP es compatible con la multidifusión, ya que no necesita saber si el destinatario está disponible.
El hecho de que UDP de prioridad a la velocidad en detrimento de la fiabilidad lo hace ideal para la multidifusión, pues transmite datos sin tener que esperar al acuse de recibo. Los paquetes que se pierden provocan solo ligeras interrupciones en la transmisión en tiempo real, sin alterar la transmisión global.
UDP o TCP: ¿cuál es mejor?
Si tu VPN te da la opción de elegir entre OpenVPN con UDP o TCP, prueba primero con UDP. UDP es más rápido que TCP y puedes seguir utilizando TCP para actividades como la navegación web dentro del túnel UDP de tu VPN.
Solo recomendamos usar TCP con OpenVPN si UDP está bloqueado por un cortafuegos o tienes una conexión inestable.
No obstante, el mejor protocolo de comunicación dependerá en última instancia del motivo por el cual estés usando una VPN. En este apartado, explicaremos si UDP o TCP son mejores para ver acceder a plataformas de streaming, navegar por la red, evitar la censura u otros usos habituales de una VPN.
Streaming and gaming
Ganador: UDP
Las conexiones UDP se usan comúnmente en el gaming y en la transmisión de video porque es preferible saltarse una pequeña parte de la transmisión que sufrir retrasos al intentar recuperarla.
Por ello, recomendamos elegir UDP si vas a usar la VPN para hacer ver contenidos de video online o jugar a videojuegos.
Al usar UDP, logramos una transmisión en alta resolución más estable que con TCP.
Si utilizas OpenVPN con TCP, tu VPN podría intentar recuperar los paquetes de datos perdidos innecesariamente. Si esperas a que los paquetes perdidos se reenvíen, el juego o el contenido ya habrá avanzado cuando la pantalla se actualice.
Sortear cortafuegos y eludir la censura
Ganador: TCP
Si lo que buscas es eludir la censura o sortear un cortafuegos, elige OpenVPN con TCP.
Cuando usas TCP en el puerto 4433, el tráfico de tu VPN tiene el mismo aspecto que el tráfico web cifrado HTTPS. Bloquear el puerto TCP 443 dejaría inoperativas todas las páginas web de comercio electrónico, por lo que se suele dejar pasar este tráfico a través de los cortafuegos.
Algunas VPN también son compatibles con el puerto TCP 80, que se usa para el tráfico web no cifrado y que también pasa a través de los cortafuegos sin problemas.
Según nuestra experiencia, los protocolos TCP han demostrado ser más fiables a la hora de eludir la censura web.
Diversos estudiantes aseguran que utilizar OpenVPN con TCP le ha permitido burlar los cortafuegos de sus campus, en situaciones donde UDP estaba bloqueado.
El protocolo TCP puede funcionar en países donde las VPN están bloqueadas, pero ten en cuenta que tu tráfico de VPN podría identificarse mediante la inspección profunda de paquetes. TCP por sí solo no te protege si el uso de la VPN no es legal o seguro en tu país.
Intenta siempre usar UDP con OpenVPN primero. Es más rápido y tus aplicaciones pueden seguir usando TCP en el túnel interior si lo necesitan para garantizar la fiabilidad.
OpenVPN Inc., la empresa responsable de crear software VPN basado en el protocolo OpenVPN, afirma:
«En términos generales, el protocolo OpenVPN en funciona mejor con el protocolo UDP. Por defecto, las conexiones… están programadas para probar primero con UDP, y si solo falla, recurren a TCP».
Dicho esto, si tu VPN no funciona con UDP por problemas de red, quizás lo soluciones utilizando OpenVPN con TCP. TCP está diseñado para compensar las conexiones de red poco fiables.
Enviar correos electrónicos y navegar por la red
Ganador: UDP
Recomendamos usar OpenVPN UDP para actividades digitales del día a día como enviar correos electrónicos y navegar por la red.
Un error habitual es pensar que hay que usar un túnel VPN basado en TCP para las aplicaciones que requieren más fiabilidad. Sin embargo, en muchos casos no solo no es necesario, sino también contraproducente. La conexión interna sigue teniendo TCP si lo necesita y al túnel VPN no le hace falta añadir otra capa.
Si envuelves una conexión TCP con un túnel VPN TCP, corres el riesgo de sufrir lo que se denomina «TCP meltdown». Esto ocurre cuando las dos capas de TCP intentan compensar los paquetes perdidos y sucede porque las capas TCP interna y externa tienen temporizadores independientes que se utilizan para decidir cuándo se pierde un paquete.
¿Cómo utilizan los protocolos UDP y TCP las VPN?
OpenVPN es un protocolo VPN de código abierto que se utiliza en la mayoría de las VPN seguras. En muchos casos, los usuarios pueden elegir entre OpenVPN UDP y OpenVPN TCP. En este apartado, explicaremos cómo afecta esta decisión a la funcionalidad de tu VPN.
Para elegir entre UDP y TCP en NordVPN, visita su menú de protocolos.
En primer lugar, imagina que estás navegando por la red sin una VPN. La conexión entre tu dispositivo y el servidor web utilizará TCP porque es más fiable que UDP. Así es como funciona:
Cómo se enruta el tráfico TCP a través de Internet sin una VPN.
Cuando empiezas a usar una VPN, las comunicaciones nuevas se envuelven en un túnel OpenVPN entre tu dispositivo y el servidor VPN. Ese túnel se conecta entre tu dispositivo y el servidor VPN, y puede utilizar UDP o TCP.
Cómo envuelve OpenVPN UDP o TCP el tráfico TCP.
Cuando modificas la configuración de tu VPN, simplemente estás decidiendo qué tipo de envoltura quieres usar.