Protocolos VPN por generaciones y 6 comprobaciones para elegir uno

Anton Belov

14 min de lecturaRedes y protocolos

Generaciones de protocolos VPN

Un protocolo VPN es el conjunto de reglas que siguen tu aplicación y el servidor. Estas reglas abarcan el intercambio de claves, el empaquetado de tu tráfico y su envío a través de otras redes. El protocolo determina la rapidez con la que se inicia una conexión. También influye en que la conexión se mantenga o no al pasar de la red Wi-Fi a los datos móviles. Un tercer factor es lo visible que resulta la VPN para las redes que atraviesa. Cada protocolo se diseñó para un problema de su época. En los años 90, ese problema era el acceso telefónico a la red de una oficina. Hoy es el acceso a través de redes que detectan las VPN por sus primeros bytes. Más abajo, los protocolos están agrupados por generación, y al final hay 6 comprobaciones que te ayudan a elegir uno.

Los protocolos se diferencian en el intercambio inicial, el transporte y la huella

El adaptador, el túnel y el servidor se explican en nuestra guía básica sobre las VPN. Cada protocolo construye el túnel a su manera, y las diferencias se concentran en 3 partes.

El intercambio inicial (handshake) establece las claves de sesión

La aplicación y el servidor se verifican mutuamente y acuerdan las claves de sesión antes de que pase ningún dato. WireGuard necesita un mensaje en cada sentido, e IKEv2, 4 en total. OpenVPN realiza un handshake TLS completo dentro de su propio canal de control. Con menos viajes de ida y vuelta, la conexión se establece más rápido en los enlaces donde cada respuesta tarda en llegar. Las conexiones a internet por satélite y las redes móviles saturadas son ejemplos típicos de estos enlaces.

Los paquetes perdidos ralentizan un túnel sobre TCP

UDP envía cada paquete una sola vez y no comprueba si llegó. TCP espera la confirmación de los datos que envía. Si la confirmación no llega a tiempo, TCP vuelve a enviar los datos y reduce su ritmo. Un túnel sobre TCP apila 2 capas de este tipo, una dentro de otra. La capa del túnel reenvía el paquete que falta, y eso lleva tiempo. Mientras tanto, la conexión del navegador dentro del túnel da el paquete por perdido. Envía su propia copia y también reduce su ritmo. El resultado son páginas que cargan de forma irregular, con pausas repetidas. Por eso WireGuard funciona solo sobre UDP. Sus desarrolladores afirman que WireGuard no tendrá modo TCP, porque TCP sobre TCP rinde mal. La contrapartida es que WireGuard no puede conectarse en una red que bloquee UDP.

La red ve la huella, no el contenido

Tu proveedor de internet no puede leer el contenido del túnel. Sí puede ver el puerto, el tamaño de los primeros mensajes y los campos del encabezado que no van cifrados. En conjunto, estos datos forman la huella (fingerprint) de un protocolo. Algunos sistemas de filtrado también sondean un servidor sospechoso y comprueban cómo responde. Los protocolos antiguos se diseñaron sin tener en cuenta estas comprobaciones. En los protocolos más recientes, la huella es una parte central del diseño.

10 protocolos VPN de los años 90 a los años 2020

Los protocolos nuevos no sustituyeron a los antiguos. PPTP sigue presente en el firmware de los routers. Windows y macOS traen L2TP e IKEv2 integrados. La tabla muestra cada protocolo con su década y su propósito original.

ProtocoloApariciónPara qué se creó
PPTPAños 90Llevar una conexión de acceso telefónico hasta la red de la oficina a través de internet
L2TP/IPsecHacia el año 2000Sustituir el PPTP propietario por un estándar abierto y dejar el cifrado en manos de IPsec
OpenVPNAños 2000Dar a cualquier sistema un túnel TLS en un solo puerto
IKEv2/IPsecAños 2000Acordar las claves más rápido y mantener la sesión cuando cambia la red
SSTPAños 2000Atravesar redes que solo permiten HTTPS
ShadowsocksAños 2010Dejar el tráfico sin ninguna huella
WireGuardAños 2010Mantener el túnel sencillo y el código lo bastante pequeño para poder auditarlo
VLESS + REALITYAños 2020Parecer una conexión HTTPS a un sitio real y conocido
Hysteria2Años 2020Mantener la velocidad en enlaces con pérdidas y parecer HTTP/3
XHTTPAños 2020Transportar los datos como solicitudes HTTP normales, también a través de CDN

PPTP y L2TP/IPsec son de la época del acceso telefónico

PPTP

