Mejore la experiencia del usuario de VPN

Esta página proporciona pautas para que los operadores de red se aseguren de que las aplicaciones de red privada virtual (VPN) de consumidores y empresas brinden una buena experiencia de usuario final en sus redes. Android proporciona la clase VpnManager para que los desarrolladores creen soluciones VPN, que los consumidores y las empresas utilizan para cifrar sus comunicaciones o enrutarlas a diferentes redes.

Recomendamos a los operadores de red que sigan estas pautas:

  • Admite paquetes del protocolo de carga útil de seguridad encapsulada (ESP) IPv6 (Next Header 50) en su red , lo que garantiza que este tráfico tenga un rendimiento comparable al del protocolo de datagramas de usuario (UDP) o las conexiones del protocolo de control de transmisión (TCP). Se debe permitir que las sesiones ESP ingresen a los dispositivos o se establezcan en tiempos de espera muy altos y se reenvíen a la velocidad de la línea.
  • Establezca la traducción de direcciones de red (NAT) y los tiempos de espera de firewall con estado de un mínimo de 600 segundos para las conexiones UDP en el puerto 4500 para garantizar que las soluciones VPN puedan mantener una conectividad confiable sin incurrir en costos de energía excesivos.

Admite paquetes de protocolo IPv6 ESP (Next Header 50)

La carga útil de seguridad de encapsulación (ESP) es el formato de paquete definido como parte del conjunto de protocolos de seguridad de protocolo de Internet (IPSec) para cifrar y autenticar paquetes en una solución VPN. El sistema operativo Android implementa este protocolo de seguridad estándar en su solución VPN integrada.

En las redes compatibles con IPv6, los paquetes ESP se transportan directamente en paquetes IPv6 con un campo de encabezado siguiente de 50. Si una red no admite adecuadamente este tipo de paquetes, puede causar una falta de conectividad para las soluciones VPN que pretenden utilizar este protocolo sin más encapsulación de los paquetes. La red puede descartar estos paquetes debido a la configuración del firewall. O los paquetes ESP pueden llegar a rutas lentas en la red, con un rendimiento de rendimiento severamente degradado en comparación con las conexiones TCP o UDP.

El Grupo de Trabajo de Ingeniería de Internet (IETF) recomienda permitir IPsec a través de firewalls utilizados por los servicios de acceso a Internet de los consumidores. Por ejemplo, consulte RFC 6092 sección 3.2.4 . Los paquetes ESP se pueden permitir de forma segura a través de firewalls en ambas direcciones porque si un dispositivo recibe un paquete ESP que no forma parte de una asociación de seguridad existente, el dispositivo descarta el paquete. Como resultado, el dispositivo no necesita enviar paquetes de actividad para mantener la conectividad VPN, lo que ahorra batería. Recomendamos que las redes permitan los paquetes ESP a los dispositivos en todo momento o que agoten el tiempo de las sesiones ESP solo después de largos períodos de inactividad (por ejemplo, 30 minutos).

Recomendamos que los operadores de red admitan paquetes de protocolo ESP (paquetes IPv6 con un encabezado siguiente de 50) en sus redes y reenvíen esos paquetes en hardware a velocidad de línea. Esto garantiza que las soluciones VPN no encuentren problemas de conectividad y brinden un rendimiento comparable al de las conexiones UDP o TCP.

Establezca suficientes tiempos de espera de cortafuegos con estado y NAT

Para mantener la confiabilidad de la conexión, una solución VPN debe mantener una conexión de larga duración con el servidor VPN que proporciona conectividad entrante y saliente (por ejemplo, para recibir notificaciones push entrantes, mensajes de chat y llamadas de audio/video). La mayoría de las aplicaciones VPN IPsec usan ESP encapsulado en paquetes UDP IPv4 con el puerto de destino 4500, como se describe en RFC 3948 .

Para mantener esta conexión, el dispositivo necesita enviar paquetes periódicamente al servidor. Estos paquetes deben enviarse a una frecuencia más alta que los tiempos de espera de NAT y firewall impuestos por el operador de red. Los keepalives frecuentes consumen mucha energía en el lado del cliente y tienen un gran impacto en la duración de la batería. También generan un tráfico de señalización sustancial en la red, incluso si el dispositivo está inactivo.

Recomendamos que los operadores aumenten la NAT y los tiempos de espera de firewall con estado lo suficientemente altos como para evitar el impacto de la batería. El tiempo de espera recomendado para la encapsulación IPsec UDP (puerto 4500) es de 600 segundos o más.

En las redes móviles, los tiempos de espera de UDP NAT a menudo se mantienen bajos porque la escasez de direcciones IPv4 impone altos factores de reutilización de puertos. Sin embargo, cuando se establece una VPN, la red del dispositivo no necesita admitir conexiones TCP de larga duración, como las que se usan para enviar notificaciones entrantes. Por lo tanto, la cantidad de conexiones de larga duración que la red necesita admitir es la misma o menor cuando se ejecuta una VPN en comparación con cuando no se ejecuta una VPN.