26

Wi-Fi 7(802.11be)前瞻3:MLO(Multi-Link Operation)

 2 years ago
source link: https://zhuanlan.zhihu.com/p/387761464
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.

Wi-Fi 7(802.11be)前瞻3:MLO(Multi-Link Operation)

Wi-Fi话题下的优秀答主

目前802.11be的协议版本已经跨国了draft 1.0,按照协议组的计划应该是先定PHY,然后再定MAC。在802.11be中,PHY一个比较重要的特性就是MLD,即Multi-link Device,这个技术其实我们之前在《无线新技术1:同步双频 RSDB(Real Simultaneous Dual Band)》已经提过,只不过当时是企业单独做的,现在是拉到Wi-Fi 7的协议体系下面去专门研究。所以本文我们就前瞻一下MLD的大致的工作机理,即MLO(Multi-link Operation)。由于目前协议还是比较初期版本,所以目前内容都是个人对于协议的理解进行理解,如果有错误的地方还请见谅。另外,802.11协议的一个显著特点就是牵一发动全身,所以一个MLO实际上对于协议很多方面都有影响,所以本文仅仅可以算是简单的说一下关于MLO的channel access的部分。

MLD PHY

关于MLD的物理层(PHY),那么建议结合上次写的RSDB的文章理解。我们要把视角放到IC身上,在MLD以前的IC虽然支持多个频段的连接,但是每一次只能够选择一个频段进行连接。所以对于一个终端而言,一次只能够和AP建立单独一个Wi-Fi连接,这个连接要不是在2.4GHz上某个信道,要不是在5GHz上的某个信道。而AP可以多个频段同时工作,但是其实现方法是通过多IC的方式处理的,也就是不同频段使用不同的IC进行隔离,从而能够允许多频段的并行工作。曾经有一段时间,一些商业路由做广告的时候,就喜欢把多个频段叠加之后的速率之和作为最大速率标识出来,作为一种产品宣传。从AP(或者路由)的角度而言,这也许还能够解释的通,但是用户终端是无法达到这个物理层连接速率的。

之所以一块IC只能够提供一个频段的连接,很大程度上与IC内部只提供单个基带的设置有关。这点我们在RSDB一文中已经讨论过,这样设计自然有其的合理性,节约成本,降低设计难度,而且其中终端当时本身也没有多链路的需求,主要追求的是网络的连接性,而不是速率和质量。然而时至今日,网络的高速发展下,速率和质量的需求逐步扩大,从而多链路的需求也随之产生,因此才开始重新展望MLD这种结构。

v2-1125067893ee858ffca12b168e02d512_720w.jpgRefer: Intel, Next-generation Wi-Fi

如上图所示大致就是一个MLD的基本框图。这里的D,即Device指的是一个链路的设备。粗略而言,我们可以理解图的上半部分是一个AP,这个AP包含一个IC,这个IC里面包含三个device,这里画三个主要是设想中分别对应2.4GHz,5GHz以及6GHz,也就是2.4+5+6的场景。该图的下半部分对应的是终端,该终端和AP一样,同样是一个IC,里面三个device。AP和终端间可以建立多个连接,按照图例上包含2个连接,即Link 1和Link 2。这里描述没有特别凸显一个IC内,而是仍然采用AP,STA这样的概念描述,是为了兼容协议当前框架的描述,换言之,最简单理解就是把原来两个独立的东西,塞到一个地方,然后讨论其协同工作的模式,但是其本身独立工作的机理并没有做改变,只是添加了新的协作功能而已。

MLD MAC

MLD的MAC部分,其实我个人觉得这一块应该就可以成为MLO,Multi-link Operation。前面我们硬件上的区别后,开始关注MAC层的工作理解。这里需要回顾下当时RSDB出来时候工作机理猜想。RSDB相当于是还没有做MLD之前,厂家已经做出了硬件层面上的MLD了,具体落到产品上,我们可以看到一个设备上可以连接上两个WiFi。

这是一种工作机理,应该就是在协议栈级别的协作,这里可以最简单的按照桥接的方式来工作,比如windows下也可以插两张无线网卡,然后桥接到一个网络下,在桥接模式下,最简单的工作模式就是负载均衡。或者采用MP-TCP的方式进行两个Wi-Fi的协作,比如LTE和Wi-Fi同时连接的方式,一种典型的连接方法就是MP-TCP。或者让APP进行隔离,不同APP的流量通过不同的WiFi传递出去,从而实现隔离的效果,这样也许对于实时性比较高的业务有一定好处。从移动终端这种时延和质量同时都有要求的场景而言,多连接应该是大势所趋,不仅仅可以做流量或者业务的隔离,其实也可以避免单一信道的或者说单一连接的干扰。这种类似的需求在802.11be中也有所谈及。

