Выбор сети Wi-Fi

На этой странице описываются алгоритмы и процедуры, используемые в Android 12 для выбора и переключения между сетями Wi-Fi. Android непрерывно оценивает качество подключенной сети и оценивает качество доступных сетей.

Срок службы автоматического соединения

Здесь описывается процесс оценки устройством Android доступных сетей Wi-Fi и подключения к ним.

  1. Устройство сканирует доступные сети одним из следующих способов в зависимости от того, включен экран или выключен.

    • Экран включен (подключен): Подсистема подключения Android регулярно оценивает, достаточно ли хорошее текущее подключение, чтобы пропустить сканирование (как определено в сканировании экрана ). Если подключение недостаточно хорошее, чтобы пропустить сканирование, подсистема подключения запускает сканирование для обнаружения доступных сетей. Эти сканирования также могут быть запущены другими компонентами системы, такими как система определения местоположения или приложение (включая приложение «Настройки»).
    • Экран включен (отключен): Подсистема подключения Android периодически выполняет сканирование по экспоненциальному графику отсрочки. Модуль оценивает все полученные результаты сканирования и пытается выбрать лучшую сеть для подключения.
    • Экран выключен (отключен): процессор хоста программирует прошивку со списком предпочтительных сетей, используя сканирование предпочтительной сетевой разгрузки (PNO), как только экран гаснет. Прошивка пробуждает хост, если находит какую-либо из предпочтительных сетей. AOSP предполагает, что PNO поддерживается на устройстве.

    Метод WifiManager#allowAutojoinGlobal(boolean) можно использовать для отключения автоматических подключений. Это привилегированный API, который может использоваться производителями устройств в ограниченных обстоятельствах (например, немобильное, предварительно настроенное устройство).

    Если устройство подключено и наложение config_wifi_framework_enable_associated_network_selection установлено на false , сканирование подключений не выполняется, а результаты сканирования не запускают выбор сети. Этот параметр не действует, когда устройство отключено, то есть сканирование подключений и выбор сети по-прежнему происходят.

  2. Оцениваются результаты сканирования.

    • Если устройство подключено к сети Wi-Fi, фреймворк оценивает, достаточно ли хороша текущая сеть, чтобы пропустить выбор сети .

      Сеть считается достаточно хорошей, чтобы пропустить этап выбора сети, если выполняется любое из следующих требований:

      • С момента последнего выбора сети прошло менее 10 секунд.
      • Пользователь недавно вручную подключился к сети (недавно настраивается с помощью наложения config_wifiSufficientDurationAfterUserSelectionMilliseconds ).
      • Устройство подключено к соединению онлайн-регистрации (OSU).
      • Выполнены все следующие требования:

        • RSSI превышает требуемый порог RSSI или через соединение проходит достаточный трафик (см. сканирование экрана для определения пороговых значений RSSI и трафика).
        • Сеть проверена (подключена к Интернету) или одобрена пользователем для использования без доступа в Интернет.
        • Сеть не тарифицируется.
    • Если сеть достаточно хороша, чтобы пропустить выбор сети , никаких дальнейших действий не предпринимается.

    • Если подключенная сеть Wi-Fi недостаточно хороша или устройство не подключено к сети, фреймворк вызывает сетевых номинаторов для генерации списка сетей Wi-Fi-кандидатов для подключения на основе отфильтрованных результатов сканирования. Сетевые номинаторы находят существующие конфигурации Wi-Fi или создают новые конфигурации для сетей-кандидатов.

    • Результаты сканирования фильтруются для удаления BSSID, у которых RSSI ниже входного RSSI (настраивается с помощью наложений config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz и config_wifiFrameworkScoreEntryRssiThreshold6ghz ). Кроме того, фильтруются заблокированные BSSID. BSSID могут быть заблокированы на основе повторяющихся сбоев подключения, частых отключений и явных запросов от точки доступа не пытаться установить связь в течение определенного периода времени (MBO-OCE). Блокировка BSSID описана ниже в разделе Блокировка SSID и BSSID .

    • Когда устройство быстро движется, результаты сканирования дополнительно фильтруются для удаления BSSID, RSSI которых быстро меняется (указание на то, что они не движутся вместе с устройством). Эта оптимизация настраивается с помощью config_wifiHighMovementNetworkSelectionOptimizationEnabled (включение/отключение оптимизации) и наложений config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs и config_wifiHighMovementNetworkSelectionOptimizationRssiDelta , которые настраивают требования к стабильности результатов сканирования (изменение RSSI по результатам сканирования, достаточно разнесенным во времени).

  3. Фреймворк запускает скорер кандидатов для генерации баллов для каждого кандидата на идентификатор набора служб (SSID). Кандидаты на SSID могут включать несколько кандидатов на базовый идентификатор набора служб (BSSID) (сгенерированных сетевыми номинаторами). Кандидат с наивысшим баллом является победителем .

  4. Фреймворк выполняет алгоритм выбора пользовательского соединения , который может сделать выбранную пользователем сеть новым победителем-кандидатом вместо использования победителя-кандидата из оценщика кандидатов.

  5. Структура определяет, соответствует ли победивший кандидат текущей подключенной сети. Чтобы считаться соответствием, должно быть выполнено одно из следующих условий:

    • Победивший кандидат и подключенная сеть Wi-Fi имеют одинаковый BSSID.
    • Если доступен роуминг прошивки (включая возможность черного списка BSSID), победивший кандидат и подключенная сеть имеют одинаковый SSID и тип безопасности.

    Если победивший кандидат соответствует текущей подключенной сети, никаких дальнейших действий не предпринимается. Если победивший кандидат не соответствует сети, устройство связывается с победившим кандидатом.

