我在路由器 (Sercomm H300) 中为网络中的几乎所有设备分配了静态 IP,包括智能手机、平板电脑、智能 WiFi 交换机等。有时,许多设备在我的计算机中不可见(我无法 ping 它们,使用“arp -a”也看不到它们)。在我的路由器中,我可以看到它们已连接。如果我开始使用智能手机等设备,我的计算机就会看到它。
我使用运行 Home Assistant 的 Raspberry Pi,奇怪的是 Raspberry Pi 可以访问我的计算机无法访问的某些设备(但不是全部)。上次检查时,我无法 ping 通 9 个 WiFi 交换机中的 7 个,其余两个在 Home Assistant 中不可用。从我的电脑上,我只能 ping 通 9 个中的 5 个。设备如何连接到 WiFi 而计算机却看不到?如何解释某些设备在一台电脑上可见但在另一台电脑上不可见?所有 WiFi 智能开关都是同一品牌,并配置了相同的应用程序。
我还设置了当所有 WiFi 开关都不可用时发出通知,我会定期收到该通知,表示 WiFi 暂时断线。这是什么原因造成的?
答案1
您描述的症状的常见原因是某些设备上的 Wi-Fi 组密钥(即多播/广播数据包的加密)中断,从而破坏多播和广播,进而破坏服务发现协议和 ARP。重新启动受影响的设备或强制它们离开并重新加入网络通常可以在一段时间内解决问题,直到它们再次遇到错误。
Wi-Fi 上的组密钥管理非常棘手,而且有很多存在缺陷的实现,有时会出现问题。最棘手、最容易出现问题的部分是,除了 WPA2 (AES-CCMP) 之外,您还有原始 WPA (TKIP) 作为选项。因此,请进入 AP(无线路由器)的设置,确保将其设置为 WPA2-PSK仅有的(AES-CCMP)仅有的)。您不希望将原始 WPA (TKIP) 作为选项提供。您希望将其完全关闭。
第二个可能破坏多播和广播(从而破坏发现和 ARP)的问题是多播数据速率设置得太高,导致某些设备难以可靠地接收多播和广播。如果您的 AP 允许您设置多播速率或启用或禁用较旧/较慢的数据速率,请确保所有速率都可用并且您的多播速率设置较低。