PPTP se diseñó para conectar a un empleado con módem a la red de la oficina a través de internet. Encapsula PPP, el protocolo que usaban las conexiones de acceso telefónico al proveedor de internet. Su especificación, RFC 2637, se publicó en 1999. El canal de control usa el puerto TCP 1723, y los datos viajan dentro de GRE. Como GRE no tiene puertos, los routers domésticos todavía tienen la opción «PPTP Passthrough».

Bruce Schneier y Peiter Zatko (Mudge) describieron los puntos débiles de PPTP en 1998 y 1999. En 2012, una charla en DEF CON demostró que una autenticación MS-CHAPv2 capturada depende de una sola clave DES. Una clave de ese tamaño se puede encontrar por fuerza bruta en un tiempo razonable. La clave de cifrado MPPE se deriva de los mismos datos de autenticación, así que sus 128 bits no añaden protección. Después, Microsoft publicó un aviso de seguridad que desaconsejaba el uso de MS-CHAPv2 sin protección adicional. Desde entonces, PPTP no se considera seguro.

L2TP/IPsec

L2TP (RFC 2661, 1999) combina ideas de PPTP y del protocolo L2F de Cisco. L2TP no tiene cifrado propio, así que casi siempre funciona dentro de IPsec (RFC 3193, 2001). Cada paquete lleva 2 capas, primero L2TP y después IPsec. Las dos capas añaden bytes, y las dos requieren configuración. El intercambio de claves usa el puerto UDP 500, y los datos van por UDP 4500 o por ESP, un protocolo aparte. Estos puertos fijos hacen visible esta combinación, y unas pocas reglas de firewall la bloquean.

En 2008, Microsoft presentó SSTP, que lleva el mismo PPP dentro de HTTPS por el puerto TCP 443. Desde fuera, la conexión parece navegación web normal. Atraviesa los firewalls que solo permiten tráfico web. De los sistemas de escritorio y móviles, solo Windows incluye un cliente SSTP.

IKEv2, OpenVPN y WireGuard cifran bien y tienen una huella reconocible

Los 3 protocolos protegen bien tus datos y funcionan sin problemas en una red normal. Su punto débil común es una huella que la red puede reconocer. En las redes que filtran las conexiones VPN, este punto débil importa más que la solidez del cifrado.

IKEv2/IPsec

IKEv2 acuerda las claves en 4 mensajes, mientras que IKEv1 tenía 8 variantes del primer intercambio. En teléfonos y computadoras portátiles, IKEv2 se valora por su extensión MOBIKE (RFC 4555). Con MOBIKE, una computadora portátil puede pasar de la red Wi-Fi de la oficina al punto de acceso de un teléfono. El túnel se traslada a la nueva dirección IP sin repetir la autenticación. iOS, macOS, Windows y Android 11 o posterior tienen un cliente IKEv2 integrado. En estos sistemas no necesitas instalar nada para usar IKEv2. Las redes detectan IKEv2 por los mismos puertos UDP, 500 y 4500.

OpenVPN

OpenVPN es un proyecto de código abierto con su propio protocolo y sin RFC. El handshake usa TLS, y los datos suelen ir protegidos con AES-GCM. OpenVPN funciona sobre UDP o TCP en cualquier puerto, y la IANA le asigna el puerto 1194. Muchos routers lo traen integrado, y en ellos la configuración suele venir en un único archivo .ovpn. El punto débil es el encabezado que OpenVPN añade a cada paquete. El tipo de mensaje de ese encabezado no va cifrado, y todas las sesiones empiezan igual. En 2022, unos investigadores lo comprobaron en la red de un proveedor de internet real. Detectaron OpenVPN en ese tráfico sin descifrar ni un solo byte.

WireGuard

Jason Donenfeld presentó WireGuard en 2017, en la conferencia NDSS. En 2020, WireGuard pasó a formar parte del núcleo de Linux, en la versión 5.6. Usa un único conjunto fijo de cifrados (Curve25519, ChaCha20-Poly1305 y BLAKE2s en un handshake Noise). Así no puedes elegir por error una opción débil. El servidor no responde a los paquetes sin una clave válida. Desde fuera, nada indica que ahí haya un servidor.

Pero el tráfico del cliente sí tiene una huella clara. El primer mensaje del handshake siempre mide 148 bytes, y la respuesta, siempre 92 bytes. El tipo de mensaje se envía sin cifrar. El sitio de WireGuard indica que el protocolo no se centra en la ofuscación. La ofuscación se delega en una capa aparte, por encima de WireGuard. WireGuard funciona bien en redes abiertas y se detecta rápido en las filtradas.

VLESS + REALITY, XHTTP, Hysteria2 y Shadowsocks ocultan la huella de la VPN