Обратите внимание, что автоматическое сетевое подключение отключено, пока приложение использует API запросов сети Wi-Fi , который переопределяет систему и создает локальную сеть без доступа в Интернет, за исключением устройств, поддерживающих одновременное подключение двух станций.

Оценка подключенной сети

Android framework или прошивка периодически оценивает качество подключенной сети. В этом разделе описывается, как оценивается подключенная сеть, когда экран включен или выключен.

Эта оценка выполняется в дополнение к выбору сети, обсуждаемому выше.

Экран включен

Платформа Android оценивает подключенную сеть следующим образом:

  1. Служба Wi-Fi опрашивает RSSI и статистику канального уровня каждые 3 секунды (настраивается с помощью наложения config_wifiPollRssiIntervalMilliseconds ).

    Если динамическая регулировка интервала включена с помощью наложения config_wifiAdjustPollRssiIntervalEnabled , интервал опроса изменяется динамически в зависимости от состояния мобильности устройства и RSSI.

    • Интервал опроса увеличивается до 6 секунд (настраивается наложением config_wifiPollRssiLongIntervalMilliseconds ), когда устройство неподвижно и RSSI превышает -68 дБм (настраивается наложениями config_wifiClientRssiMonitorThresholdDbm и config_wifiClientRssiMonitorHysteresisDb ).
    • Интервал опроса уменьшается до 3 секунд (настраивается с помощью наложения config_wifiPollRssiIntervalMilliseconds ), когда устройство нестационарно или RSSI ниже -73 дБм (настраивается с помощью наложения config_wifiClientRssiMonitorThresholdDbm ).
  2. Служба Wi-Fi рассчитывает оценку подключения на основе RSSI и статистики канального уровня.

  3. Служба Wi-Fi передает оценку службе подключения, которая использует ее для определения того, следует ли подключаться к сети Wi-Fi или к другому доступному типу сети, например, к сотовой сети.

Экран выключен

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

Сканирование подключений

Сканирование выполняется автоматически в зависимости от того, включен ли экран устройства, выключен ли экран и подключено ли оно к Wi-Fi или экран выключен и не подключено к Wi-Fi.

