Esta página proporciona pautas para que los operadores de red garanticen que las aplicaciones de redes privadas virtuales (VPN) empresariales y de consumo 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 seguir estas pautas:
- Admite paquetes del protocolo IPv6 Encapsulating Security Payload (ESP) (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 al protocolo de control de transmisión (TCP). Se debe permitir que las sesiones ESP entren a los dispositivos, o establecer tiempos de espera muy altos y reenviarse a velocidad de línea.
- Establezca tiempos de espera de traducción de direcciones de red (NAT) y firewall con estado que sean de un mínimo de 600 segundos para conexiones UDP en el puerto 4500 para garantizar que las soluciones VPN puedan mantener una conectividad confiable sin incurrir en costos excesivos de energía.
Admite paquetes del protocolo IPv6 ESP (siguiente encabezado 50)
La carga útil de seguridad encapsulante (ESP) es el formato de paquete definido como parte del conjunto de protocolos de seguridad del 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 incorporada.
En 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 provocar una falta de conectividad para las soluciones VPN que pretenden utilizar este protocolo sin encapsulación adicional de los paquetes. La red podría descartar estos paquetes debido a la configuración del firewall. O los paquetes ESP podrían llegar a rutas lentas en la red, con un rendimiento de rendimiento gravemente 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 los cortafuegos utilizados por los servicios de acceso a Internet de los consumidores. Por ejemplo, consulte la sección 3.2.4 de RFC 6092 . 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 keepalive para mantener la conectividad VPN, lo que ahorra batería. Recomendamos que las redes permitan paquetes ESP a los dispositivos en todo momento o que suspendan 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 proporcionen un rendimiento comparable al de las conexiones UDP o TCP.
Establezca suficientes tiempos de espera de NAT y firewall con estado
Para mantener la confiabilidad de la conexión, una solución VPN necesita mantener una conexión duradera con el servidor VPN que proporciona conectividad entrante y saliente (por ejemplo, para recibir notificaciones automáticas entrantes, mensajes de chat y llamadas de audio/vídeo). La mayoría de las aplicaciones VPN IPsec utilizan 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 mayor que los tiempos de espera de NAT y firewall impuestos por el operador de red. Los keepalive frecuentes consumen mucha energía del lado del cliente y tienen un impacto importante 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 los tiempos de espera de NAT y del firewall con estado lo suficientemente alto 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 utilizan para entregar notificaciones entrantes. Por lo tanto, la cantidad de conexiones de larga duración que la red debe admitir es la misma o menor cuando una VPN está en ejecución en comparación con cuando una VPN no está en ejecución.