Estos protocolos se crearon para las redes que detectan y bloquean las conexiones VPN. Su cifrado es tan sólido como el de los protocolos anteriores. Sin embargo, su objetivo principal es una huella parecida a la del tráfico normal. Por diseño, funcionan como un proxy, y la aplicación de VPN envía a través de ellos todo el tráfico de tu dispositivo. Explicamos la diferencia entre VPN y proxy en un artículo aparte.

VLESS + REALITY

VLESS es un protocolo compacto que hoy desarrolla el proyecto Xray. Envía al servidor el identificador del cliente y la dirección de destino. El cifrado de los datos suele quedar en manos de TLS. REALITY hace que la conexión parezca una visita a un sitio web real de terceros. En el primer paquete, un observador ve el nombre de ese sitio. Después viene un handshake TLS 1.3 normal, en el que el certificado ya va cifrado. El servidor no necesita dominio ni certificado propios. Si un sistema de filtrado sondea el servidor sin la clave, recibe la respuesta del sitio real. REALITY reenvía esas conexiones directamente a ese sitio.

XHTTP

XHTTP es un transporte de Xray, y sus primeras versiones se llamaban SplitHTTP. Divide los datos en fragmentos y los lleva dentro de solicitudes HTTP. En uno de sus modos, los datos de subida viajan como una serie de solicitudes POST. En ese mismo modo, los de descarga llegan como una única respuesta larga a una solicitud GET. Un proxy HTTP o una red de distribución de contenidos (CDN) lo ve como tráfico web normal. Por tanto, el servidor puede funcionar detrás de una infraestructura de terceros, como muchos sitios web.

Hysteria2

Hysteria2 funciona sobre QUIC (RFC 9000), el transporte sobre UDP en el que se basa HTTP/3. Al conectarse, el cliente indica el ancho de banda de su enlace. Hysteria2 envía los datos a ese ritmo y reenvía los paquetes perdidos sin reducirlo. Esto ayuda en enlaces donde la pérdida de paquetes es frecuente, como los datos móviles en un tren. Un visitante sin la contraseña ve un sitio web HTTP/3 normal. Según la configuración, el servidor devuelve una página 404, archivos u otro sitio. Hysteria2 no puede funcionar en una red sin UDP.

Shadowsocks

Shadowsocks apareció en 2012 y es el más antiguo y el más sencillo de los 4 protocolos. Es un proxy cifrado desde el primer byte, sin encabezados ni handshake reconocible. Outline, el proyecto de Jigsaw en el que se basa la aplicación de Ben's VPN, funciona sobre Shadowsocks. Los otros 3 protocolos de este grupo imitan la huella del tráfico web normal. El tráfico de Shadowsocks, en cambio, no se parece a ningún protocolo conocido. Esta ausencia de patrón también es una huella. En 2023, unos investigadores describieron un sistema de filtrado que bloqueaba estas conexiones tras unas pocas comprobaciones sencillas. Esas comprobaciones solo analizaban el primer paquete. Por eso, en las redes muy filtradas, Shadowsocks no basta por sí solo.

6 comprobaciones para elegir un protocolo

Ningún protocolo VPN sirve para todos los casos, y el adecuado depende de tu red y de lo que quieras hacer. Haz las comprobaciones en orden, de arriba abajo. La primera que se aplique a tu caso suele decidir el protocolo.

  1. El dueño del servidor decide primero

    En la red del trabajo o de un centro de estudios, usa el perfil que te da tu administrador. Para un servidor propio, WireGuard es el protocolo más sencillo de configurar. Solo necesita un par de claves y un archivo de configuración corto. Un servicio de VPN suele dejar que su aplicación elija el protocolo.

  2. Las redes filtradas descartan IKEv2, OpenVPN y WireGuard

    Una red que busca huellas de VPN detecta IKEv2, OpenVPN y WireGuard. En una red así, usa protocolos que parezcan tráfico normal, como VLESS + REALITY, XHTTP e Hysteria2. En una red abierta, IKEv2, OpenVPN y WireGuard funcionan sin problemas.

  3. Una red sin UDP necesita un protocolo sobre TCP

    Algunos firewalls de empresas y universidades solo dejan abrir sitios web. La señal habitual es que las páginas se abren, pero WireGuard o IKEv2 no llegan a conectarse. Ahí funcionan, por ejemplo, VLESS + REALITY, XHTTP y OpenVPN sobre TCP en el puerto 443.

  4. Los cambios frecuentes de red favorecen a IKEv2 y WireGuard

    Un teléfono alterna entre la red Wi-Fi y los datos móviles muchas veces al día. IKEv2 con MOBIKE mantiene el túnel durante estos cambios. WireGuard también los gestiona y registra automáticamente la nueva dirección del cliente. Las aplicaciones de los servicios de VPN suelen volver a conectarse después de cada cambio.

  5. Las llamadas y los juegos funcionan mejor sobre UDP

    En una llamada, un pequeño fragmento de sonido perdido casi no se nota. Un retraso, en cambio, se nota enseguida. WireGuard e Hysteria2 son ejemplos de protocolos UDP adecuados para llamadas y juegos. TCP retiene todos los datos posteriores hasta que se reenvía el paquete perdido, así que el sonido llega con retraso.

  6. Un router solo ejecuta lo que admite su firmware

    Si el firmware ofrece OpenVPN, elígelo en lugar de PPTP. Usa PPTP solo cuando el firmware no admita nada más. Incluso entonces, úsalo solo si un dispositivo, como un televisor, necesita una IP de otro país.