前面说的其实是从RSDB当时写的并进而设想的一些MLD的工作模式,但是MLD毕竟是一个802.11机制,是一个MAC机制。所以以上的方法是一种多连接的使用方法,但是没有MAC特性。所以下面我们主要谈论的是802.11be中的MLO的工作机理,需要做一个区别。

在802.11be的MLO里面,主要分成两种模式,一种是STR模式,一种是NSTR模式,下面分开说明。

异步模式(STR模式)

Ref. 802.11be draft 1.0

STR模式全称是Simultaneous Tx and Rx,同时的收发工作模式。这里看到STR模式很容易让读过全双工机制的童鞋歧义,以为Wi-Fi上全双工了。。。。实则这是一种不同Link间允许同时工作,所产生全双工的工作机制。所以一般强调全双工的时候,最好加上IBFD或者同时同频全双工两种说法合适一些。本身STR这里即使翻译成全双工也是没什么问题的,如果看一些SDR参数之类的里面也是同样的用法。

其实STR模式个人理解应该就是之前设定的异步接入模式,这两个概念应该是等价的(目前个人这样理解)。换言之,图例上的两个Link是完全独立工作的,两者互不干扰。所以在传输过程中,就有可能会出现,link 1发送,link 2接收这样的情况,所以称为STR模式。

STR模式看起来工作机理很简单,也就是两个独立的802.11模块分别在不同的频段上跑。但是这里还是有几个难点或者说可以讨论的点:

  1. 共天线。 目前从协议讨论上看,在MLD的PHY中,是多个Link需要同时使用一根天线的,而且根据先行的硬件设计,Wi-Fi的天线其实与蓝牙BLE也是共天线的。另外一个很重要的就是Wi-Fi片内片外的资源都是非常吃紧的,所以在这种情况下实现MLD还是有技术难度的。
  2. Device间的干扰。虽说不同的Link(也就是对应到不同的Device)其是通过频段进行隔离的,但是由于其device的距离近,以及共天线等相关因素,所以Device间仍然有可能存在干扰。这种干扰被称为In-Device Coexistence (IDC) Interference。
  3. 在异步的情况下挖掘Multi-Link的可能性,比如一种典型的想法就是重传,让link 2给link1进行重传,这可以有效避免某一个信道的干扰,或者说用一个link做控制信道之类的。

目前1和2基本是现在已经讨论的点,3应该还没明确定下来,针对Device间的干扰,其实也就是终端什么时候工作在STR模式下。目前看起来协议的做法是设置一个保护间隔,频带上的保护间隔。换言之,如果两个device的工作频段间隔足够大,那么其干扰的泄露就比较小,直接被隔离了,从而就可以工作在STR模式。具体实行的机制是通过AP去设置信道,与传统802.11相同,在MLO的工作模式下,AP还是需要设置信道的,目前AP设置信道的规则是否改变还不是很清楚,但是当AP设置完信道后,节点在接入的时候就可以根据AP已经设置的信道,计算其信道间的间距是否满足保护频段的距离,如果满足的话,那么就工作在STR模式,如果不满足,那么就工作在下面说的NSTR模式。

同步模式(NSTR模式)

NSTR模式就是不允许同时进行收和发的操作,此时只能单一时间内,两个link都是收,或者两个link都是发。其实从机理上而言和复用技术差不多了(所以其接入机理的讨论中就包含了当时复用方式用过的机理)。那么NSTR模式个人认为就等同于同步模式。

先看传输流程,NSTR模式有个要求就是同时开始,同时结束(在协议里面称为PPDU end time alignment)。

ref. Current Status and Directions of IEEE 802.11be,the Future Wi-Fi 7

