Wi-Fi技术简介(八)-- Wi-Fi7技术解析

一、11be主流技术

1.1 MLO: Multi-link operation

用白话来讲,MLO就是指多link连接,每个link对应每个MAC\PHY,各link之间可以并发工作也可以各自工作,在IP层面仍然是一个连接一个IP地址,存在以下几种共存模式:

(1)MLMR:Multi-link Multi-Radio

(2)MLSR:multi-link single-radio

(3)EMLSR:enhanced multi-link single-radio

(4)EMLMR:enhanced multi-link single-radio

1.1.1 MLSR:multi-link single-radio

这个没什么好说的,除了协议支持11BE,其他与Wi-Fi6没什么差异,STA & AP只能在一条link上通信;

1.1.2 MLMR:multi-link single-radio

这个也没什么好说得,STA&AP可以同时在两条link上工作,提高了wifi吞吐上限,比如其支持2.4G+5.2G、5G+6G;这里需要注意的是,MLMR工作模式下有两种模式:

STR:Simultaneous Tx and Rx

NSTR:Non-Simultaneous Tx and Rx,即MLMR模式下不允许两条link同时进行TX & RX,要么一起TX,要么一起RX;

Image

1.1.3 EMLSR:enhanced multi-link single-radio

顾名思义,它是eMLSR的增强版本,表示两条link并发工作,区别于MLMR,其只有一个radio通路,这种工作模式设计的初衷是为了一些低端设备也可以享有wifi7的红利,即使用一个radio两个频段,在其中一个频段工作质量差的时候可以切换到另外一个link上,简单来说,其不支持两条link并发工作,在一个link工作的时候,另外一个link是聋子,其也有以下几个弊端:

1.相比single link吞吐低,因为link切换时对吞吐有影响;

1.1.4 MLO涉及的几个MAC地址

一个MLD至少有两个MAC地址(对于双link而已),每个link需要有一个唯一的MAC,MLD mac address可以是唯一的也可以与其中一条link mac保持一致;

如何使用这几个MAC地址:

(1)在空口传输中,TA/RA使用各自link对应的MAC;

(2)对于数据包,SA/DA使用MLD MAC;

对于各个MAC解析参考2.2章节

Mark:link MAC只是MAC的概念,对于IP层面,只有一个MLD MAC,如果link mac出现在IP层,可能就会引起arp、ipv4、ipv6等等异常;

1.2 320MHz

11be支持多种带宽组合,支持6G 320MHz,支持组合带宽240Mhz(5.2G 160MHz + 5.8G 80MHz);

Mark:硬件能力最大就是320MHz,如果5.2G 160MHz + 6G 320MHz,其带宽也是320MHz.

Wi-Fi7关键技术320mHz带宽

1.3 4k QAM

Wi-Fi标准一直致力于提升数据传输速率,一种思路是提升单位符号(Symbol)携带数据的能力。如下图所示,如果我们把承载数据的符号比作车,把携带的数据比作待运输的货物。原本一辆车只能携带 8bit 数据,如果能增加携带数据量,那么同样的一辆车,比原先携带的内容多了,数据传输速率自然快了。

Image

在 Wi-Fi 标准中,提升单位符号携带数据的能力就是提高 QAM 的阶数。如图所示,Wi-Fi 5 采用的 256-QAM 正交幅度调制,每个符号传输 8bit 数据,Wi-Fi 6 采用 1024-QAM 正交幅度调制,每个符号位传输 10bit 数据,而 Wi-Fi 7 将会采 4096-QAM 正交幅度调制,每个符号位传输 12bit 数据。从 8bit 到 10bit 再到 12bit,就单条空间流数据吞吐量而言,Wi-Fi 6 较 Wi-Fi 5 提高了 25%,Wi-Fi 7 较 Wi-Fi 6 提高了 20%;

Image

思考:QAM的阶数越高对于性能越友好嘛:

答案:显示不是,因为发送一个符号所用的载波频宽是固定的,发送时长也是一定的,阶数越高意味着两个符号之间差异就越小。这不仅对收发两方的器件要求很高,而且对环境的要求也很高。如果环境很嘈杂(SNR 较小),则符号很容易因为命中星座图中相邻的其他点导致解调错误。这就意味着,如果环境过于恶劣,终端将无法使用高阶的 QAM 模式通信,只能使用较低阶次的调制模式。举个日常生活中的例子,两个人对话,如果彼此讲话速度很快,这就要求周围环境不能太吵,要是背景太嘈杂,显然也是听不清的。

