Как NetworkManager выбирает, к какой сети Wi-Fi подключаться, когда доступно несколько?

Когда NetworkManager контролирует соединение WiFi в системе, как он выбирает, к какой сети подключаться?

Я в курсе. настройки connection.autoconnect-priority, но мне интересно понять алгоритм, используемый для выбора соединения, когда доступны несколько сетей с автоподключением, разделяющих приоритет = 0.

1
задан 25 June 2021 в 22:22

1 ответ

NetworkManager вообще не делает этого; вместо него это делает wpa_supplicant. NetworkManager просто пытается поддерживать каждое активное соединение в режиме онлайн, а затем делегирует работу другим утилитам в зависимости от типа соединения. Для беспроводных и некоторых проводных соединений 802.1x это работа wpa_supplicant .

Итак, как wpa_supplicant это делает? Каждый сетевой интерфейс, который может быть подключен, ищет подключения по каждому из следующих критериев, пока не останется только одна сеть для подключения:

  • Сканирование потенциальных сетей
  • Ранжирование сканированных сетей по приоритету и подключение к сети с наивысшим приоритетом
  • Ранжирование сетей с приоритетом по силе соединения и подключение к самой сильной
  • Ранжирование сетей по порядку в конфигурационном файле и подключение к первой

Так что если все остальное не удается, конфигурационный файл является авторитетным порядком. Вы можете прочитать исходный код.

3
ответ дан 28 July 2021 в 11:24

Другие вопросы по тегам:

Похожие вопросы: