目录
前言
802.11ax以前强调"高吞吐量";但是随着IoT物联网的不断发展,WiFi设备的数量不断增加,Wi-Fi的发展不在只是聚焦于峰值速率有多快,但是WiFi网络需要有足够的容量以及在多种多样的服务场景下网络的质量,强调的是“高效率",比如像设备数量增大后导致的“竞争开销”就是影响效率的。
场景需求
Wi-Fi 6设计之初就是为了应对高密度无线接入和高容量的无线业务,比如室外大型公共场所、高密场馆、室内高密无线办公、电子教室等场景。在这些场景中,接入Wi-Fi网络的客户端设备将呈现巨大增长,另外,还在不断增加的语音及视频流量也对Wi-Fi网络带来调整。例如4K视频流对带宽要求大于50Mbps/人,语音流要求时延小于30ms,而VR流对带宽和时延要求更严格,其带宽要求大于75Mbps/人,时延小于15ms,很明显Wi-Fi 5的30ms时延已经无法满足需求,而Wi-Fi 6则是通过OFDMA减少冲突,BSS Coloring减少同频干扰使得时延降低至20ms。
Wi-Fi 6在不同的优化方向上引入了不同的机制:
1. 大带宽:Wi-Fi 6采用更高阶的1024-QAM编码方式,信道宽度扩展到160MHz。
2. 低时延:OFDMA、MU-MIMO,使用BSS Coloring空间复用技术等。
3. 高并发:OFDMA引入RU的概念,从原本的同一时间只允许一个STA抢占整条信道传输升级为多用户同时传输;MU-MIMO机制让AP可以在同一时刻和多个终端通信。
Trigger Frames
802.11ax中引入了的OFDMA和MU-MIMO机制,这些机制中的用户信息和信息交换都需要利用到Trigger Frames。Trigger Frames不是本文介绍的重点。
一. BSS Color
1.1 机制
1. BSS:Basic Service Set,基本服务集。
2. intra-BSS表示在同一个BSS内;inter-BSS表示在不同的BSS间。
3. OBSS:overlapping basic service set,具有重叠的基本服务集。
4. CCI:co-channel interference,同信道的干扰。5. PD:packet detect。6. CCA:clear channel assessment,空闲信道评估。用来指示MAC是否检测到了信号。
在802.11ac 及之前的标准,通常采用动态调整 CCA 门限的机制来改善同频信道间的干扰。动态调整 CCA 门限(-dBm),忽略同频弱干扰信号实现同频并发传输,提升系统吞吐容量。(关于CCA,在初探802.11协议(3)——RTS/CTS控制帧中提到过)
在802.11ax中,通过BSS Coloring机制来识别同频传输,其MAC层的竞争取决于检测到的BSS Coloring。其将CCA的阈值和BSS Coloring信息关联起来(即adaptive-CCA,自适应CCA),从而提升空间复用能力,简单来说就是通过提高BSS间(inter-BSS)信号检测阈值,同时保持BSS内(intra-BSS)的较低信号检测阈值(两个阈值大约有4dB左右的差值)来减少MAC层竞争时的竞争问题,提升MAC层效率。
让节点可以忽略OBSS间的传输,可以在此时同时进行传输,从而提升信道利用率。BSS Coloring可以解决的一个典型场景就是“终端暴露问题”。 (关于"终端暴露问题",在初探802.11协议(3)——RTS/CTS控制帧中提到过)
802.11ax通过向PHY头部添加字段(即BSS Coloring字段,下一小结会有介绍)来区分BSS,节点在竞争时,根据检测到物理层头部的BSS Coloring字段来分配MAC层的竞争行为。
在PHY报文头中添加BSS Coloring字段(下一小节会有介绍)对来自不同BSS的数据进行“染色”,为每个通道分配一种颜色,该颜色标识一组不应干扰的。若BSS Coloring字段信息相同,则为intra-BSS;若BSS Coloring字段信息不同,则为inter-BSS。
intra-BSS | inter-BSS | |
802.11ax之前 | 同一BSS内的干扰信号,发送将推迟 | 不好确定是否为不同BSS间的干扰,直接推迟传输,直到信道空闲才发送 |
802.11ax | 同一BSS内的干扰信号,发送将推迟 | 两个Wi-Fi设备可同信道同频并行传输 |
802.11ax定义了两种的SR(Spatial Reuse,空间重用)模式,一种称为基于OBSS_PD的空间重用,另一种称为基于SRP的空间重用。
1.1.1 Color Collision
如上图所示,AP-1/终端和AP2/终端的BSS Color是不同的,即没有颜色冲突。
如上图所示,AP-1/终端和AP2/终端出现了颜色冲突。AP-1和AP-2由于相距比较远,他们相互是不知道对方的,从而也不知道颜色冲突了,只有终端能检测到颜色冲突。发生颜色冲突后,终端会向其关联的AP发送颜色冲突报告以及其能够监听到的所有OBSS的BSS Coloring信息;AP收到这一消息的时候会发送一个Action Frame帧(Color Change Announcement),这个帧会通知节点新颜色的数据(new color)以及新颜色开始使用的时间(switch time)。
1.2 Frame Format
在802.11管理帧中也可以看到BSS Coloring信息。在Beacon帧中的HE Element中,包含BSS Coloring的子字段。6个Bit的BSS Coloring信息字段,可以标识63个BSS。
1.2.1 BSS Color Information
二. TWT
1. TWT:Target Wakeup Time,目标唤醒时间。
2. PSM:Power Save Mode。
3. AID:Association IDentifier,关联ID。当一个 STA 向 AP 发起Association Request后,AP会反馈Association Response,AID也是在这个过程中被分配,在PSM作为STA-AP一一对应的标志。
4. TIM:Traffic Indication Map,流量指示图。实际上是一个基于bitmap结构的流量指示图,用以标识AP的缓存信息。
5. Dense场景:密集场景。
TWT首次出现在802.11ah “Wi-Fi HaLow”标准中,用于支持大规模物联网环境下的节能工作,后来在11ax中得到了进一步的扩展。TWT机制主要做了如下几点:
1. 允许设备协商什么时候和多久会被唤醒,然后发送或接收数据;
2. AP可以将客户端设备分组到不同的TWT周期,从而减少唤醒后同时竞争无线介质的设备数量;
3. 增加了设备睡眠时间,对采用电池供电的终端来说,大大提高了电池寿命。
2.1 节能
2.1.1 PSM
这里的传统的节能模式主要指DCF下的PSM机制。大致过程如下:
1. STA在对应的beacon周期醒来。醒来之后,STA首先要竞争信道,并在竞争backoff完成后发送PS-Poll告知AP,自己醒来了;
2. 当AP知道STA苏醒后,AP会反馈该STA对应的缓存数据包,直到所有的缓存发送完毕(即more data=0)后,STA重新进入休眠。
正是因为存在上述的竞争过程,因此在Dense场景下会存在很大的性能损耗。
在Dense场景下,节点越多意味着STA在beacon周期后可能需要间隔很久才能成功竞争到信道并把PS-Poll发送给AP,在此之后AP还需要通过竞争信道,把数据反馈给STA。简言之就是STA的整个苏醒时间变长了,而节点的能耗实际上是和苏醒时间正相关的,因此也意味着节点能耗增加了。
2.1.2 从PSM到TWT
802.11ax – Target Wake Time (TWT) – VidurBatra80211
上述传统的PSM机制再Dense场景下节能做的并不好,因此802.11ax通过TWT做了进一步的优化。简单来说:
1. 在TWT中,STA和AP之间通过协商建立了一张时间表,该时间表是由TWT时间周期所组成的。
2. 通常STA和AP所协商的TWT时间周期包含一个或者多个beacon周期,当协商的时间周期到达后,STA会醒来,并等待AP发送的Trigger帧,并进行一次数据交换。当本次传输完成后,返回睡眠状态。
3. 减少唤醒后的竞争设备数量:每一个STA和AP都会进行独立的协商,每一个STA都具有单独的TWT时间周期。不同的TWT周期就可以将不同的STA接入时刻进行错开;当然AP也可以将所有的STA根据设定的TWT时间周期进行归类分组,把可以放在一起进行OFDMA传输的节点尽量放在一起,一次和多个STA进行连接,进一步提升效率。
以“Individual TWT”模式为例来介绍下TWT的大致过程:
- 终端想要建立一个TWT连接,其会将自己的节能调度信息告知给AP
- AP将会分配TWT周期,并将该周期反馈给终端
- 终端会在指定的TWT周期时苏醒,并和AP进行数据帧交换
- 在本轮交换中,会分成显式和隐式两种工作模式
- 显式工作模式
- 在本次数据帧交换中,AP会显式告诉终端,下一轮的TWT周期
- 终端会在新的指定的TWT周期时苏醒,并再一次和AP进行数据帧交换
- 隐式工作模式
- 在本次数据帧交换中,AP不会告诉终端,下一轮的TWT周期
- 终端会自己计算出下一轮的TWT周期(通过在当前TWT周期上增加一个特定的时间)
- 终端会在自己计算的TWT周期时苏醒,并再一次和AP进行数据帧交换
2.1.2.1 TWT模式
TWT一共有三种工作模式:Individual TWT;Broadcast TWT;Opportunistic PS。
1. Individual TWT
该模式下终端会和AP协商特定的TWT时间,该时间会被存放在AP的时间表中。终端会在特定的时间醒来并和AP进行帧交换。每一个终端仅仅直到自己和AP协商的TWT时间,不需要知道其他终端的TWT时间。
2. Broadcast TWT
广播TWT机制是一种由AP负责管理的工作机制。在该机制下,TWT时间周期是由AP宣告,通常AP会在每一个beacon帧中宣告本轮的TWT时间周期。在一些特殊的情况下,AP也会在其他的管理帧中宣告,比如Association帧,Reassociation帧或者Probe Response帧等等。我们需要注意在Broadcast TWT中,存在加入组和离开组的交互动作,终端需要向AP申请加组才可以执行Broadcast TWT,这个加组交互动作也是通过在终端和AP交换管理帧中,通过携带TWT elements完成的。当终端完成加组后,终端会按照最近接收到的TWT时间周期进行工作,此时这一类型的终端也被叫做“TWT Scheduled STA”,AP被称为“TWT Scheduling AP”。终端在TWT时间周期到达后进行苏醒,AP会发送广播的触发帧,发现哪些终端正在处于苏醒状态(加组后的终端们),并向这些终端发送数据帧,这里由于是广播通信,所以只有AP向节点发送。当AP发送完成后,终端恢复到睡眠状态,直到下一次广播TWT时间到达。通常,这种广播TWT中的时间间隔,我们也称为“TWT SP (Service Period)”。
3. Opportunistic PS
2.2 Frame Format
![](https://img-blog.csdnimg.cn/1b7ad088e87e40e792e5f9d362eaa85c.png)
TWT在Ext Cap字段定义了表明支持TWT的bit位。管理帧中, 携带扩展能力元素第 77 和 78 位分别表示支持 TWT requester 和 responder。该扩展元素 ID 127 存在于reassociation,associationrequest/response, probe request/response和beacon帧中。
下面的sniff包是网上获取的
REF
The 802.11ax Trigger Frame – SemFio Networks
CTS 161: 802.11ax BSS Coloring (cleartosend.net)
Wi-Fi 6(802.11ax)解析7:BSS Coloring技术 - 知乎
Wi-Fi 6(802.11ax)解析18:TWT节能机制(Target Wake Time) - 知乎 (zhihu.com)