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

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

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

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

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

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

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

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

Мы рекомендуем сетевым операторам поддерживать пакеты протокола ESP (пакеты IPv6 с заголовком Next Header равным 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 не работает.