1.4 Recommended Max Simultaneous Links

通俗来讲,它是MLMR模式下的一种工作方式,也被称为STR,就是同一时间允许同时TX/RX的link数,如下图:

Image

这个feature对于多场景共存时有很大的帮助,例如STA+GO,STA+SAP...

高通平台预留了接口,目前厂商还未实现,即底层不支持,接口定义如下(在后续底层支持后可以测试看一下收益):

53  #define MAX_SIMULTANEOUS_STA_ML_LINKS 1
mivendor_u_sm8650/vendor/qcom/opensource/wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c12506          {QCA_WLAN_VENDOR_ATTR_CONFIG_EHT_MLO_MAX_SIMULTANEOUS_LINKS,12507           hdd_set_eht_max_simultaneous_links},

Image

1.5 Restricted TWT

11AX省电 - TWT技术

Wi-Fi 6 引入了 TWT 机制,TWT 是由 802.11ah 标准首次提出,初衷是针对 IoT 设备,特别是为低业务量的设备而设计的一套节能机制。在 TWT 机制下,AP 和终端可以建立一套 TWT 协议,双方约定好一个 TWT 服务时间,终端只有在服务时间内才会工作,其他时间处于休眠状态。这就好比送快递,收件人不需要守候在家中等收货,只要跟快递员约定一个固定时间上门送货,其他时间收件人则可以自由行动。TWT 有 2 种模式,一种是 Individual TWT,一种是 Broadcast TWT,Wi-Fi 6 协议要求 AP 支持单播 TWT,广播 TWT 可选;STA 可选支持单播 TWT。Wi-Fi 7 的改进则是基于 Multi-Link 定义了跨 Link 的 TWT 机制,并针对低时延特性定义了受限目标唤醒时间 Restricted TWT(R-TWT)。R-TWT 允许 AP 使用增强的信道接入和资源预留机制,以提供更可预测的延迟、更低的最坏情况延迟和/或更低的抖动,并为延迟敏感流量提供更高的可靠性。R-TWT 操作沿用了广播TWT协商机制,并在TWT Setup 帧中将 Restricted TWT 所需信息携带上。

二、关键流程

2.1 EHT basic IE

  • 
    208  /**
    209   * struct wlan_mlo_ie - wlan ML IE info
    210   * @type: the variant of the ML IE
    211   * @reserved: reserved
    212   * @link_id_info_present: the present flag of link id info
    213   * @bss_param_change_cnt_present: the present flag of bss prarm change cnt
    214   * @medium_sync_delay_info_present: the present flag of medium sync delay info
    215   * @eml_capab_present: the present flag of EML capability
    216   * @mld_capab_and_op_present: the present flag of MLD capability and operation
    217   * @mld_id_present: the present flag of MLD ID
    218   * @ext_mld_capab_and_op_present: Extended MLD Capabilities And
    219   *                                Operations Present
    220   * @reserved_1: reserved
    221   * @common_info_length: common info length
    222   * @mld_mac_addr: MLD mac address
    223   * @link_id: link id
    224   * @bss_param_change_count: bss param change count
    225   * @medium_sync_delay_info: structure of medium_sync_delay
    226   * @eml_capabilities_info: structure of eml_capabilities
    227   * @mld_capab_and_op_info: structure of mld_capabilities and operations
    228   * @mld_id_info: MLD ID
    229   * @ext_mld_capab_and_op_info: structure of ext_mld_capab_and operations
    230   * @num_sta_profile: the number of sta profile
    231   * @sta_profile: structure of wlan_mlo_sta_profile
    232   * @num_data: the length of data
    233   * @data: the ML IE data, includes element ID + length + extension element ID +
    234   * multi-link control and common info.
    235   */236  struct wlan_mlo_ie {
    237          uint16_t type:3;
    238          uint16_t reserved:1;
    239          uint16_t link_id_info_present:1;
    240          uint16_t bss_param_change_cnt_present:1;
    241          uint16_t medium_sync_delay_info_present:1;
    242          uint16_t eml_capab_present:1;
    243          uint16_t mld_capab_and_op_present: 1;
    244          uint16_t mld_id_present: 1;
    245          uint16_t ext_mld_capab_and_op_present: 1;
    246          uint16_t reserved_1:5;
    247          uint8_t common_info_length;
    248          uint8_t mld_mac_addr[6];
    249          uint8_t link_id;
    250          uint8_t bss_param_change_count;
    251          struct medium_sync_delay medium_sync_delay_info;
    252          struct eml_capabilities eml_capabilities_info;
    253          struct mld_capab_and_op mld_capab_and_op_info;
    254          uint8_t mld_id_info;
    255          struct ext_mld_capab_and_op ext_mld_capab_and_op_info;
    256          uint16_t num_sta_profile;
    257          struct wlan_mlo_sta_profile sta_profile[WLAN_MLO_MAX_VDEVS];
    258          uint16_t num_data;
    259          uint8_t data[WLAN_MLO_IE_COM_MAX_LEN];
    260  };

