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/25 15:37]
Tom Li [802.11 无线网络参数解惑]
docs:wifi [2018/03/31 14:24] (current)
Tom Li [Distance / Coverage Class(OpenWrt 中的「最远设备米数」)]
Line 21: Line 21:
 多播和广播信息也是使用类似 TIM 的方式进行传输的,但是它们并不包含 TIM 中,而是包含在 DTIM(Delivery Traffic Indication Message)中。Beacon 中通常携带的是 TIM,但有时携带的是DTIM。 多播和广播信息也是使用类似 TIM 的方式进行传输的,但是它们并不包含 TIM 中,而是包含在 DTIM(Delivery Traffic Indication Message)中。Beacon 中通常携带的是 TIM,但有时携带的是DTIM。
  
-DTIM 出现的频率由 DTIM Interval/Period 控制,如 DTIM = 1,那么 DTIM 将每隔 1 个Beacon 出现一次,其他时间出现的是 TIM。按照 802.11 的电源管理协议,在 DTIM 出现之前,设备可以暂时进入休眠状态,直到下一个 DTIM 出现。因此,DTIM 的周期越长,设备可以睡眠的时间也就越长。因此,上调 DTIM 可以降低设备的电能消耗,但会影响网络传输的延迟与可靠性;下调 DTIM 可以提高网络传输的可靠性,减少延迟,但是会增加电能消耗。+DTIM 出现的频率由 DTIM Interval/Period 控制,如 DTIM = 2,那么 DTIM 将每个 Beacon 出现一次,其他时间出现的是 TIM,DTIM = 1 时每一个 Beacon 中 DTIM 都会出现。按照 802.11 的电源管理协议,在 DTIM 出现之前,设备可以暂时进入休眠状态,直到下一个 DTIM 出现。因此,DTIM 的周期越长,设备可以睡眠的时间也就越长。因此,上调 DTIM 可以降低设备的电能消耗,但会影响网络传输的延迟与可靠性;下调 DTIM 可以提高网络传输的可靠性,减少延迟,但是会增加电能消耗。
  
 DTIM = 3 时的情况如图所示。 DTIM = 3 时的情况如图所示。
Line 85: Line 85:
  
 ===== Antenna Diversity ===== ===== Antenna Diversity =====
 +
 +电磁波在空间中的传播会受到障碍物和噪音的干扰,导致信号强度出现随机衰减(fade)。对于 802.11 无线网络而言,由于设备与 AP 直接往往没有直射路径,因此电磁波会被不同的物体反射,产生多径传播现象,使设备与 AP 反复接收到之前已经接收过的相同信号;而通过不同路径抵达设备与 AP 的电磁波之间也会混合在一起,产生失真。这这种情况下,衰减现象会更加容易发生,干扰通讯的正常进行。在最严重的情况下,多径信号产生相消干涉现象而互相抵消,造成严重的「深衰」(deep fake),此时信号强度下降数千倍,可导致高达 30 dB 的损失。
 +
 +天线分集(Antenna Diversity)是使用多根天线降低通讯干扰的技术。在最典型的方案中,无线设备使用两根或更多天线,由于天线的位置不同,因此每根天线的信号的传播路径也不同。如果一根天线的信号传播出现深衰,很可能另一根天线却是正常的。因此,无线设备可以选择一根信号最强的天线用来收发信号。这就叫做空间分集(Space Diversity),可以看到在 Space Diversity 中,虽然天线的数量可以很多,但是任何时刻只有一根天线负责信号的传输。
 +
 +在 802.11g 与 1x1 无 MIMO 的 802.11n 中,Antenna Diversity 选项指的就是 Space Diversity。在 AP 上,可能存在一个是否开启 Antenna Diversity 的选项,也可能会有额外的选项让用户指定发射天线与接收天线。除非 AP 是用于特殊环境下组网的情况,Antenna Diversity 应该总是开启,而发射、接收天线应该设置为「自动」。
 +
 +带 MIMO 的 802.11n 无线设备则实现了更加复杂的 Antenna Diversity 技术,一般这类设备上没有选项可以直接控制 Antenna Diversity,因为这是 802.11n MIMO 的一部分。
  
 两种: 两种:
Line 90: 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 =====
Line 95: Line 114:
     * 注明来源(CC By + 合理使用)     * 注明来源(CC By + 合理使用)
     * 1, 6, 11 信道的选择,与 20/40 MHz 频宽     * 1, 6, 11 信道的选择,与 20/40 MHz 频宽
 +    * WMM
     * AMPDU     * AMPDU
     * UAPSD     * UAPSD
Line 104: Line 124:
     * Antenna Diversity     * Antenna Diversity
     * 802.11w     * 802.11w
 +    * Coverage Class(OpenWrt 中的「最远设备米数」)
docs/wifi.1521992237.txt.gz · Last modified: 2018/03/25 15:37 by Tom Li