Экран включен

Фреймворк запускает решения о сканировании с увеличивающимися интервалами при включении экрана. Интервалы принятия решений о сканировании настраиваются с помощью наложений config_wifiDisconnectedScanIntervalScheduleSec , config_wifiConnectedScanIntervalScheduleSec и config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec (которые являются массивами целых чисел). По умолчанию сканирование происходит с использованием экспоненциальных интервалов отсрочки 20, 40, 80 и 160 секунд, с последующими сканированиями, возможно, выполняемыми с интервалами 160 секунд (это значения по умолчанию для этих наложений).

Интервалы сканирования экспоненциальной задержки сбрасываются и перезапускаются через 20 секунд при каждом изменении состояния экрана, то есть при включении или выключении экрана.

(Android 13+) Если во время выполнения требуются разные интервалы сканирования, привилегированное приложение OEM может вызвать API WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) для динамической установки расписания сканирования при включении экрана.

Решение о выполнении или пропуске сканирования принимается на основе того, достаточно ли хорошее текущее сетевое соединение, чтобы пропустить сканирование . Соединение считается достаточно хорошим, чтобы пропустить сканирование, если выполняется любое из следующих требований:

  • Устройство подключено к соединению онлайн-регистрации (OSU).
  • Через соединение проходит достаточный трафик (см. пороговые значения трафика ниже).
  • RSSI превышает требуемый порог RSSI (см. пороговые значения RSSI ниже), а выбор сети был выполнен недавно (по умолчанию через 10 минут, но его можно настроить с помощью наложения config_wifiConnectedHighRssiScanMinimumWindowSizeSec ), и либо сеть проверена (подключена к Интернету), либо одобрена пользователем для использования без доступа к Интернету.

Пороговые значения RSSI и трафика следующие:

  • RSSI превышает -73 дБм для диапазона 2,4 ГГц, настроенного с помощью наложения config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , или -70 дБм для диапазонов 5 ГГц и 6 ГГц, настроенных с помощью наложений config_wifi_framework_wifi_score_low_rssi_threshold_5GHz и config_wifiFrameworkScoreLowRssiThreshold6ghz .
  • Трафик (передача или прием) превышает 16 пакетов в секунду (pps), настроенных с помощью наложения config_wifiFrameworkMinPacketPerSecondActiveTraffic .

Когда устройство подключено и экран включен. Подключенный скорер периодически контролирует качество Wi-Fi, просматривая сигналы, такие как RSSI и количество переданных пакетов. Если качество Wi-Fi определено как плохое (как указано ниже) и устройство поддерживает две одновременные станции, то будет запущено сканирование. Наложение config_wifiLowConnectedScoreThresholdToTriggerScanForMbb можно использовать для настройки порогового значения оценки, которое запускает сканирование. Наложение config_wifiLowConnectedScoreScanPeriodSeconds можно использовать для настройки периода этих сканирований.

Экран выключен и подключен к Wi-Fi

Когда экран выключен и устройство подключено к сети Wi-Fi, прошивка (Wi-Fi SoC) выполняет роуминговые сканирования. Фреймворк не выполняет никаких сканирований, когда экран выключен.

Экран выключен и не подключен к Wi-Fi (отключенное состояние)

Когда экран выключен и Wi-Fi отключен, прошивка выполняет сканирование PNO для SSID. Фреймворк настраивает прошивку со списком SSID для сканирования и списком каналов для сканирования. Если найден настроенный SSID, прошивка пробуждает фреймворк.

Фреймворк также настраивает интервал, с которым прошивка должна выполнять сканирования PNO, используя состояние мобильности устройства для выбора различных интервалов сканирования. В состоянии низкой мобильности (устройство неподвижно) интервал составляет 60 секунд для первых трех сканирований (контролируется наложением config_wifiStationaryPnoScanIntervalMillis ) и 180 секунд (фиксированный 3-кратный множитель наложения) для последующих сканирований. В состоянии высокой мобильности интервал составляет 20 секунд для первых трех сканирований (контролируется наложением config_wifiMovingPnoScanIntervalMillis ) и 60 (фиксированный 3-кратный множитель наложения) секунд для последующих сканирований.

