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

На этой странице описаны алгоритмы и процедуры, используемые в 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 периодически оценивает качество подключенной сети. В этом разделе описывается, как оценивается подключенная сеть, когда экран включен или выключен.

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

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

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

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

    Если динамическая регулировка интервала включена с помощью наложения 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 Накладки 6 ГГц.
  • Не заблокирован, например, из-за предыдущих сбоев подключения.
  • Сеть не указывает на то, что ее невозможно использовать (например, при использовании MBO/OCE).
  • Может быть связано с использованием учетных данных, доступных на устройстве.

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

  • Номинатор сохраненной сети: оценивается все сохраненные сети (включая сохраненные подписки Passpoint).
  • Номинатор предлагаемой сети: оценивает все сети, предоставляемые приложениями с помощью API предложений (включая предлагаемые подписки Passpoint).
  • Номинатор сети с внешней оценкой: OEM-механизм, обеспечивающий возможность подключения устройства к сети. Дополнительную информацию см. в разделе Внешний поставщик рейтингов сетей .

Кандидаты в бомбардиры

Специалисты по подсчету баллов оценивают и выставляют баллы каждому кандидату. Оценка для 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 .
  • Сохраненная сеть оценивается выше, чем сеть, предложенная с помощью API предложений. Бонус настраивается с помощью наложения config_wifiFrameworkSavedNetworkBonus .
  • Ненадежные сети (которые можно запросить как часть 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 зависят от причины сбоя и настраиваются с помощью наложений:

  • Точка доступа отклоняет ассоциацию с использованием 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.

Сделать перед разрушением

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

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

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

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

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

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

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

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

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

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

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

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

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

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