Esta página fornece diretrizes para operadoras de rede para garantir que os aplicativos de rede privada virtual (VPN) para consumidores e empresas forneçam uma boa experiência ao usuário final em suas redes. O Android fornece a classe VpnManager
para que os desenvolvedores criem soluções VPN, que são usadas por consumidores e empresas para criptografar suas comunicações ou encaminhá-las para diferentes redes.
Recomendamos que as operadoras de rede sigam estas diretrizes:
- Suporta pacotes do protocolo IPv6 Encapsulating Security Payload (ESP) (Next Header 50) em sua rede , garantindo que esse tráfego tenha desempenho comparável às conexões do protocolo de datagrama do usuário (UDP) ou do protocolo de controle de transmissão (TCP). As sessões ESP devem ser permitidas na entrada dos dispositivos ou definidas para tempos limite muito altos e encaminhadas na taxa de linha.
- Defina tempos limite de conversão de endereço de rede (NAT) e firewall com estado de no mínimo 600 segundos para conexões UDP na porta 4500 para garantir que as soluções VPN possam manter uma conectividade confiável sem incorrer em custos excessivos de energia.
Suporta pacotes do protocolo IPv6 ESP (Next Header 50)
Encapsulating Security Payload (ESP) é o formato de pacote definido como parte do conjunto de protocolos Internet Protocol Security (IPSec) para criptografar e autenticar pacotes em uma solução VPN. O sistema operacional Android implementa esse protocolo de segurança padrão em sua solução VPN integrada.
Em redes compatíveis com IPv6, os pacotes ESP são transportados diretamente em pacotes IPv6 com um campo Next Header de 50. Se uma rede não suportar adequadamente esses tipos de pacotes, isso pode causar falta de conectividade para soluções VPN que pretendem usar este tipo de pacote. protocolo sem encapsulamento adicional dos pacotes. A rede pode descartar esses pacotes devido à configuração do firewall. Ou os pacotes ESP podem atingir caminhos lentos na rede, com desempenho de rendimento gravemente degradado em comparação com conexões TCP ou UDP.
A Internet Engineering Task Force (IETF) recomenda permitir o IPsec através de firewalls usados por serviços de acesso à Internet para consumidores. Por exemplo, consulte a seção 3.2.4 da RFC 6092 . Os pacotes ESP podem ser permitidos com segurança através de firewalls em ambas as direções porque se um dispositivo receber um pacote ESP que não faça parte de uma associação de segurança existente, o dispositivo descartará o pacote. Como resultado, o dispositivo não precisa enviar pacotes de manutenção de atividade para manter a conectividade VPN, o que economiza bateria. Recomendamos que as redes permitam pacotes ESP para dispositivos o tempo todo ou limitem o tempo limite das sessões ESP somente após longos períodos de inatividade (por exemplo, 30 minutos).
Recomendamos que as operadoras de rede suportem pacotes de protocolo ESP (pacotes IPv6 com Next Header de 50) em suas redes e encaminhem esses pacotes em hardware na taxa de linha. Isso garante que as soluções VPN não encontrem problemas de conectividade e forneçam desempenho comparável às conexões UDP ou TCP.
Defina tempos limite suficientes de NAT e firewall com estado
Para manter a confiabilidade da conexão, uma solução VPN precisa manter uma conexão duradoura com o servidor VPN que fornece conectividade de entrada e saída (por exemplo, para receber notificações push, mensagens de bate-papo e chamadas de áudio/vídeo). A maioria dos aplicativos VPN IPsec usa ESP encapsulado em pacotes UDP IPv4 com porta de destino 4500, conforme descrito em RFC 3948 .
Para manter esta conexão, o dispositivo precisa enviar pacotes periodicamente ao servidor. Esses pacotes devem ser enviados em uma frequência maior que os tempos limite de NAT e firewall impostos pela operadora de rede. Keepalives frequentes consomem muita energia do lado do cliente e têm um grande impacto na vida útil da bateria. Eles também geram tráfego de sinalização substancial na rede, mesmo que o dispositivo esteja ocioso.
Recomendamos que as operadoras aumentem o tempo limite do NAT e do firewall com estado alto o suficiente para evitar o impacto da bateria. O tempo limite recomendado para encapsulamento IPsec UDP (porta 4500) é de 600 segundos ou mais.
Em redes móveis, os tempos limite do UDP NAT são frequentemente mantidos baixos porque a escassez de endereços IPv4 impõe altos fatores de reutilização de portas. No entanto, quando uma VPN é estabelecida, a rede do dispositivo não precisa de suportar ligações TCP de longa duração, como as utilizadas para entregar notificações de entrada. Portanto, o número de conexões de longa duração que a rede precisa suportar é o mesmo ou menor quando uma VPN está em execução, em comparação com quando uma VPN não está em execução.