Verbessern Sie die VPN-Benutzererfahrung

Diese Seite enthält Richtlinien für Netzwerkbetreiber, um sicherzustellen, dass VPN-Apps (Virtual Private Network) für Verbraucher und Unternehmen eine gute Endbenutzererfahrung in ihren Netzwerken bieten. Android stellt Entwicklern die VpnManager Klasse zur Verfügung, um VPN-Lösungen zu erstellen, die von Verbrauchern und Unternehmen verwendet werden, um ihre Kommunikation zu verschlüsseln oder an verschiedene Netzwerke weiterzuleiten.

Wir empfehlen Netzbetreibern, diese Richtlinien zu befolgen:

  • Unterstützen Sie Pakete des IPv6 Encapsulated Security Payload (ESP)-Protokolls (Next Header 50) in Ihrem Netzwerk und stellen Sie sicher, dass dieser Datenverkehr eine vergleichbare Leistung wie User Datagram Protocol (UDP) oder Transmission Control Protocol (TCP)-Verbindungen aufweist. ESP-Sitzungen sollten für eingehende Geräte zugelassen sein oder auf sehr hohe Zeitüberschreitungen eingestellt und mit Leitungsgeschwindigkeit weitergeleitet werden.
  • Legen Sie Network Address Translation (NAT) und Stateful-Firewall-Timeouts fest, die für UDP-Verbindungen auf Port 4500 mindestens 600 Sekunden betragen, um sicherzustellen, dass VPN-Lösungen eine zuverlässige Konnektivität aufrechterhalten können, ohne dass übermäßige Stromkosten anfallen.

Unterstützt Pakete des IPv6-ESP-Protokolls (Next Header 50).

Encapsulated Security Payload (ESP) ist das Paketformat, das als Teil des Internet Protocol Security (IPSec)-Protokollsatzes zur Verschlüsselung und Authentifizierung von Paketen in einer VPN-Lösung definiert ist. Das Android-Betriebssystem implementiert dieses Standardsicherheitsprotokoll in seiner integrierten VPN-Lösung.

In IPv6-fähigen Netzwerken werden ESP-Pakete direkt in IPv6-Paketen mit einem Next-Header-Feld von 50 übertragen. Wenn ein Netzwerk diese Pakettypen nicht ordnungsgemäß unterstützt, kann dies zu einem Mangel an Konnektivität für VPN-Lösungen führen, die dies nutzen möchten Protokoll ohne weitere Kapselung der Pakete. Das Netzwerk verwirft diese Pakete möglicherweise aufgrund der Firewall-Konfiguration. Oder ESP-Pakete treffen möglicherweise auf langsame Pfade im Netzwerk, was im Vergleich zu TCP- oder UDP-Verbindungen zu einer erheblich geringeren Durchsatzleistung führt.

Die Internet Engineering Task Force (IETF) empfiehlt, IPsec durch Firewalls zuzulassen, die von Internetzugangsdiensten für Verbraucher verwendet werden. Siehe beispielsweise RFC 6092 Abschnitt 3.2.4 . ESP-Pakete können sicher in beide Richtungen durch Firewalls zugelassen werden, denn wenn ein Gerät ein ESP-Paket empfängt, das nicht Teil einer bestehenden Sicherheitszuordnung ist, verwirft das Gerät das Paket. Dadurch muss das Gerät keine Keepalive-Pakete senden, um die VPN-Konnektivität aufrechtzuerhalten, was die Akkulaufzeit schont. Wir empfehlen, dass Netzwerke entweder jederzeit ESP-Pakete an Geräte zulassen oder ESP-Sitzungen erst nach längeren Inaktivitätsperioden (z. B. 30 Minuten) abbrechen.

Wir empfehlen Netzwerkbetreibern, ESP-Protokollpakete (IPv6-Pakete mit einem Next Header von 50) in ihren Netzwerken zu unterstützen und diese Pakete in Hardware mit Leitungsgeschwindigkeit weiterzuleiten. Dadurch wird sichergestellt, dass bei VPN-Lösungen keine Verbindungsprobleme auftreten und die Leistung mit der von UDP- oder TCP-Verbindungen vergleichbar ist.

Legen Sie ausreichend NAT- und Stateful-Firewall-Timeouts fest

Um die Verbindungszuverlässigkeit aufrechtzuerhalten, muss eine VPN-Lösung eine langlebige Verbindung zum VPN-Server aufrechterhalten, der ausgehende und eingehende Konnektivität bereitstellt (z. B. um eingehende Push-Benachrichtigungen, Chat-Nachrichten und Audio-/Videoanrufe zu empfangen). Die meisten IPsec-VPN-Apps verwenden ESP, das in IPv4-UDP-Paketen mit Zielport 4500 eingekapselt ist, wie in RFC 3948 beschrieben.

Um diese Verbindung aufrechtzuerhalten, muss das Gerät regelmäßig Pakete an den Server senden. Diese Pakete müssen mit einer höheren Frequenz gesendet werden als die vom Netzwerkbetreiber vorgeschriebenen NAT- und Firewall-Timeouts. Häufige Keepalives sind auf der Clientseite energieintensiv und wirken sich stark auf die Akkulaufzeit aus. Sie erzeugen auch erheblichen Signalverkehr im Netzwerk, selbst wenn das Gerät ansonsten im Leerlauf ist.

Wir empfehlen den Betreibern, die NAT- und Stateful-Firewall-Timeouts hoch genug anzuheben, um eine Belastung der Batterie zu vermeiden. Das empfohlene Zeitlimit für die IPsec-UDP-Kapselung (Port 4500) beträgt 600 Sekunden oder mehr.

In Mobilfunknetzen werden UDP-NAT-Timeouts häufig niedrig gehalten, da die Knappheit von IPv4-Adressen hohe Port-Wiederverwendungsfaktoren mit sich bringt. Wenn jedoch ein VPN eingerichtet ist, muss das Gerätenetzwerk keine langlebigen TCP-Verbindungen unterstützen, wie sie beispielsweise für die Übermittlung eingehender Benachrichtigungen verwendet werden. Daher ist die Anzahl der langlebigen Verbindungen, die das Netzwerk unterstützen muss, bei laufendem VPN gleich oder geringer als bei ausgeschaltetem VPN.