User Tools

Site Tools


docs:wifi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docs:wifi [2018/03/31 14:23]
Tom Li [Antenna Diversity]
docs:wifi [2018/03/31 14:24]
Tom Li [Distance / Coverage Class(OpenWrt 中的「最远设备米数」)]
Line 98: Line 98:
     * MIMO     * MIMO
     * LNA     * LNA
 +
 +(待续)
 +===== Distance / Coverage Class =====
 +
 +当设备收到 802.11 数据帧并通过校验确定有效后,会向 AP 发送 ACK 帧宣告接收无误。如果 AP 在一定时间内没有收到 802.11 数据帧,就会假定该帧在途中已丢失或损坏,并重新发送本数据帧。然而,来自 AP 的数据帧抵达设备并解码也是需要一定的时间的,如果过早超时,就会导致不必要的重传;另一方面如果超时等待时间过长,数据帧丢失后 AP 会将更多时间浪费在空等待而不是重传上。此外,如果 AP 发现某个设备在短时间内没有发送任何 ACK,则会认为此设备已掉线,并向设备发出 disassociate 帧其强制踢出网络,强制使其重连。
 +
 +ACK 超时时间由硬件固件或设备驱动决定。这一时间可能会硬编码为一个较大数值,个别 AP 和驱动可能会提供手工调整 ACK 时间的选项,而一些先进的驱动则拥有 ACK 时间估算功能,会根据设备过去的表现自动调整超时时间(如 Linux 的 ath9k 驱动包括一个实验性的 ACK time estimation 功能,默认没有启用)。一般来说,ACK 超时时间对网络性能几乎没有明显的影响。然而在长途 Wi-Fi 通讯领域,由于设备之间的具体往往高达数千米甚至数百千米,远高于任何设备的默认 ACK 超时时间,此时就会出现设备可以看到 beacon 但无法连上的问题。此时需要手工调整 ACK 超时时间。
 +
 +除了 ACK 超时时间,另一个在 802.11 网络中关键的时间参数是 slot time。在 CSMA 在算法检测到碰撞后,设备会等待一段时间重新尝试传输,而这一等待时间的最小值就称为 slot time。在 802.11g 的 OFDM 物理层中,存在短 slot time 和长 slot time 两种标准时间设置。但当通讯距离足够长时,这一时间将同样不足,引发混乱。为了解决此类时间问题,802.11 标准规定了一个名为覆盖级别(coverage class)的参数。coverage class 的数值每增加 1,对应 3 us 的传播时间;默认的数值是 0,意味着信号传播时间可以忽略不计,
 +
 +在 Linux 中,为了解决长途 Wi-Fi 应用提供一个简单的配置方法,引入了一个 distance(距离)选项。用户无需计算电磁波的传播时间,只需要以米为单位指定最远设备的距离,Linux 内核就会正确设置适当的 coverage class 与正确的 ACK 超时时间。
  
 ===== TODO ===== ===== TODO =====
docs/wifi.txt · Last modified: 2018/03/31 14:24 by Tom Li