Сетевые номинаторы

Номинаторы сетей находят или создают конфигурации ( WifiConfiguration ) для сетей, которые:

  • Доступная (на основании результатов сканирования) или подключенная сеть (которая иногда отсутствует в нестабильных результатах сканирования).
  • Иметь минимальный RSSI. Минимальный RSSI составляет -80 дБм для диапазона 2,4 ГГц и -77 дБм для диапазонов 5 ГГц и 6 ГГц, настраивается с помощью наложений config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz и config_wifiFrameworkScoreEntryRssiThreshold6ghz .
  • Не заблокирован, например, из-за предыдущих сбоев подключения.
  • Сеть не показывает, что она непригодна для использования (например, с использованием MBO/OCE).
  • Может быть связано с использованием учетных данных, доступных на устройстве.

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

  • Номинатор сохраненных сетей: оценивает все сохраненные сети (включая сохраненные подписки Passpoint).
  • Предложенный номинатор сети: оценивает все сети, предоставляемые приложениями с помощью Suggestion API (включая предлагаемые подписки Passpoint).

Кандидаты в подсчёты очков

Оценщики кандидатов оценивают и выставляют баллы для каждого кандидата. Баллы для ThroughputScorer (оценщик по умолчанию) основаны на следующем:

  • Базовая оценка вычисляется на основе RSSI, где RSSI ограничен значением -73 дБм для диапазона 2,4 ГГц или -70 дБм для диапазонов 5 ГГц и 6 ГГц (настраивается с помощью наложений config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , config_wifi_framework_wifi_score_low_rssi_threshold_5GHz и config_wifiFrameworkScoreLowRssiThreshold6ghz ).
  • Повышение оценки вычисляется на основе оценки пропускной способности, полученной из технологии, частоты канала, полосы пропускания, RSSI, условий канала, максимального количества пространственных потоков и других параметров. Повышение оценки настраивается с помощью наложений config_wifiFrameworkThroughputBonusNumerator и config_wifiFrameworkThroughputBonusDenominator и ограничивается максимальным значением, указанным с помощью наложения config_wifiFrameworkThroughputBonusLimit .
  • Сеть-кандидат, которая была недавно выбрана пользователем или приложением, получает значительное повышение рейтинга на период времени, настраиваемый с помощью наложения config_wifiFrameworkLastSelectionMinutes (на этот период времени сеть гарантированно будет выбрана среди сетей, не выбранных пользователем).
  • Кандидат, соответствующий текущей сети, получает повышение баллов, настроенное с помощью наложений config_wifiFrameworkCurrentNetworkBonusMin и config_wifiFrameworkCurrentNetworkBonusPercent (он получает дополнительный бонус, основанный на проценте от его RSSI и балла, основанного на пропускной способности, вплоть до настраиваемого минимума).
  • Безопасная сеть оценивается выше, чем открытая сеть. Бонус настраивается с помощью наложения config_wifiFrameworkSecureNetworkBonus .
  • Нелимитированная (бесплатная) сеть оценивается выше, чем лимитированная (платная) сеть. Бонус настраивается с помощью наложения config_wifiFrameworkUnmeteredNetworkBonus .
  • Сохраненная сеть оценивается выше, чем сеть, предложенная с помощью Suggestion API. Бонус настраивается с помощью наложения config_wifiFrameworkSavedNetworkBonus .
  • Недоверенные сети (которые можно запросить как часть Suggestion API) оцениваются ниже, чем любые другие сети.
  • Сеть, в которой ранее не было подключения к Интернету, получает оценку 0, если в данный момент устройство подключено к другой сети, в которой есть доступ к Интернету.

