Улучшите взаимодействие с пользователем VPN

На этой странице представлены рекомендации для сетевых операторов, позволяющие гарантировать, что потребительские и корпоративные приложения виртуальной частной сети (VPN) обеспечивают удобство работы конечных пользователей в своих сетях. Android предоставляет разработчикам класс VpnManager для создания решений VPN, которые используются потребителями и предприятиями для шифрования своих сообщений или маршрутизации их в разные сети.

Мы рекомендуем сетевым операторам следовать следующим рекомендациям:

  • Поддерживайте пакеты протокола IPv6 Encapsulated Security Payload (ESP) (следующий заголовок 50) в вашей сети , гарантируя, что этот трафик будет иметь сопоставимую производительность с соединениями по протоколу пользовательских датаграмм (UDP) или протоколу управления передачей (TCP). Сеансам ESP следует разрешить входящие подключения к устройствам или установить очень большие таймауты и пересылать их со скоростью линии.
  • Установите время ожидания трансляции сетевых адресов (NAT) и брандмауэра с отслеживанием состояния не менее 600 секунд для UDP-подключений на порту 4500, чтобы гарантировать, что решения VPN могут поддерживать надежное соединение без чрезмерных затрат на электроэнергию.

Поддержка пакетов протокола IPv6 ESP (следующий заголовок 50)

Инкапсуляция полезных данных безопасности (ESP) — это формат пакета, определенный как часть набора протоколов безопасности интернет-протокола (IPSec) для шифрования и аутентификации пакетов в решении VPN. ОС Android реализует этот стандартный протокол безопасности во встроенном решении VPN.

В сетях с поддержкой IPv6 пакеты ESP передаются непосредственно в пакетах IPv6 с полем следующего заголовка, равным 50. Если сеть не поддерживает должным образом эти типы пакетов, это может привести к отсутствию подключения для решений VPN, которые предназначены для использования этого типа. протокол без дальнейшей инкапсуляции пакетов. Сеть может отбросить эти пакеты из-за конфигурации брандмауэра. Или пакеты ESP могут попасть по медленным путям в сети, что приведет к значительному снижению пропускной способности по сравнению с соединениями TCP или UDP.

Инженерная группа Интернета (IETF) рекомендует разрешать IPsec через брандмауэры, используемые потребительскими службами доступа в Интернет. Например, см. раздел 3.2.4 RFC 6092 . Пакеты ESP можно безопасно пропускать через брандмауэры в обоих направлениях, поскольку, если устройство получает пакет ESP, который не является частью существующей ассоциации безопасности, устройство отбрасывает пакет. В результате устройству не нужно отправлять пакеты проверки активности для поддержания VPN-подключения, что экономит заряд батареи. Мы рекомендуем, чтобы сети либо всегда разрешали передачу пакетов ESP на устройства, либо отключали сеансы ESP только после длительных периодов бездействия (например, 30 минут).

Мы рекомендуем сетевым операторам поддерживать пакеты протокола ESP (пакеты IPv6 со следующим заголовком, равным 50) в своих сетях и пересылать эти пакеты аппаратно со скоростью линии. Это гарантирует, что решения VPN не столкнутся с проблемами подключения и обеспечат производительность, сравнимую с соединениями UDP или TCP.

Установите достаточные таймауты NAT и брандмауэра с отслеживанием состояния.

Чтобы поддерживать надежность соединения, решение VPN должно поддерживать долговременное соединение с VPN-сервером, обеспечивающим исходящие и входящие соединения (например, для получения входящих push-уведомлений, сообщений чата, а также аудио- или видеовызовов). Большинство приложений IPsec VPN используют ESP, инкапсулированный в пакеты IPv4 UDP с портом назначения 4500, как описано в RFC 3948 .

Чтобы поддерживать это соединение, устройству необходимо периодически отправлять пакеты на сервер. Эти пакеты должны отправляться с более высокой частотой, чем тайм-ауты NAT и брандмауэра, установленные оператором сети. Частые проверки активности потребляют много энергии на стороне клиента и оказывают существенное влияние на срок службы батареи. Они также генерируют значительный сигнальный трафик в сети, даже если в противном случае устройство простаивает.

Мы рекомендуем операторам достаточно увеличить тайм-ауты NAT и брандмауэра с отслеживанием состояния, чтобы избежать воздействия на батарею. Рекомендуемое время ожидания для инкапсуляции IPsec UDP (порт 4500) составляет 600 секунд или больше.

В мобильных сетях время ожидания UDP NAT часто поддерживается низким, поскольку нехватка адресов IPv4 налагает высокие коэффициенты повторного использования портов. Однако после установки VPN сети устройства не требуется поддерживать долгоживущие TCP-соединения, например те, которые используются для доставки входящих уведомлений. Таким образом, количество долгоживущих соединений, которые должна поддерживать сеть, одинаково или меньше, когда VPN работает, по сравнению с тем, когда VPN не работает.