La aplicación de Ben's VPN elige el protocolo automáticamente

VLESS + REALITY, XHTTP, Hysteria2 y Shadowsocks son los 4 protocolos de la aplicación. Junto con el protocolo, la aplicación elige la ruta. En la pantalla no hay ningún selector de protocolo. Lo único que eliges tú es la ubicación. Tu proveedor de internet ve una conexión a un servidor, pero no el tráfico que va dentro. Las versiones para otros sistemas están en la página de aplicaciones de VPN.

La pantalla principal de la aplicación de Ben's VPN en un iPhone, conectada a Alemania, con el botón Desconectar bajo la B amarilla y los botones Ubicación, Túnel y Soporte más abajo
Tú eliges la ubicación, y la aplicación, el protocolo

Si la conexión es mala, la aplicación muestra el aviso «Conexión deficiente» con el botón «Solucionar». Tócalo para ver 2 opciones: otra ubicación o la búsqueda de un servidor que funcione. La búsqueda vuelve a comprobar el servidor y obtiene direcciones IP nuevas. Si no da resultado, la aplicación activa el multihop a través de un servidor intermedio en un tercer país. La búsqueda completa tarda hasta 2 minutos. El mismo botón «Buscar servidor funcional» está en «Cuenta» → «Configuraciones».

Keenetic, OpenWrt y MikroTik pueden ejecutar la aplicación de Ben's VPN en el propio router. Los demás routers solo pueden usar los protocolos de su firmware. Para ellos, la página de tu cuenta tiene la configuración de PPTP y OpenVPN en «Router» → «Otros routers». El mismo usuario y la misma contraseña sirven para los dos protocolos. Solo funcionan en un router a la vez. La página de configuración de routers describe cada paso del proceso.

Preguntas y respuestas

¿Qué es la ofuscación VPN y en qué se diferencia del cifrado?

El cifrado oculta el contenido, y sin la clave nadie puede leer los paquetes. La ofuscación oculta que la conexión es una VPN. Hace que el tamaño, el orden y la forma de los paquetes se parezcan a los del tráfico normal. WireGuard cifra bien, pero no ofusca su tráfico. REALITY e Hysteria2 añaden ofuscación al cifrado.

¿Me conviene WireGuard u OpenVPN en mi propio servidor?

En una red que permita UDP y las VPN, WireGuard es más sencillo de configurar y se conecta más rápido. OpenVPN es más flexible y funciona sobre UDP o TCP en cualquier puerto. Esa flexibilidad ayuda en las redes que solo permiten TCP. En una red filtrada, los dos protocolos se detectan por su huella.

¿El multihop es un protocolo aparte?

No. El multihop es una ruta, no un protocolo. Tu tráfico va primero a un servidor intermedio en un tercer país. Desde allí pasa al servidor de la ubicación que elegiste. El multihop cambia el camino del tráfico, no su cifrado. En la aplicación de Ben's VPN, el modo «Automático» activa el multihop cuando la conexión lo necesita para ser estable.

Si un sitio ya usa HTTPS, ¿qué añade un protocolo VPN?

HTTPS cifra la página, pero la red sigue viendo qué sitio abres. Ve la dirección IP del sitio y su nombre al inicio de la conexión. Un protocolo VPN oculta también estos datos. Entonces tu proveedor de internet solo ve una conexión a un servidor. Del servidor al sitio, la solicitud viaja fuera del túnel. En ese tramo, HTTPS sigue protegiendo la solicitud.

Escrito por

Anton Belov

Escribe sobre redes y protocolos VPN.

Empieza con 3 días y decide después

El periodo de prueba cuesta $0.50 y abre los 187 países y todas las aplicaciones. Después, el plan se renueva por $5 al mes. Puedes cancelar la renovación en cualquier momento desde la página de tu cuenta.

Mac App Store App Store Google Play