Бонус по умолчанию для сохраненных и предлагаемых, а также неучтенных и учитываемых (то есть значения наложения по умолчанию) создает строгий порядок приоритетов для сохраненных, предлагаемых, учитываемых и неучтенных:

  1. Сохраненные безлимитные сети
  2. Предлагаемые сети без учета трафика
  3. Сохраненные сети с тарификацией
  4. Предлагаемые сети с тарификацией

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

В фреймворке может быть установлено несколько кандидатов-оценщиков, но только один может быть активен в один момент времени. Другие оценщики могут использоваться для метрик (для исследования альтернативных алгоритмов). В Android 11 оценщиком по умолчанию является ThroughputScorer .

Блокировка SSID и BSSID

Фреймворк может блокировать SSID или BSSID, то есть не учитывать их для подключений ни временно, ни постоянно.

Блокировка BSSID

Блокировка BSSID работает путем ведения двух счетчиков сбоев, непрерывного счетчика сбоев и счетчика полос, для каждого типа сбоя (список типов сбоев см. ниже). Когда происходит сбой:

  • Счетчик соответствующего типа отказа увеличивается.
  • Если достигнут порог отказа для данного типа отказа:
    • BSSID заблокирован.
    • Счетчик полос неудач увеличивается.

Длительность блокировки BSSID начинается с (настраиваемого) базового значения (указанного наложениями config_wifiBssidBlocklistMonitorBaseBlockDurationMs или config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs в зависимости от RSSI) и экспоненциально увеличивается до настраиваемой верхней границы (указанной наложением config_wifiBssidBlocklistMonitorFailureStreakCap ). Длительность увеличивается, если на одном и том же BSSID постоянно происходят сбои. Длительность — это базовая длительность, экспоненциально увеличенная на полосу сбоев, то есть полоса сбоев 2 подразумевает 4-кратную базовую длительность блока.

Пороговые значения для блокировки BSSID зависят от причины сбоя и настраиваются с помощью наложений:

  • AP отклоняет ассоциацию с использованием MBO/OCE Невозможно обработать новый код STA : config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold .
  • Проверка интернет-соединения через эту сеть не удалась: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold .
  • Код ошибки аутентификации неверного пароля: config_wifiBssidBlocklistMonitorWrongPasswordThreshold .
  • Код ошибки аутентификации EAP-сбоя для сетей EAP: config_wifiBssidBlocklistMonitorEapFailureThreshold .
  • Отклонение ассоциации, другие общие отклонения ассоциации: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold .
  • Тайм-аут ассоциации: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold .
  • Ошибка аутентификации, другие общие ошибки аутентификации: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold .
  • Ошибка DHCP, ошибка предоставления DHCP: config_wifiBssidBlocklistMonitorDhcpFailureThreshold .
  • Ненормальное отключение, устройство отключилось от сети в течение очень короткого периода после подключения: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold . Временное окно настраивается с помощью config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs .

Условия очистки черного списка BSSID

BSSID удаляется из черного списка, когда:

  • Wi-Fi включен: все BSSID удалены из черного списка.
  • Пользователь нажимает на сеть в меню выбора Wi-Fi: все BSSID выбранной пользователем сети удаляются из черного списка.
  • Тайм-аут: BSSID удаляются из черного списка по достижении длительности блокировки.
  • Перезагрузка: все списки блокировки очищены.
  • Сеть удалена: все BSSID, связанные с этой сетью, удаляются из черного списка.

Условия сброса счетчиков отказов и серий:

  • Перезагрузка: сброс всех BSSID.
  • Сеть удалена: сброс для BSSID, связанных с сетью.
  • Успешное подключение L2: сбросьте следующие коды ошибок.

    • REASON_AP_UNABLE_TO_HANDLE_NEW_STA
    • REASON_WRONG_PASSWORD
    • REASON_EAP_FAILURE
    • REASON_ASSOCIATION_REJECTION
    • REASON_ASSOCIATION_TIMEOUT
    • REASON_AUTHENTICATION_FAILURE
    • REASON_ABNORMAL_DISCONNECT (условно очищается только в том случае, если последний раз устройство подключалось к этому BSSID более 3 часов назад)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • Проверка сети прошла успешно: сброс для следующего кода ошибки.

    • REASON_NETWORK_VALIDATION_FAILURE
  • Успешное предоставление DHCP: сброс для следующего кода ошибки.

    • REASON_DHCP_FAILURE