Image

Image

2.2 连接过程

Image

用白话来说,就是对于beacon、probe与Wi-Fi6连接无异,每个link都需要,但是auth、assoc、EAPOL是指定其中一个link握手,其中GTK/IGTK/BIGTK复用;

以一份日志来看看:

/wpa_supplicant - frameworks连接过程
128892:05-30 03:56:30.691  3053  4891 D WifiClientModeImpl[699155:wlan0]: CMD_START_CONNECT  my state DisconnectedState nid=0 roam=false
128933:05-30 03:56:30.781  9028  9028 I wpa_supplicant: wlan0: Trying to associate with SSID 'Xiaomi_1500_2G'
129094:05-30 03:56:31.220  9028  9028 I wpa_supplicant: wlan0: CTRL-EVENT-CONNECTED - Connection to 0a:d1:59:cf:15:04 completed [id=0 id_str=%7B%22configKey%22%3A%22%5C%22Xiaomi_1500_2G%5C%22WPA_PSK%22%2C%22creatorUid%22%3A%221000%22%7D] ap_mld_addr=1a:d1:59:cf:15:02

//host连接过程,两个网口
//vdev-0
03:56:30.799489  [schedu][0x32a6492cf][19:56:30.799268]: [9015:I:CMN_MLME] vdev 0 cm_id 0xc000001: Connecting to Xiaomi_1500_2G 0a:d1:59:cf:15:04 rssi: -30 freq: 5180 akm 0x2 cipher: uc 0x8 mc 0x8, wps 0 osen 0 force RSN 0 CC: CN
03:56:30.936557  [schedu][0x32a8c4060][19:56:30.934704]: [9015:I:PE] Auth TX: vdev 0 seq 1 seq num 2049 status 0 WEP 0 to 0a:d1:59:cf:15:04
03:56:30.962215  [schedu][0x32a8e9cce][19:56:30.942762]: [9015:I:PE] Auth TX: success (0)
03:56:30.963118  [schedu][0x32a9459d5][19:56:30.962349]: [9015:I:PE] Assoc req TX: vdev 0 to 0a:d1:59:cf:15:04 seq num 2050
03:56:31.020370  [schedu][0x32a972ff6][19:56:30.972031]: [9015:I:PE] Assoc req TX: success (0)
03:56:31.097421  [schedu][0x32aba3a9b][19:56:31.091639]: [9015:D:CMN_MLME] +---------CONNECTION INFO START------------+
03:56:31.097422  [schedu][0x32aba3ad1][19:56:31.091642]: [9015:D:CMN_MLME] VDEV-ID: 0 self_mac:5e:26:46:04:46:0e
03:56:31.097424  [schedu][0x32aba3b07][19:56:31.091645]: [9015:D:CMN_MLME] ssid: Xiaomi_1500_2G bssid: 0a:d1:59:cf:15:04 RSSI: -30 dBm
03:56:31.097425  [schedu][0x32aba3b5a][19:56:31.091649]: [9015:D:CMN_MLME] Channel Freq: 5180 channel_bw: BW_160MHZ dot11Mode: DOT11_MODE_11BE
03:56:31.097427  [schedu][0x32aba3b9a][19:56:31.091652]: [9015:D:CMN_MLME] AKM: WPA2-PSK Encry-type: ENC_MODE_AES
03:56:31.097428  [schedu][0x32aba3bd2][19:56:31.091655]: [9015:D:CMN_MLME] DUT_NSS: 2 | Intersected NSS:1
03:56:31.097429  [schedu][0x32aba3c0f][19:56:31.091658]: [9015:D:CMN_MLME] Qos enable: 1 | Associated: yes
03:56:31.097431  [schedu][0x32aba3c4b][19:56:31.091661]: [9015:D:CMN_MLME] self_mld_addr:5e:26:46:04:46:8e link_id:1
03:56:31.097432  [schedu][0x32aba3c75][19:56:31.091664]: [9015:D:CMN_MLME] peer_mld_mac:1a:d1:59:cf:15:02
03:56:31.097433  [schedu][0x32aba3ca1][19:56:31.091666]: [9015:D:CMN_MLME] +---------CONNECTION INFO END------------+
03:56:31.098084  [schedu][0x32abae871][19:56:31.093956]: [9015:I:OSIF] wlan0(vdevid-0): 5e:26:46:04:46:0e Connect with 0a:d1:59:cf:15:04 "Xiaomi_1500_2G" is SUCCESS, cmid 0xc000001 
03:56:31.098395  [dp_rx_][0x32abc1b31][19:56:31.098047]: [9017:I:QDF] EAPOL-1 RX: SA:1a:d1:59:cf:15:02 DA:5e:26:46:04:46:8e
03:56:31.132631  [soft_i][0x32ac1e33b][19:56:31.117780]: [0:I:QDF] EAPOL-2 TX: SA:5e:26:46:04:46:8e DA:1a:d1:59:cf:15:02 msdu_id:0 status: succ
03:56:31.134102  [dp_rx_][0x32ac637dc][19:56:31.132562]: [9017:I:QDF] EAPOL-3 RX: SA:1a:d1:59:cf:15:02 DA:5e:26:46:04:46:8e
03:56:31.150446  [soft_i][0x32ac86b35][19:56:31.140073]: [0:I:QDF] EAPOL-4 TX: SA:5e:26:46:04:46:8e DA:1a:d1:59:cf:15:02 msdu_id:0 status: succ

