0

Wi-Fi 6(802.11ax)解析26:Wi-Fi 6的一些理念(基本思想+接入机制)

 2 years ago
source link: https://zhuanlan.zhihu.com/p/461494392
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Wi-Fi 6(802.11ax)解析26:Wi-Fi 6的一些理念(基本思想+接入机制)

Wi-Fi话题下的优秀答主

在专栏里面,之前已经写过一些Wi-Fi 6的技术特点了。虽然有一段时间没有继续写Wi-Fi 6,但是其技术特点是绝对不止现在展开的这些内容的,所以实际上还是有很多细节内容可以继续拿出来记录一下。

在研习Wi-Fi协议的技术特点上,笔者自己经验而言,可以总结为两点。

  • 第一点,就是协议是为了某一个目的或者设计理念所服务的。比如说802.11e的协议,目前专栏里面已经把主要内容都写了一下了。802.11e的主要目的是为了QoS,所以其设计的很多机制都是与QoS有关的。比如节能机制APSD,如果单纯仅仅是对比trigger一次请求多次反馈和poll的区别的话,那么还是和QoS没有关联上,理解就不够深入。或者我们可以说,协议设计的过程中,中心思想其实还是挺明确的,很多时候都是围绕中心思想来做很多的外围设计。所以在理解协议的过程中,对于中心思想的讨论个人感觉是比较重要的。
  • 第二点,就是细节处理上。802.11协议是一个把兼容性看的很重的协议,这也是该协议成功的原因之一。但是兼容性一重,在协议演进的过程中,我们俗称的“牵一发动全身”的现象就比较明显,造成协议看起来会有很多个别修修补补的地方。

所以这篇文章,实际上是想谈谈Wi-Fi 6的设计理念的。很多情况下,当设计理念好理解之后,其他的很多技术特点也就是比较顺理成章好想通了。

Wi-Fi 6的理念

本节,我们用一个交通的示例来谈一谈Wi-Fi 6的理念。感觉个话题本身比较大,所以可以用更直观一点的场景来讨论下。下面这张图就比较直观的解释现在的问题:

v2-f558af132c927d0d7021348773591934_720w.jpgDavid Chen,Ruckus WiFi6 趨勢戰情報

在整个Wi-Fi协议诞生之初,千挑万选出来了CSMA/CA作为其底层MAC机制。整个CSMA/CA就好比是一条马路,很多个车子去争这条马路通行。那么基本思想就是,开之前看下路有没有空,空了就随机数几秒,看看有没有别的车先开出去。如果没有,那么自己就开出去了。在最初的Wi-Fi协议中,比如802.11a/b/g,这个马路是单车道的。在后来的Wi-Fi协议,比如802.11n/ac中,马路升级了,车道变宽了(也就是支持更大带宽的模式),还支持多车道了(也就是MIMO和MU-MIMO模式的引入)。但是这个路怎么走,本质上还是大家一起随机去争抢,换言之,还是CSMA/CA机制的改良版本。久而久之,随着路的宽度和车道越来越大,现在发现,哎呀,车道利用率太低了哎,这样子不行。

所以到802.11ax(Wi-Fi 6)里面,就开始调整交通思路了。给安排一个交警来指挥指挥交通(交警就是AP),让大家依序排队传。不过,由于大家还有很多人没有学习过新的交通法规,所以交警来了以后,仅仅能指挥新的学习过交通法规的车(也就是Wi-Fi 6的节点)。但是那些老的车还是遵循老的路子,看到车道空了,随机等一下就打算开上去。所以这个时候交警给就时不时去把车道先占下来(本质上是说TXOP了),交警往中间一站,其他人一看。好吧,车道有人的,那么就乖乖停在本地,等什么时候交警撤了,那么随机按老路子抢着开。

到Wi-Fi 6和7以后(也就是802.11ax和802.11be之后),不仅仅这个车道自己变宽了,交通的十字路口还变多了(对应网络更加密集)。所以好吧,现在只有引入多个交警一起上了。不过这些交警虽然受过统一的规范训练(也就是标准规范),但是没有更高一级的领导到场做全局的处理。都是交警自己根据当前的路口情况做判断,最多交警和交警之间互通个小信息,大家做点小协商,统一控制下。这个时候,就可以搞点部分路段的一路绿灯,或者车辆分流之类的操作了(也就是多AP协作)。

