为什么在数据包传输过程中WiFi扫描没有丢包?

网络工程 IEEE-802.11
2021-07-31 13:50:16

Android 设备在后台执行定期(约 10 秒为周期)WiFi 扫描。假设有一个基础设施 BSS,连接了 2 个站点,其中一个站点 staA 是 Android 设备,我们将另一个站点称为 staB。现在我们在 1 秒内从 staB ping staA。当staA扫描时,它会在每个信道中发送Probe Request Frame,这意味着它会离开当前BSS的信道一段时间。并且在此期间,staA 对 staB 正在传输的内容“充耳不闻”,这意味着每次 staA 扫描时,即每 10 秒,staA 都有机会丢失来自 staB 的 ICMP 数据包。

我用我的Android手机做了上面的测试,没有发生丢包。我用另一台 Android 设备进行了测试,不是周期性的丢包,而是周期性的大 ping 延迟。

为什么扫描时没有丢包?

1个回答

有两种扫描:被动主动在被动扫描中,无线电侦听指示 SSID 等的 wifi 信标帧。在主动扫描中,设备发送探测请求,然后侦听响应。

这当然取决于硬件,但没有理由设备不能在一个频道上传输并在另一个频道上收听。(它在同一个频道上收听是很棘手的,因为它自己的传输将比来自另一个发射机的信号的功率大许多数量级,因为距离比。)因此,该设备可以在给定的频道上进行传输,同时被动扫描其他通道。在自己的频道上,这些设备正在执行 CSMA/ CA

我的理解是 Android 在被动模式下进行后台扫描。 https://android.stackexchange.com/questions/131414/do-android-devices-make-active-or-passive-scan-when-looking-for-wifi-ap

关于 wifi 扫描的另一个好答案wifi 客户端如何检测来自 AP 的 SSID?