当有多个可用的 WiFi 网络时,NetworkManager 如何选择连接哪个 WiFi 网络?

当有多个可用的 WiFi 网络时,NetworkManager 如何选择连接哪个 WiFi 网络?

当 NetworkManager 控制系统上的 WiFi 连接时,它如何选择连接哪个网络?

我知道 connection.autoconnect-priority 设置,但我有兴趣了解当有多个共享优先级=0 的自动连接网络可用时用于选择连接的算法。

答案1

NetworkManager根本不会这样做;相反,它wpa_supplicant会这样做。NetworkManager只是尝试让每个活动连接保持在线,然后根据所涉及的连接类型将工作委托给其他实用程序。对于无线和某些有线 802.1x 连接,这就是 的工作wpa_supplicant

那么,wpa_supplicant它是如何做到的呢?每个可以连接的网络接口都会按照以下每个条件寻找连接,直到只有一个网络可以连接:

  • 扫描潜在网络
  • 按优先级对扫描的网络进行排序,并连接到优先级最高的网络
  • 按连接强度对优先网络进行排序,并连接到最强的网络
  • 按配置文件中的顺序排列网络并连接到第一个网络

因此,如果其他方法都失败了,配置文件就是权威命令。您可以阅读源代码

相关内容