大致整个协议目前的一个流程思路,就可以大致类比为以上一个马路争行的问题。不过看了以上的这些描述,其实一个很直接的想法,就是直接搞一个交通局,然后建一点红绿灯,把整个交通指挥下不就得了。其实按道理这样搞确实效率最高,通信网络(3G/4G/5G)本质就是有中心指挥的,比如RLC子层去做RRM之类的。但是Wi-Fi穷哎,成本实际上是有限制的,毕竟Wi-Fi不是针对发达地区专门建设,其更多的是欠发展地区,所以一旦要求一定要建红绿灯,那么这个钱就给算到成本上。设备成本一高,那么产品价格也就高了哎。

Wi-Fi 6的理念如何体现(接入机制)

其实从802.11e时代开始,协议已经从功能上逐渐开始分离节点和AP的角色了。一开始仅仅是上下行机制相同,仅仅体现在参数不同上。到后来Wi-Fi 5的版本开始,上下行的机制开始也出现不同,比如ac的下行MU-MIMO。到Wi-Fi 6以后尤是这样。所以协议中AP的节点的角色,也从一开始的平等对待,逐渐转变成了不对等的两类型节点。那么现在我们要讨论的东西是引入管控,也就是前面所说的交警的角色。所以也需要分上下行两类场景分别讨论。

Wi-Fi 6的下行

  • 针对于下行节点而言,此时发送者仅仅是AP。那么由于下行数据都是缓存在AP身上的,换言之,AP知道所有节点的下行缓存情况,所以其本身就是具备下行的全局信息的。因此,其很容易就可以实现对于下行传输的资源配置。另外,关于信道竞争的过程也比较好处理。因为此时发送者仅仅是AP,那么AP自己去抢信道,抢到自己就去发送下行帧即可。
Nokia_Behind Wi-Fi Success strory

如上图所示,这个实际上可以当做一个下行的OFDMA接入过程。OFDMA里面一个很重要的环节就是资源分配,而在下行接入过程里面,这个资源分配实际上是标注在数据帧的Preamble里面的。这个Preamble格式实际上还是有些复杂的,一方面要指定OFDMA自身的一个RU格式,比如说多大的RU,然后还需要指定RU的分配情况。基这两个功能,其实都是在HE-SIG-B里面定的。

Ruijie-WiFi6 (802.11ax) Technology

如上图所示,就是一个HE-MU模式下的PPDU结构,其本质实际上就是多了HE-SIG-B这个字段。在802.11ax里面有4种PPDU格式,不过到了802.11be里面又重新设定为一种统一的格式了,其实就是MU格式。所以我们这里也仅仅关注下MU格式即可。HE-SIG-B里面又分成两个部分

Ruijie-WiFi6 (802.11ax) Technology

实际上就是Common Info和User Info两个部分,主要就是处理RU的格式定义,以及RU的资源分配的。简单点而言,就是告诉每一个节点,在这个OFDMA的帧里面,哪一个部分是对应其的内容,然后让节点在对应的位置取数据即可。至于细节,这里还是有很多内容的,比如RU的格式具体应该怎么定这些,以后再写文章论述吧。

那么AP发送下行数据的时候,实际上就是根据本地的缓存情况,对OFDMA的RU资源做一个分配,并把这个标注在Preamble里面告诉节点,然后节点根据这个分配进行数据接收即可。当接收完数据之后,AP会发送一个MU-BAR,让节点进行Block ACK的反馈。要注意,在Wi-Fi 6里面,上行也是按照MU的模式进行Block ACK的反馈。而对比Wi-Fi 5的时候,比如Wi-Fi 5的下行MU-MIMO,其Block ACK就不是MU模式的,而是时分的,如下图所示:

cambridge那本书

802.11ac(Wi-Fi 5)里面这一块ACK的反馈有好几种方式,但是无一例外的都是SU的模式,换言之占整个信道时间的。而Wi-Fi 6里面这一块需要注意,关于ACK的反馈,本质上是上行MU的接入,简单点就当做上行OFDMA的接入方式也行。我们也可以把这个当成引子,来看一下上行接入的情况。

Wi-Fi 6的上行

