为什么有些 Beacon 帧会掉线
Why are some Beacon Frames dropped
为什么我没有捕捉到所有的信标帧?他们被 AP 丢弃了吗?
我在 Linux 中使用 libpcap 来捕获信标帧并解析时间戳。我使用时间戳来计算捕获的 Beacon 帧之间的间隔。
大部分时间间隔是应该的,即102.4ms。但是,每5-6个数据包显示的间隔是102.4ms的倍数,可以是204、306,最多800ms。
我不知道这是因为 AP 没有发送那些 Beacon 帧还是我的 pcap 没有捕获包。
我还没有深入研究 IEEE802.11 规范,但一些第 3 方文档(例如 [1])明确指出
"The beacon may be delayed beyond the target beacon transmission time due to other traffic occupying the medium and backoff delays. The beacon is not retransmitted in case of a collision since the beacon frame is sent to broadcast address. Synchronization function is very simple"
是的,很简单!
如果我使用没有其他 wifi 流量的专用 AP(我的三星 S6 Edge)或 public 路由器也没关系。
有人可以解释一下吗?
似乎信标 不是 由 AP 丢弃。
当我 运行 我的代码时,在终端模式下启动 Raspberry Pi 后(与通常的 GUI 模式不同),我捕获了几乎所有的信标,除了 30 个中的 1 个。
这清楚地表明丢弃的信标是由于客户端 CPU 负载造成的。
希望这对遇到同样问题的人有所帮助。
为什么我没有捕捉到所有的信标帧?他们被 AP 丢弃了吗?
我在 Linux 中使用 libpcap 来捕获信标帧并解析时间戳。我使用时间戳来计算捕获的 Beacon 帧之间的间隔。
大部分时间间隔是应该的,即102.4ms。但是,每5-6个数据包显示的间隔是102.4ms的倍数,可以是204、306,最多800ms。
我不知道这是因为 AP 没有发送那些 Beacon 帧还是我的 pcap 没有捕获包。
我还没有深入研究 IEEE802.11 规范,但一些第 3 方文档(例如 [1])明确指出
"The beacon may be delayed beyond the target beacon transmission time due to other traffic occupying the medium and backoff delays. The beacon is not retransmitted in case of a collision since the beacon frame is sent to broadcast address. Synchronization function is very simple"
是的,很简单!
如果我使用没有其他 wifi 流量的专用 AP(我的三星 S6 Edge)或 public 路由器也没关系。
有人可以解释一下吗?
似乎信标 不是 由 AP 丢弃。
当我 运行 我的代码时,在终端模式下启动 Raspberry Pi 后(与通常的 GUI 模式不同),我捕获了几乎所有的信标,除了 30 个中的 1 个。
这清楚地表明丢弃的信标是由于客户端 CPU 负载造成的。
希望这对遇到同样问题的人有所帮助。