Poprawianie wrażeń użytkowników VPN

Na tej stronie znajdziesz wskazówki dla operatorów sieci, które pomogą im zapewnić użytkownikom aplikacji VPN (wirtualnych sieci prywatnych) dla konsumentów i firm dobre wrażenia w swoich sieciach. Android udostępnia deweloperom klasę VpnManager, która umożliwia tworzenie rozwiązań VPN używanych przez konsumentów i firmy do szyfrowania komunikacji lub kierowania jej do różnych sieci.

Zalecamy operatorom sieci przestrzeganie tych wskazówek:

  • Obsługuj w swojej sieci pakiety protokołu ESP (Encapsulating Security Payload) IPv6 (Next Header 50), aby zapewnić, że ruch ten będzie miał wydajność porównywalną z połączeniami UDP (User Datagram Protocol) lub TCP (Transmission Control Protocol). Sesje ESP powinny być dozwolone na urządzeniach lub ustawione na bardzo długie limity czasu i przekazywane z szybkością linii.
  • Ustaw limity czasu translacji adresów sieciowych (NAT) i zapory sieciowej ze śledzeniem stanu na co najmniej 600 sekund w przypadku połączeń UDP na porcie 4500, aby rozwiązania VPN mogły utrzymywać niezawodne połączenie bez ponoszenia nadmiernych kosztów energii.

Obsługa pakietów protokołu ESP IPv6 (Next Header 50)

ESP (Encapsulating Security Payload) to format pakietów zdefiniowany jako część zestawu protokołów IPSec (Internet Protocol Security) do szyfrowania i uwierzytelniania pakietów w rozwiązaniu VPN. System operacyjny Android implementuje ten standardowy protokół bezpieczeństwa w swoim wbudowanym rozwiązaniu VPN.

W sieciach obsługujących IPv6 pakiety ESP są przesyłane bezpośrednio w pakietach IPv6 z polem Next Header o wartości 50. Jeśli sieć nie obsługuje prawidłowo tych typów pakietów, może to spowodować brak łączności w przypadku rozwiązań VPN, które mają na celu używanie tego protokołu bez dalszego hermetyzowania pakietów. Sieć może odrzucać te pakiety z powodu konfiguracji zapory sieciowej. Pakiety ESP mogą też trafiać do wolnych ścieżek w sieci, co powoduje znaczne pogorszenie przepustowości w porównaniu z połączeniami TCP lub UDP.

Grupa IETF (Internet Engineering Task Force) zaleca zezwalanie na IPsec przez zapory sieciowe używane przez usługi dostępu do internetu dla konsumentów. Na przykład zobacz sekcję 3.2.4 dokumentu RFC 6092. Pakiety ESP można bezpiecznie przepuszczać przez zapory sieciowe w obu kierunkach, ponieważ jeśli urządzenie otrzyma pakiet ESP, który nie jest częścią istniejącego powiązania zabezpieczeń, odrzuci go. Dzięki temu urządzenie nie musi wysyłać pakietów keepalive, aby utrzymać połączenie VPN, co oszczędza baterię. Zalecamy, aby sieci zezwalały na pakiety ESP na urządzeniach przez cały czas lub aby sesje ESP wygasały dopiero po długim okresie nieaktywności (np. 30 minut).

Zalecamy operatorom sieci obsługę w swoich sieciach pakietów protokołu ESP (pakietów IPv6 z polem Next Header o wartości 50) i przekazywanie tych pakietów w sprzęcie z szybkością linii. Dzięki temu rozwiązania VPN nie będą miały problemów z łącznością i będą działać z wydajnością porównywalną z połączeniami UDP lub TCP.

Ustawianie wystarczających limitów czasu NAT i zapory sieciowej ze śledzeniem stanu

Aby zachować niezawodność połączenia, rozwiązanie VPN musi utrzymywać długotrwałe połączenie z serwerem VPN, który zapewnia łączność wychodzącą i przychodzącą (np. do odbierania przychodzących powiadomień push, wiadomości na czacie oraz połączeń audio i wideo). Większość aplikacji VPN IPsec używa protokołu ESP hermetyzowanego w pakietach UDP IPv4 z portem docelowym 4500, zgodnie z opisem w dokumencie RFC 3948.

Aby utrzymać to połączenie, urządzenie musi okresowo wysyłać pakiety do serwera. Pakiety te muszą być wysyłane z większą częstotliwością niż limity czasu NAT i zapory sieciowej narzucone przez operatora sieci. Częste pakiety keepalive zużywają dużo energii po stronie klienta i mają duży wpływ na żywotność baterii. Generują też znaczny ruch sygnalizacyjny w sieci, nawet jeśli urządzenie jest w stanie bezczynności.

Zalecamy operatorom zwiększenie limitów czasu NAT i zapory sieciowej ze śledzeniem stanu, aby uniknąć wpływu na baterię. Zalecany limit czasu dla hermetyzacji IPsec UDP (port 4500) to co najmniej 600 sekund.

W sieciach komórkowych limity czasu UDP NAT są często niskie, ponieważ niedobór adresów IPv4 powoduje wysokie współczynniki ponownego użycia portów. Gdy jednak zostanie nawiązane połączenie VPN, sieć urządzenia nie musi obsługiwać długotrwałych połączeń TCP, takich jak te używane do dostarczania powiadomień przychodzących. Dlatego liczba długotrwałych połączeń, które sieć musi obsługiwać, jest taka sama lub mniejsza, gdy działa VPN, niż gdy nie działa.