针对于上行节点而言,此时发送者是除了AP以外的其他节点。那么现在问题就比较多了,

  • 1)接入机制问题。在下行模式或者传统的节点接入模式中,都是单节点接入的。那么当网络从单借点接入转向多节点MU模式的接入(MU可以是OFDMA也可以是MU-MIMO),这个时候接入机制应该如何处理呢,是否核心还在在竞争接入的机制上。
  • 2)缓存情况获取或者说如何优化资源分配的问题。上行的数据都是在节点自己身上的,此时AP是不知道节点的缓存情况的。没有缓存情况,AP就无法做中心式资源分配的计算,因此,这个缓存情况是必须要知道的。因此,上行接入要解决缓存情况这个信息获取的方法。
  • 3)多用户传输的典型PHY问题,远近效应,同步问题之类的。目前远近效应和同步在笔者学习过的实际落地的标准里面,感觉是具有通性的。只要是有多用户同时接入的case,在商业标准中都是要对此进行一定的处理考量的。远近效应讲简单点就是要约束节点发送信号到接收端的功率,做功率控制,要在同一个level上,不能差异太大。否则可能就会造成用户间的干扰,影响正交性。同步讲简单点就是要求各个节点发送的内容要同时达到接收方,这个时候可以做TA时间提前,也可以加到保护间隔做缓冲。总之是要在同步时间内都到达才行,否则也会造成一些用户间干扰,同样也会影响正交性。

那么在Wi-Fi 6的协议中,目前把这个上行接入的机制设定为了一种新的MAC层机制,即TUA(Trigger Uplink Access)机制。

IEEE 802.11ax Standard

其实个人观点而言,TUA机制实际上就是用来总体解决上面这些问题的,其实算起来是一种比较折中,然后效果比较合适的方法了。TUA的核心是Trigger,以及Trigger所发起传输机制。那么围绕Trigger来说下前面三个问题

第一个问题,接入机制问题。其实这个问题的理解就要对应要一开始所说的“理念”了,Wi-Fi 6以前,其实核心思路都还是完全分布式,每一辆车自己争抢车道。而到Wi-Fi 6以后,就需要引入一个交警对交通进行指挥了。

Ruijie-WiFi6 (802.11ax) Technology

在无线局域网中,我们希望引入的交警是对网络有一定的控制权力的。换言之,交警不在的时候,那么大家可以随便去抢信道,然后交警只要在了,那么就需要听从指挥了。对应协议中的机制,这个交警实际上就是通过TXOP来实现的,其本质其实还是对NAV机制,也就是虚拟载波机制的灵活应用。当AP竞争信道并成为胜利者之后,其就可以发送一个Trigger帧。这个Trigger实际上开启了一段TXOP时间,当其他的节点接收到该Trigger后,就会进入NAV模式,换言之,在这个TXOP时间内,节点检测信道都会为“忙”的结果,从而无法主动竞争了,只能够被动反馈。被动反馈,其实被动反馈其实就对应到听从指挥了。

Ruijie-WiFi6 (802.11ax) Technology

Trigger帧是802.11ax新引入的一个帧类型,可以看下其帧结构,然后和前面在Wi-Fi 6下行中的Preamble里面的HE-SIG-B部分做一个对比,总体而言是一样的,只有个别字段的设置和含义上会存在一些区别。在Trigger帧中,AP同样的会把RU的格式指定好,然后同样为每一个RU分配好对应的节点。然后节点遵循RU的分配进行接入。

紧接着,这里讨论第二个问题。也就是RU资源分配的问题。我们这里知道上行接入的节点和对应资源是AP通过Trigger所分配的。那么AP在分配这些资源的时候,一方面要注意不要有资源浪费,一方面要保持一定的公平性。所以AP一定是需要引入一些关于节点的额外信息,才可以进行这份资源分配的计算的。在下行过程中,AP具有全局信息,所以很容易就可以执行分配算法。在上行过程中,本质上,AP还是需要知道一定的信息,否则无法执行分配算法。所以在802.11ax,也就是Wi-Fi 6中,一个比较重要的过程就是Buffer State Information的传递。

目前在协议中给出了两种Buffer信息,也就是BSR信息的反馈方式。一种是显式的BSRP过程,其中是通过BSR Control这个字段来传递信息。另外一种是隐式的过程,是利用帧中QoS Control部分的Queue Size部分来传递BSR信息。在以前的专栏里面其实关于这两个部分都有写过。我们这里实际上更感兴趣一些后者。

我们可以设想一下,如果想要AP不间断的执行这种资源分配式的接入。比如说AP下行帧,AP-Trigger上行接入,然后继续AP下行帧。。。。以此类推。在这样的接入过程中,如果都是数据交互,那么效率就会有很大的提高。而一种简单的思想就是在每一次数据传输中,都携带上一部分的控制信息,比如这里所说的Buffer State信息。那么在802.11协议中,实际上802.11e引入的QoS Control部分的中就有一个部分正好引入了这个buffer信息,那么就正好可以使用上了。

Cambridge的书