Блокировка SSID

Блокировка SSID работает аналогично блокировке BSSID. Счетчик сбоев для каждого типа сбоя для каждой сети увеличивается, когда происходят сбои соединения (этого типа). Когда количество сбоев определенного типа превышает пороговое значение, SSID блокируется навсегда или временно на основе конфигурации. Конфигурация для каждого типа сбоя кодируется в WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS и кратко излагается ниже.

* Для временно отключенных сетей длительность отключения динамически изменяется в зависимости от количества последовательных сбоев подключения, произошедших в сети. После того, как сеть последовательно не подключается пять раз, каждый последующий сбой приводит к длительности отключения в два раза больше предыдущей. Например, сеть с пятью последовательными сбоями отключается на 5 минут, затем на 10 минут при шестом сбое, на 20 минут при седьмом сбое и так далее до максимального предела в 18 часов.

Код ошибки Описание Порог Базовая продолжительность отключения* Отключить тип
DISABLED_DHCP_FAILURE Не удалось предоставить DHCP 5 5 минут Временный
DISABLED_NO_INTERNET_TEMPORARY Проверка сети не удалась, но пользователь заявляет, что хочет продолжать подключаться к этой сети в будущем. 1 10 минут Временный
DISABLED_AUTHENTICATION_NO_CREDENTIALS У просителя отсутствуют учетные данные для подключения к сети 1 NA Постоянный
DISABLED_NO_INTERNET_PERMANENT Значение по умолчанию для ошибки проверки сети 1 NA Постоянный
DISABLED_BY_WIFI_MANAGER Устаревший и неиспользуемый 1 NA Постоянный
DISABLED_BY_WRONG_PASSWORD Пароль неверный, и эта сеть никогда не была успешно подключена к 1 NA Постоянный
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION Ошибка EAP, когда SIM-карта не подписана 1 NA Постоянный
DISABLED_ASSOCIATION_REJECTION Сбои в отвержении ассоциаций 5 5 минут Временный
DISABLED_AUTHENTICATION_FAILURE Другие сбои аутентификации (то есть не неверный пароль или сбой EAP) 5 5 минут Временный
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR Ошибка EAP, специфичная для поставщика (частная). 1 NA Постоянный
DISABLED_NETWORK_NOT_FOUND Запрашивающей стороне не удалось найти в результатах сканирования сеть, соответствующую сети, запрошенной фреймворком для подключения (включая сетевые возможности). 2 5 минут Временный
DISABLED_CONSECUTIVE_FAILURES Сеть не смогла подключиться пять или более раз подряд. Тип отказа для этих отказов включает, но не ограничивается типами отказов, перечисленными в этой таблице.
5 5 минут Временный

Временно отключенная сеть снова включается, когда:

  • Срок отключения истек.
  • Пользователь вручную выбирает сеть для подключения.
  • Пользователь включает Wi-Fi.
  • Система перезагружена.
  • Сеть была отключена при очень низком уровне RSSI, но позже сеть снова обнаруживается при среднем или более высоком уровне RSSI.

Постоянно отключенная сеть снова включается, когда:

  • Пользователь вручную выбирает сеть для подключения.

Счетчики сбоев сети сбрасываются, когда:

  • Сеть удалена.
  • Устройство успешно подключилось к сети.
  • Сеть была повторно включена после истечения времени отключения.
  • Пользователь вручную выбирает сеть для подключения.
  • Система перезагружена.

Карточки подсчета очков

