初探802.11协议(6)——Wi-Fi 6新特性简介

目录

前言

场景需求

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-BSSinter-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

机会PS模式和前面两种工作模式是类似的,但是 没有AP和节点的协商过程。AP会在每一个Beacon内,公开宣告一个TWT时间。任意终端可以选择在这个公开TWT时间内进行苏醒,并和AP执行数据帧交换。这个交换可以是单个节点的,也可以是采用OFDMA机制进行交换。

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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/109741.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于 Appium 的 Android UI 自动化测试!

自动化测试是研发人员进行质量保障的重要一环,良好的自动化测试机制能够让开发者及早发现编码中的逻辑缺陷,将风险前置。日常研发中,由于快速迭代的原因,我们经常需要在各个业务线上进行主流程回归测试,目前这种测试大…

@CallSuper注解方法学习

CallSuper注解方法学习 CallSuper注解是什么?CallSuper注解使用CallSuper 值得一提的事总结 CallSuper注解是什么? CallSuper 是 Android 开发中使用的一个注解,它的主要用途是确保在子类重写父类的方法时,调用 super 方法。这在…

【Qt】绘图与绘图设备

文章目录 绘图设备QPainter绘图实例案例1案例2-高级设置案例3:利用画家画资源图片 点击按钮移动图片 QtPaintDevice实例Pixmap绘图设备QImage 绘图设备QPicture 绘图设备 QPainter绘图 Qt 的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制。整个绘图系…

云安全—K8S API Server 未授权访问

0x00 前言 master节点的核心就是api服务,k8s通过REST API来进行控制,在k8s中的一切都可以抽象成api对象,通过api的调用来进行资源调整,分配和操作。 通常情况下k8s的默认api服务是开启在8080端口,如果此接口存在未授…

RPC与HTTP的关系

首选理清楚关系 RPC与HTTP是两个不同维度的东西 HTTP 协议(Hyper Text Transfer Protocol),又叫做超文本传输协议,是一种传输协议,平时通过浏览器浏览网页网页,用到的就是 HTTP 协议。 而 RPC&#xff0…

【java】【MyBatisPlus】【三】【完】MyBatisPlus扩展

目录 一、分页查询lambdaQueryWrapper 二、自定义分页查询 1、UserMapper 2、UserMapper.xml 3、测试方法 三、MybatisX插件 1、安装 2、MybatisX代码快速生成 2.1 连接数据库 2.2 操作需要生成代码的表 3、MybatisX快速生成CRUD(前提步骤2生成&#xff…

【算法练习Day32】 斐波那契数爬楼梯使用最小花费爬楼梯

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 斐波那契数爬楼梯使用最小花…

探讨下前端测试的常见场景

前端测试 场景 这边指的测试是指白盒测试,用代码来测试代码。 测试有利于提升代码质量。 代码功能和需求一致。根据需求,写测试。测试通过了,则表明需求实现了。保证代码重构后,未改坏以前的功能。代码重构后,能通过…

[C++入门系列]——类和对象下篇

​作者主页 📚lovewold少个r博客主页 ⚠️本文重点:C类和对象下篇知识点讲解 👉【C-C入门系列专栏】:博客文章专栏传送门 😄每日一言:宁静是一片强大而治愈的神奇海洋! 目录 前言 再谈构造函数…

解决方案|法大大电子合同加速互联网家装服务升级

随着互联网的快速发展以及政策的不断推动,家装行业“互联网”趋势也不断凸显。行业内很多企业已经开始在全链条业务中使用电子合同,基于电子合同合规化、无纸化、线上化、智能化的价值赋能,实现家装从需求沟通、家装设计、选材、装修施工、验…

【MySQL--->内外连接】

文章目录 [TOC](文章目录) 一、内连接二、左外连接三、右外连接 一、内连接 内连接就是将两个表连接进行笛卡尔积查询 显示SMITH的名字和部门名称 二、左外连接 左外连接就是以左面的表为主,即便是右边的表没有而左边表项中有的,依然显示 查询所有学…

jenkins详细安装教程

这里写目录标题 一、Jenkins安装与部署1-1、Jenkins的简介1-2、下载需要的软件1-2-1 jekins.war1-2-2 tomcat安装方式 1-3、使用11版本的jdk1-4、开启jenkins1-5、获取密码1-5 修改镜像(可改可不改) 二、卸载Jenkins 一、Jenkins安装与部署 1-1、Jenkins的简介 Jenkins是一个…

Linux 基础入门

Linux 简介 Linux 是一种自由和开放源码的类 UNIX 操作系统。 Linux 英文解释为 Linux is not Unix。 Linux 是在 1991 由林纳斯托瓦兹在赫尔辛基大学上学时创立的,主要受到 Minix 和 Unix 思想的启发。 Linux 内核最初只是由芬兰人林纳斯托瓦兹(Linus T…

基于SSM的n省出口基地公共信息服务平台设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

Spring Cloud Gateway + Knife4j 4.3 实现微服务网关聚合接口文档

目录 前言Spring Cloud 整合 Knife4jpom.xmlapplication.ymlSwaggerConfig.java访问单服务接口文档 Spring Cloud Gateway 网关聚合pom.xmlapplication.yml访问网关聚合接口文档 接口测试登录认证获取登录用户信息 结语源码 前言 youlai-mall 开源微服务商城新版本基于 Spring…

评估在线不平衡学习的PAUC

评估在线不平衡学习的PAUC 原始论文《Prequential AUC: properties of the area under the ROC curve for data streams with concept drift》 由于正常的AUC需要计算整体数据集上,每个数据的预测置信度的排名。那么我们首先要求我们的在线学习算法在进行预测时也返…

node实战——后端koa结合jwt连接mysql实现权限登录(node后端就业储备知识)

文章目录 ⭐前言⭐ 环境准备⭐ 实现过程⭐ mysql 配置⭐路由前的准备⭐账号注册生成token⭐账号登录生成token⭐token登录 ⭐ 自测过程截图⭐总结⭐结束 ⭐前言 大家好,我是yma16,本文分享关于node实战——后端koa项目配置jwt实现登录注册(n…

博客模板博客模板

xservices-bpm-6.2.1.1.jar 本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》作者 公众号:山峯草堂,非技术多篇文章,专注于天道酬勤的 Java 开发问题、中国国学、传统文化和代码爱…

智慧矿山AI算法助力护帮板支护监测,提升安全与效率

在智慧矿山AI算法系列中,护帮板支护监测是保障矿山安全和提高生产效率的重要环节。护帮板作为矿山支护体系中的重要组成部分,在矿山生产中起到了关键的作用。那么,护帮板在哪种状态下是正常打开的呢?本文将对此进行介绍。 护帮板的…

LeetCode热题100 240.搜索二维矩阵||

题目描述: 编写一个高效的算法来搜索 m*n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例1: 输入:matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,2…