那么在协议中,如果是节点发送的QoS Data,其中的QoS Control的B8-B15为就可以被解析成Queue size的功能,那么现在就可以通过这个部分,对节点缓存的buffer情况做一个反馈。换言之,每一次节点的接入过程中,都会跟AP更新一下当前的缓存情况,那么AP就可以实时掌握这些信息,并且利用这些信息为下一次的资源分配进行计算了。

那么以上过程里面还需要引入竞争吗?因为在802.11协议中,接入的一个基本思想或者机制一直都是竞争接入的机制,所以很常见的在理解Wi-Fi 6接入过程里面时候都会先去找竞争,看看竞争部分有什么改良,然后就仅仅关注竞争部分,而没有进行整体把握了。那么其实在我们前面的论述中,实际上AP的调度分配更为重要,如果这个时候是一个静态的网络环境(也就是节点数固定,所有的节点都和AP关联上,没有新的节点加新来的时候),那么实际上这个竞争机制是没有什么必要性的。但是无线网络的环境,比如说拓扑环境是在变化的。所以必定还会存在一些节点加入和离开的过程,而这些过程中,我们还是需要引入竞争机制的,毕竟AP现在还没有和节点建立连接关系,所以就不好直接做资源分配了。

那么竞争过程应该怎么做呢?这里就有两种选择了,一种是CSMA/CA,单独用整个信道和AP建立关联关系。那么在OFDMA这种MU的模式下,这个资源利用率不高。资源利用率最高的方式无疑就是在MU这种接入方式里面做随机竞争,然后仅仅只有部分的RU来进行这样类似关联关系的建立。换言之,把竞争过程压在了部分RU上。所以在协议中,这个部分就形成的UORA机制。目前Trigger的格式给出了一个限制,也就是整个接入过程都是根据RU分配来做的。要在这个框架内引入竞争机制。所以在UORA中,就搞了几个特殊的RU分配,也就是将RU分配到几个不存在的AID(也就是不存在的节点上),这些AID就代表了竞争机制。为啥米要搞几个AID呢,因为还有多种case,比如AP已经和节点建立的关联关系,AP还没有和节点建立关联关系等等。所以不同情况可以不同对待。至于具体的UORA机制,以前的专栏有写过,这里就不继续展开了。

那么最后就是第三个问题,也就是同步和远近效应问题的处理。这个处理实际上还是在Trigger帧进行处理的,也就是Trigger功能其实挺多的。

对于同步问题的处理,那么具体到OFDMA里面,实际上就是要求不同节点的帧都需要在CP时间内到达,其实就是为了保证一个信号的完整周期性,避免OFDM解调过程中周期不完整出现ICI问题。在LTE里面,这边是通过RACH信道上面去测TA,然后可以做一些TA时间提前量的辅助,然后再适当的调节下CP时间大小即可。

Nokia_Behind Wi-Fi Success story

那么在Wi-Fi 6这一块比较简单,毕竟覆盖范围小,所谓通信的delay spread就比较少。所以解决同步问题最简单粗暴的方法就是单纯的增加CP时间。

802.11ax standard

那么在Trigger帧的Common info部分,就有这个字段来设置CP时间的(实际上对应协议中是GI部分,GI的保护间隔里面填充的是CP),具体的控制bit的位置如上图所示。

那么远近效应也一样,发生远近效应的原因是各个节点的位置不同。如果采用相同的发送功率的话,不同的路径衰落会导致接收方最终接收信号时,每一个节点对应的功率不同。那么可能就会因为远近效应发生一些用户载波间的干扰。

litepoint, Wi-Fi 6 OFDMA Pre-correction Test Solution

那么解决方案还是在Trigger中,通过Trigger来做一个发送功率控制。但是AP是不知道节点对应的衰减情况的,所以这个发送功率控制,实际上是AP把自己所期望接收的功率发出去,然后让节点自己去估计自己的衰减情况,然后调节自身的发送功率。

802.11ax standard

这个字段在draft时期被称为UL Target RSSI,最终版名字写的更直接一点,就是期望接收的功率。那么AP通过这样就可以对节点的功率进行一定的控制,这样就可以避免远近效应的问题了。

那么大致以上就阐述了Wi-Fi 6的一些基本理念,还有在接入过程中理念如何体现的。那么还有一些其他case会对这个理念进行体现,比如TWT节能,多BSS场景之类的,那么后面再对这些case进行阐述。

本文为原创文章,如需转载须注明出处和原文链接。

v2-2aaf0aeed95fdea6d87e6ee8ccfde641_720w.jpg

欢迎大家关注我们的微信公众号:Wi-Fi研习者,请搜索公众号(Wi-Fi_Researcher)。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK