我注意到,在我的工作站(Windows 7,通过以太网电缆连接)上,我可以 ping 通我的 Android 手机 100-500 毫秒,当然,它也通过无线连接到同一个 WiFi。
奇怪的是,如果我尝试用手机 ping 我的工作站,ping 是正常的(13-15 毫秒)
这种情况也会发生在连接到同一路由器的其他手机(即 iPhone)上,但不会发生在始终通过无线连接的笔记本电脑上。
通过以太网电缆连接到我的路由器的其他设备之间的 ping 操作都在 1ms 以内。
可能是什么原因造成的?
我甚至尝试启动 Linux Live CD 并尝试 ping 我的手机,看看是否是 Windows 故障或者其他原因,但高 ping 值仍然存在。
我也尝试使用另一个路由器,但 ping 值仍然很高。
答案1
带电池的移动设备使用一种称为省电的机制来节省电池电量。对于您而言,您的 Android 手机通过向接入点/路由器 (AP) 发送一个设置了电源管理位的空数据包进入省电模式。从那时起,接入点会将所有发往您 Android 手机的数据包存储在每个站点的队列中,并在信标数据包中设置流量指示图 (TIM) 字段,以指示发往您手机的数据包已在 AP 排队。Android 手机会在每个侦听间隔从睡眠状态唤醒以接收信标帧,当它检测到已设置 TIM 字段时,它会向 AP 发送 PS-Poll 数据包。作为响应,AP 会将第一个排队的数据包发送到 Android 手机。手机接收排队的数据帧,如果此数据包中的更多数据字段已设置,它会向 AP 发送另一个 PS-Poll 帧。STA 继续发送 PS-Poll 帧以接收所有排队的帧,当没有剩余帧时,它会重新进入睡眠状态,直到下一个侦听间隔。在这种情况下,Android 的监听间隔似乎设置为 100ms(1 个信标间隔)到 500ms(5 个信标间隔)。默认情况下,信标每 100ms 退出 AP 一次。您的 Android 手机运行正常,符合 802.11 标准。
编辑:以下链接将有助于更好地理解 802.11 省电:https://people.cs.nctu.edu.tw/~yctseng/WirelessNet2011-02/ieee802-11-power-saving-mode.ppt
图片来自:https://mrncciew.com/2014/11/01/cwap-802-11-ctrl-ps-poll/