目录
前言
场景需求
Trigger Frames
一. BSS Color
1.1 机制
1.1.1 Color Collision
1.2 Frame Format
1.2.1 BSS Color Information
二. TWT
2.1 节能
2.1.1 PSM
2.1.2 从PSM到TWT
2.1.2.1 TWT模式
2.2 Frame Format
REF
前言
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
TWT在Ext Cap字段定义了表明支持TWT的bit位。管理帧中, 携带扩展能力元素第 77 和 78 位分别表示支持 TWT requester 和 responder。该扩展元素 ID 127 存在于reassociation,associationrequest/response, probe request/response和beacon帧中。
下面的sniff包是网上获取的
REF
WiFi 6 - 华为 (huawei.com)
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)