//vdev-1
03:56:31.134098  [schedu][0x32ac63762][19:56:31.132556]: [9015:I:CMN_MLME] vdev 1 cm_id 0xc010001: Connecting to Xiaomi_1500_2G 0a:d1:59:cf:15:03 rssi: -39 freq: 5785 akm 0x2 cipher: uc 0x8 mc 0x8, wps 0 osen 0 force RSN 0 CC: CN
03:56:31.274214  [schedu][0x32aef6222][19:56:31.273072]: [9015:D:CMN_MLME] +---------CONNECTION INFO START------------+
03:56:31.274217  [schedu][0x32aef623d][19:56:31.273074]: [9015:D:CMN_MLME] VDEV-ID: 1 self_mac:5e:26:46:04:46:0f
03:56:31.274271  [schedu][0x32aef6258][19:56:31.273075]: [9015:D:CMN_MLME] ssid: Xiaomi_1500_2G bssid: 0a:d1:59:cf:15:03 RSSI: -39 dBm
03:56:31.274274  [loc-mq][0x32aef62d4][19:56:31.273084]: [9024:D:HDD] wlan_hdd_cfg80211_get_channel_sta: freq:5180, ch_width:5, c_freq1:5250, c_freq2:0
03:56:31.274276  [schedu][0x32aef6339][19:56:31.273087]: [9015:D:CMN_MLME] Channel Freq: 5785 channel_bw: BW_80MHZ dot11Mode: DOT11_MODE_11BE
03:56:31.274279  [schedu][0x32aef6369][19:56:31.273089]: [9015:D:CMN_MLME] AKM: WPA2-PSK Encry-type: ENC_MODE_AES
03:56:31.274281  [schedu][0x32aef6384][19:56:31.273091]: [9015:D:CMN_MLME] DUT_NSS: 2 | Intersected NSS:1
03:56:31.274284  [schedu][0x32aef639f][19:56:31.273092]: [9015:D:CMN_MLME] Qos enable: 1 | Associated: yes
03:56:31.274286  [schedu][0x32aef63bf][19:56:31.273094]: [9015:D:CMN_MLME] self_mld_addr:5e:26:46:04:46:8e link_id:2
03:56:31.274289  [schedu][0x32aef63d5][19:56:31.273095]: [9015:D:CMN_MLME] peer_mld_mac:1a:d1:59:cf:15:02
03:56:31.274291  [schedu][0x32aef63ed][19:56:31.273096]: [9015:D:CMN_MLME] +---------CONNECTION INFO END------------+
03:56:31.354837  [schedu][0x32af4ddeb][19:56:31.291789]: [9015:I:OSIF] wlan0(vdevid-1): 5e:26:46:04:46:0f Connect with 0a:d1:59:cf:15:03 "Xiaomi_1500_2G" is SUCCESS, cmid 0xc010001