传输过程同时开始,同时结束(或者说结束时间的差值是在一个很小的限定时间范围内),这个需求放出来就意味着MAC层协议的目标有了。为什么会有这样的规则,目前看起来有两个原因,1)NSTR最直接的同步传输的要求,同一时间只能够工作在一个状态下。2)ACK反馈机制采取的是直接反馈,而不是询问式的反馈(BAR,BA就是典型的询问式反馈)。ACK的反馈会有两种影响,一方面,如果不是同时结束,那么有可能一个链路在传,另外一个链路反馈ACK了,那么就与NSTR违背。另外一方面,ACK直接反馈,或者说实时反馈的机理对应ACK timeout,如果两个link不是同时结束,那么这个timeout的时间起始点不好定,从而整个机制就不好执行。所以综上,NSTR的传输有这样的基本要求。

那么先看同时开始的部分,同时开始是对竞争协议的要求,这里我目前是参考《11-20-0993-07-00be-sync-ml-operations-of-non-str-device》,《11-20-0671-01-00be-multi-link-triggered-uplink-access-follow-up》和《11-20-1730-03-00be-ul-sync-channel-access-procedure》。

其实看第一份的思路其实挺顺,如果对802.11协议熟悉,那么同时开始这样的竞争最容易想到的手段就是channel bonding接入里面采用的PIFS机制(具体机理我写n的channel bonding里面后面会写),这个机理就是说,主信道做竞争,次信道只要在主信道竞争胜利后,往前推PIFS时间,如果信道都是idle话,那么两个信道可以合并一起接入,那么到MLD里面就是两个Link同时上。

然后里面还有提一个ePIFS的机理(即第二种),这里主要是MLD是两个device,以为着有两个BO在那边倒数,而channel bonding里面BO仅仅对应到主信道的,次信道没有BO,所以存在这样的区别,所以这个PIFS里面还有BO能不能继续倒数的case。

第三种,也就wait的方式接入。换言之,由于有两个BO,那么其中一个倒数到0以后,自己hold住自己,不发送东西,等另外一个link的BO也倒数到0,两个都倒数到0以后才可以发送。其实这种从机理上最好实现,而且这样设置的话,工作机理上NSTR和STR很大部分是差不多的,复用的地方就能多一些。

第四种,基于Trigger的,按照协议里面的说法现在是基于TUA的一种接入方式。我们直接针对前面的第三种做比较,第三种强调的是hold住自己,第四种就是hold住信道,倒数到0以后,立刻发送trigger把信道hold住,然后等另外一个倒数到0,也发送了trigger,这样整个信道全部hold住以后再进行接入。

总体而言,第一种,第二种仅仅是这里写出来,当做是协议设计过程中的一个小过程,看样子不会进最后的结果,毕竟不是基于场景专门考虑的,而是将channel bonding里面的方式套过来。而第三种,第四种可能是协议目前的方向吧,至少我目前看的感觉上是。

那么无论哪一种方式,其实都可以实现同时发送的case了。下面同时结束的部分,这里的同时结束强调的是PPDU的同时结束,不过具体细节部分我还没有特别搞明白,只能大致说下现阶段的理解。首先PPDU级别的同时结束和MPDU级别的是有差别的,MPDU级别只需要控制待传的两个数据包大小相等即可,而PPDU级别的话,不能确保物理层的传输速率相同,所以即使两个MPDU大小相等,但是物理层传输速率不同,那么PPDU还是不是同时结束的。目前猜测这里可能还会上padding或者动态帧分片,毕竟协议已经给出了这样的机理能够搞定PPDU同时结束的。

另外在协议里面还有一个us级别的PPDU end time alignment,如上图所示。其实为什么存在这个机理,主要大场景还没有特别想通,其实是不知道和NSTR里面怎么对应出来这个问题。关注其中的设计部分,包含了aSignalExtentsion之类,这个上次出现在协议里面是在讨论802.11b/g兼容里面用到的,b/g都是2.4GHz信道,但是其sifs,slot大小会存在区别,所以要统一,这个统一就是用到aSignalExtentsion,这算是非常小的细节了,具体可以看《802.11协议精读33:细考802.11b/g的兼容机制》。所以这里看起来也是做同步用的,不过具体场景现在我还没特别折腾清楚(因为按照MLD场景,不同link应该是同构的吧,如果是异构,以上机制的设置也好理解一些,现在不确定)。

以上大致就是笔者目前总结的MLO的状态,大致笔记一下。

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

v2-2aaf0aeed95fdea6d87e6ee8ccfde641_720w.png

欢迎大家关注我们的微信公众号:无线技术大讲堂,请搜索公众号(must_wireless)。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK