Poprawianie wrażeń użytkowników VPN

Na tej stronie znajdziesz wytyczne dla operatorów sieci, które pomogą im zapewnić użytkownikom aplikacji VPN (wirtualnych sieci prywatnych) dla konsumentów i firm dobrą jakość usług w ich sieciach. Android udostępnia deweloperom klasę VpnManager, która umożliwia tworzenie rozwiązań VPN. Są one używane przez konsumentów i przedsiębiorstwa do szyfrowania komunikacji lub kierowania jej do różnych sieci.

Zalecamy operatorom sieci przestrzeganie tych wytycznych:

  • Obsługuj w swojej sieci pakiety protokołu IPv6 Encapsulating Security Payload (ESP) (Next Header 50), zapewniając, że ruch ten ma podobną wydajność do połączeń protokołu pakietów użytkownika (UDP) lub protokołu sterowania transmisją (TCP). Sesje ESP powinny być dozwolone w przypadku urządzeń przychodzących lub ustawione na bardzo wysokie limity czasu i przekazywane z szybkością linii.
  • Ustaw limity czasu translacji adresów sieciowych (NAT) i zapory stanowej, które wynoszą co najmniej 600 sekund w przypadku połączeń UDP na porcie 4500, aby zapewnić, że rozwiązania VPN mogą utrzymywać niezawodne połączenie bez ponoszenia nadmiernych kosztów energii.

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

Encapsulating Security Payload (ESP) to format pakietu zdefiniowany w ramach zestawu protokołów Internet Protocol Security (IPSec) do szyfrowania i uwierzytelniania pakietów w rozwiązaniu VPN. System operacyjny Android implementuje ten standardowy protokół zabezpieczeń 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 odrzucić te pakiety z powodu konfiguracji zapory sieciowej. lub pakiety ESP mogą trafiać na wolne ścieżki w sieci, co znacznie obniża przepustowość w porównaniu z połączeniami TCP lub UDP.

Internet Engineering Task Force (IETF) zaleca zezwalanie na IPsec w przypadku zapór sieciowych używanych 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 pozwala 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 bezczynności (np. 30 minut).

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

Ustaw wystarczające limity czasu NAT i zapory sieciowej z utrzymywaniem 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. w celu 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 w pakietach UDP IPv4 z portem docelowym 4500, zgodnie z opisem w 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 sygnały keepalive zużywają dużo energii po stronie klienta i mają duży wpływ na żywotność baterii. Generują one 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 stanowej na tyle, aby uniknąć wpływu na baterię. Zalecany limit czasu dla enkapsulacji UDP IPsec (port 4500) to co najmniej 600 sekund.

W sieciach komórkowych limity czasu NAT UDP są często niskie, ponieważ niedobór adresów IPv4 wymusza wysokie współczynniki ponownego wykorzystania portów. Gdy jednak połączenie VPN jest aktywne, 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 musi obsługiwać sieć, jest taka sama lub mniejsza, gdy działa sieć VPN, niż gdy nie działa.