Карты оценок, представленные в Android 10, записывают статистику на устройстве о BSSID. Карты оценок сохраняются с помощью сервиса IpMemoryStore .

Оценочные карточки не используются при выборе сети в Android 11.

Выбор подключения пользователя

В Android есть алгоритм выбора подключения пользователя, который позволяет процессу выбора отдавать предпочтение сетям Wi-Fi, к которым пользователь явно подключился, например, домашней сети. Пользователи могут предпочесть такие сети публичным сетям, даже если производительность ниже, чем у публичной сети, поскольку они предоставляют дополнительные услуги, такие как возможность управления домашними устройствами.

Предпочтение пользователя относительно сети фиксируется путем маркировки всех видимых конфигураций Wi-Fi и их мощности сигнала в момент выбора сети пользователем. Если одна из отмеченных конфигураций Wi-Fi выбрана в процессе автоматического выбора и доступна выбранная пользователем сеть, алгоритм выбора подключения пользователя переопределяет выбор на выбранную пользователем сеть, если выполняются следующие условия:

  • В последний раз сеть, выбранная пользователем для подключения, имела доступ к Интернету.
  • Выбор подключения пользователя имеет силу сигнала, которая не хуже, чем при первоначальном выборе с погрешностью. Эту погрешность можно настроить с помощью оверлея config_wifiEstimateRssiErrorMarginDb .

Сеть выбора подключения пользователя сохраняется после перезагрузки. Выбор подключения пользователя работает для сохраненных сетей, сетей Passpoint и сетей предложений.

Две одновременные станции

В этом разделе описывается выбор сети Wi-Fi, когда устройство поддерживает подключение к двум сетям Wi-Fi одновременно.

Сделать-до-разрушения

Если функция make-before-break включена, устройство пытается подключиться к новой сети перед отключением от старой сети. Поток make-before-break использует тот же алгоритм выбора сети, что и переключение сети break-before-make (когда устройство отключается от старой сети перед подключением к новой). Если алгоритм выбора сети выбирает сеть, которую нельзя переключить с помощью make-before-break, устройство автоматически возвращается к break-before-make.

Одновременное ограниченное и интернет-подключение

Если включена функция одновременного ограниченного и интернет-подключения , устройство может подключаться к вторичной ограниченной сети Wi-Fi, которая доступна только для выбранных приложений, настроенных производителем устройства. Инструкции для производителей устройств по настройке этого см. в разделе Одновременное ограниченное и интернет-подключение .

Когда алгоритм выбора сети обнаруживает результаты сканирования, соответствующие платному или частному предложению OEM, он автоматически подключается к нему как ко второй сети. Выбор сети для основной сети Wi-Fi (которая обеспечивает подключение к Интернету для обычных приложений) обычно происходит параллельно.

Часто задаваемые вопросы (FAQ)

  1. Всегда ли защищенные сети имеют приоритет над открытыми сетями?

    Нет. Сохраненные против рекомендуемых и измеренные против неизмеренных — основные категории, в которых оцениваются сети. В каждой категории защищенные сети имеют некоторый приоритет над открытыми сетями, но гораздо больший вес придается качеству соединения.

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

  2. Почему сохраненные сети имеют приоритет над предлагаемыми сетями?

    Сохраненные бесплатные (безлимитные) сети имеют приоритет над предлагаемыми бесплатными сетями, а сохраненные лимитные сети имеют приоритет над предлагаемыми лимитными сетями.

    Сохраненные сети имеют приоритет над предлагаемыми сетями, поскольку сохраненные сети — это сети, которые пользователь добавил на устройство явно. Это подразумевает предпочтение подключаться к этим сетям, когда это возможно.

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

  3. Могу ли я изменить строгий порядок приоритетов или полностью его удалить?

    Производитель устройства может изменить решения по выбору сети, изменив бонусные наложения, перечисленные в разделах выше. Однако изменение значений по умолчанию не рекомендуется, поскольку они были выбраны после тщательного рассмотрения нескольких вариантов использования.