STA MLD mac:5e:26:46:04:46:8e

STA LINK1 mac:5e:26:46:04:46:0e

STA LINK2 mac:5e:26:46:04:46:0f

AP MLD mac:1a:d1:59:cf:15:02

Ap link1 mac:0a:d1:59:cf:15:04

Ap link2 mac:0a:d1:59:cf:15:03

//空口

Image

157信道无auth\assoc\eapol;

2.2.1 EHT ADDBA建立

Image

Image

根据协议来看,支持mlo时,BIT5-7位是100(3),可以比对sniffer来确认是否支持1k,用白话来说,11AX中为了提高wifi吞吐量,引入了BAK机制,即一次发过个包,但只确认一次,所以这个BAbuffer将决定一次发包的长度,即A-MPDU聚合包长度,其与吞吐量有关系;

(1)一个由于BA协商问题影响吞吐的案例:wifi7连接吞吐只有20M,根据空口看,在建立连接之后,路由会delete BA,会导致双端没有BAK,按照TCP-ACK-rts/cts跑,不能发聚合包。

Image

2.2.2 加密方式限制

Image

根据协议来看,规定了Wi-Fi7支持wpa2/wpa3加密,不在支持open加密,可以根据厂商需求进行豁免;

2.3 MLSR/MLMR switch

协议中并没有对link切换进行详细规定,这部分主要取决于厂商实现,MTK平台目前wifi7只有MLMR模式,高通平台都支持,切换的场景如下:

1.低延迟

adb shell

wpa_cli

>set_latency_level 4

2.beacon miss;

3.tx bad;

4.高吞吐;

5.弱信号;

6.共存退避;

2.4 eMLSR switch

eMLSR与MLMR&eMLMR不共存,一般支持MLMR的设备将不支持eMLSR,那么什么时候支持MLMR,什么时候支持MLMR,取决于设备之间的协商,例如DBS手机+HBS路由,此时无法支持MLMR,如果设备支持EMLSR,设备会在口中交互中包含EML IE,标明支持emlsr,wifi连接时会将11be IE信息填充到空口中;

2.4.1 EML IE(Enhance Multi-link)

Image

Image

2.4.2 eMLSR transmission/receiver

eMLSR模式下,一条link发包没完成之前,另外一条link是“聋子”,不能说话和听话。

Image

2.4.3 切换门限

目前在低延迟模式下会切eMLSR,此外,高通也提供了ioctl接口,上层可以增加切换的场景:

12518          {QCA_WLAN_VENDOR_ATTR_CONFIG_EMLSR_MODE_SWITCH,12519           hdd_set_emlsr_mode},

如果读到这里,你觉得有所收获,就关注下小编的公众号,未来一起进步~

WiFi 7是一种新一代的无线网络技术,它提供了更高的速度、更大的容量和更低的延迟。MLO(Manufacturing Line Operation)测试用例是用于在制造线上对WiFi 7设备进行测试和验证的一组测试案例。这些测试用例旨在确保设备在生产过程中的质量和性能。 以下是一些可能的WiFi 7 MLO测试用例: 1. 速度测试:测试设备在WiFi 7网络下的传输速度,包括上传和下载速度。 2. 容量测试:测试设备在高负载情况下的性能,确保它可以同时处理多个连接和大量数据流。 3. 延迟测试:测试设备在WiFi 7网络下的响应时间,确保它可以提供低延迟的服务。 4. 兼容性测试:测试设备与其他WiFi 7设备和旧版WiFi设备的兼容性,确保它可以与不同类型的设备进行正常通信。 5. 安全性测试:测试设备的安全功能,包括加密算法、身份验证和访问控制等,确保它可以提供安全的网络连接。 6. 稳定性测试:测试设备在长时间运行和高负载情况下的稳定性,确保它可以持续提供可靠的网络连接。 7. 功耗测试:测试设备在不同工作模式下的功耗,包括待机、传输和接收等,确保它在节能方面表现良好。 8. 故障恢复测试:测试设备在出现故障或异常情况后的恢复能力,包括自动重启、错误处理和故障诊断等。 9. 信号覆盖测试:测试设备在不同距离和障碍物条件下的信号覆盖范围,确保它可以提供稳定的信号覆盖。 10. 用户界面测试:测试设备的用户界面和配置界面,确保用户可以方便地设置和管理设备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值