TWT:一个让WiFi6更省电的特性

更多精彩内容在公众号。

再wifi6前,已经有了不少节能特性:PSM,PSMP,APSD。在一个 Beacon 周期内,终端 会观察 AP 是否会向其发送数据,如果是,那么终端就保持等待,直到接收完成后, 才会进入休眠模式。这其实对业务量很低的终端相当不公平,例如智能电表这种,可能很久才需要跟 AP 通信一次,大部分时间都要等待,这就造成了终端电量不必要的 消耗。

图片

Wi-Fi 6引入了TWT(Target Wake Time,目标唤醒时间)特性,旨在提高网络效率并降低设备的功耗,特别是对于IoT(物联网)设备和移动设备。以下是TWT特性的一些关键点:

  1. 节能:TWT允许设备与接入点(AP)协商一个特定的唤醒时间,以便在预定的时间进行数据传输。在非唤醒期间,设备可以关闭其Wi-Fi功能,从而节省电池电量。

  2. 减少干扰:通过减少设备唤醒的时间,TWT有助于减少网络中的干扰,因为设备不会在不需要的时候占用信道。

  3. 提高网络效率:TWT使得网络能够更有效地管理设备的通信时间,从而提高整体网络的吞吐量和效率。

  4. 适用于IoT:TWT特别适合于IoT设备,这些设备通常需要长时间运行在电池供电下,且数据传输需求较低。例如,智能电表和传感器等设备可以从TWT中受益。

  5. 单播和广播TWT:TWT分为单播TWT和广播TWT。单播TWT用于点对点通信,而广播TWT用于一对多的通信场景。

  6. 降低功耗:据报道,TWT最多可以降低三分之一的Wi-Fi功耗,这对于延长移动设备的电池寿命至关重要。

  7. 与Beacon帧的关系:在TWT协议下,设备不需要定期接收Beacon帧,而是在更长的周期内唤醒。这减少了网络的信令开销,提高了网络的稳定性。

图片

在TWT中,终端和AP之间建立了一张时间表(该时间表是终端和AP协定的),时间表是由TWT时间周期所组成的。通常终端和AP所协商的TWT时间周期包含一个或者多个beacon周期(总体时间比如几分钟,几小时,甚至高达几天)。

当终端和AP所协商的时间周期到达后,终端会醒来,并等待AP发送的触发帧,并进行一次数据交换。当本次传输完成后,返回睡眠状态。每一个终端和AP都会进行独立的协商,每一个终端都具有单独的TWT时间周期。

AP也可以将终端们根据设定的TWT时间周期进行分组,一次和多个终端进行连接,从而提高节能效率。

TWT一共有两种种工作模式,分别是:

1)Individual TWT,

2)Broadcast TWT,

图片

individual TWT

该模式下终端会和AP协商特定的TWT时间,该时间会被存放在AP的时间表中。终端会在特定的时间醒来并和AP进行帧交换。每一个终端仅仅知道自己和AP协商的TWT时间,不需要知道其他终端的TWT时间。

其大致工作流程如下:

终端想要建立一个TWT连接,其会将自己的节能调度信息告知给AP

AP将会分配TWT周期,并将该周期反馈给终端

终端会在指定的TWT周期时苏醒,并和AP进行数据帧交换

在本轮交换中,会分成显式和隐式两种工作模式

显式工作模式

在本次数据帧交换中,AP会显式告诉终端下一轮的TWT周期

终端会在新的指定的TWT周期时苏醒,并再一次和AP进行数据帧交换

隐式工作模式

在本次数据帧交换中,AP不会告诉终端下一轮的TWT周期

终端会自己计算出下一轮的TWT周期(通过在当前TWT周期上增加一个特定的时间)

终端会在自己计算的TWT周期时苏醒,并再一次和AP进行数据帧交换。

图片

终端会在苏醒的时候,首先和AP发起一个TWT建立请求,终端和AP协商一个TWT时间(即图中Negotiate a schedule),当协商完成后,终端就进入睡眠状态。

在该图上,AP发送Beacon时,也会包含了公开的TWT信息,在Individual TWT工作模式下,Beacon中的该信息终端是不需要的。终端一直保持睡眠状态,直到TWT时间到达。

终端苏醒,并接收AP的触发帧,即TWT Trigger。当终端接收到该触发后,其会和AP进行数据帧交互。与此同时,AP会告知终端下一次的TWT时间(在显式TWT中,睡眠间隔的逐次设定的),终端会在新的TWT时间上,定时苏醒,并执行数据帧交换。

TWT的一次苏醒间隔有可能是小于一个beacon周期,也有可能是大于一个beacon周期的,相比于传统的PSM,APSD之类的节能方式,更加具有一般性。

终端和AP可以关于TWT时间周期进行协商,终端可以要求取消TWT参数,或者向AP请求特定的TWT时间。如果AP同意终端的请求,其会反馈“Accept TWT”。还有多种协商的具体参数,可以参考协议中10.47.1

TWT command分以下几种:

Request TWT: requesting TWT STA 不会提供TWT parameter用于协商,而是让responding STA提供parameter

Suggest TWT: requesting TWT STA会提供TWT parameter, 但是仍有可能选择responding STA提供的paramter参数,而且如果responding STA返回Demand TWT, 那么requesting TWT只能采用responding STA携带的参数

Demand TWT: 表示requesting STA只能接收当前指示的twt参数

Accept TWT: responding STA发送,表示responding STA已经初始化了给定的参数

Alternate TWT: 表示双方可以对参数进行协商

Dictate TWT: 表示没有TWT协商创建,但只有当requesting STA发送一个新的twt setup request并带有TWT参数的时候,就采用该参数

Reject TWT: 表示拒绝TWT协商参数需要另外建立协商

TWT 命令交互参考Table10-31a

图片

发送Request TWT, Suggest TWT, Demand TWT.  没有任何回应。则无法建立TWT协商

图片

发送Demand TWT, 回复Accept TWT, TWT协商完成,而且只能用Demand TWT中的参数

图片

发送Suggest TWT或者Request TWT, 回复Accept TWT, TWT协商完成并且使用回复帧中的参数

图片

发送Demand TWT或者Suggest TWT, 回复Alternate TWT. 不建立TWT协商,requesting STA会发送一个新的请求携带TWT参数。Responder有可能采用此参数

图片

发送Demand TWT或者Suggest TWT, 回复Dictate TWT. 表示responder不希望采用requesting STA发送的TWT 参数。RequestingSTA创建一个新的请求。并且只有在收到Accept TWT后才会使用Dictate的参数

图片

发送Demand TWT或者Suggest TWT或者Request TWT,回复Reject TWT, 表示TWT协商失败

Broadcast TWT

广播TWT是由AP(接入点)负责管理的一种工作机制,其中TWT时间周期由AP宣告。终端需要向AP申请加入组才能执行广播TWT,并通过交换管理帧来完成加入组的交互动作。

一旦终端成功加入组,它将根据最近收到的TWT时间周期进行工作。这类终端被称为“TWT Scheduled STA”(计划苏醒终端),而AP被称为“TWT Scheduling AP”(计划调度AP)。

在TWT时间周期到达后,终端苏醒并接收AP发送的广播触发帧。AP会检测哪些终端处于苏醒状态(即加入组的终端),然后向这些终端发送数据帧。需要注意的是,由于这是广播通信,只有AP向节点发送数据帧。

完成发送后,终端恢复到睡眠状态,直到下一次广播TWT时间周期到达。这个广播TWT的时间间隔通常被称为“TWT SP”(服务周期)。

综上所述,广播TWT是一种由AP管理的工作机制,通过在特定的时间周期内让终端苏醒并接收AP发送的广播数据帧,从而实现高效的广播通信。

图片

在Beacon帧中,AP宣告了TWT Broadcast时间周期(即TWT SP时间)。终端在接收到Beacon信息后苏醒,并根据TWT时间到达时刻提前苏醒。

一旦终端苏醒,它会接收AP发送的TWT触发帧和下行数据帧。在此过程中,AP也可能发送新的TWT Broadcast时间周期(即TWT SP时间)。终端接收完成后,进入睡眠状态,并在新的TWT SP时间到达时再次苏醒。

这个过程会循环进行,终端根据TWT SP时间周期性苏醒和接收数据,以实现高效的广播通信。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务cloud--抱团取暖吗 netflix很多停更了

抱团只会卷,卷卷也挺好的 DDD 高内聚 低耦合 服务间不要有业务交叉 通过接口调用 分解技术实现的复杂性,围绕业务概念构建领域模型;边界划分 业务中台: 数据中台: 技术中台: 核心组件 eureka&#x…

linux系统------------MySQL 存储引擎

目录 一、存储引擎概念介绍 二、常用的存储引擎 2.1MyISAM 2.1.1MYlSAM的特点 2.1.2MyISAM 表支持 3 种不同的存储格式⭐: (1)静态(固定长度)表 (2)动态表 (3)压缩表 2.1.3MyISAM适…

深度学习知识【CSPNet网络详解】

CSPNet的贡献 1.增强了CNN的学习能力,能够在轻量化的同时保持准确性。 2.降低计算瓶颈。 3.降低内存成本。 CSPNet介绍 在神经网络推理过程中计算量过高的问题是由于网络优化中的梯度信息重复导致的。CSPNet通过将梯度的变化从头到尾地集成到特征图中&#xff0c…

操作简单的城市内涝一维二维耦合模拟软件

原文链接:最简单的城市内涝一维二维耦合模拟软件https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247598401&idx3&sn0c4c86b3a5d09a75b8f07e6fad81aa9c&chksmfa8200a6cdf589b0970a6854869e8e3a9f132fe40a19977863c091cbcf6d9786f067e0c5651e&…

深度学习:复杂工业场景下的复杂缺陷检测方法

摘要:在复杂的工业场景中,缺陷检测一直是一个重要而具有挑战性的任务。近年来,深度学习技术的快速发展为复杂工业场景下的缺陷检测提供了新的解决方案。本文将介绍深度学习在复杂工业场景下的复杂缺陷检测中的应用,并探讨其技术进…

【机器学习入门 】逻辑斯蒂回归和分类

系列文章目录 第1章 专家系统 第2章 决策树 第3章 神经元和感知机 识别手写数字——感知机 第4章 线性回归 文章目录 系列文章目录前言一、分类问题的数学形式二、最大似然估计三、交叉熵损失函数四、多类别分类多类别逻辑斯蒂回归归一化指数函数交叉熵误差和均方误差的比较 五…

Tomcat 服务器部署和 IDEA 配置 Tomcat

(一) Tomcat 简介 Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范。 概念中提到了JavaEE规范,那什么又是JavaEE规范呢? JavaEE: Java Enterprise Edition,Java企业版。指Java企业级…

集简云新增“文本语音转换”功能,实现智能语音交互

为丰富人工智能领域的应用集成,为用户提供更便捷和智能化的信息获取和视觉创作方式,本周集简云上线了内置应用—文本语音转换。目前支持OpenAI TTS和TTS HD模型,实现文本语音高效智能转换,也可根据你的产品或品牌创建独特的神经网…

Go --- 编程知识点及其注意事项

new与make 二者都是用于内存分配,当声明的变量是引用类型时,不能给该变量赋值,因为没有分配空间。 我们可以用new和make对其进行内存分配。 首先说说new new函数定义 func new(Type) *Type传入一个类型,返回一个指向分配好该…

从原理到实践:深入探索Linux安全机制(一)

前言 本文将从用户和权限管理、文件系统权限、SELinux、防火墙、加密和安全传输、漏洞管理和更新等几个Linux安全机制中的重要方面,深入探索其工作原理和使用方法。在当今数字化时代,网络安全问题备受关注,Linux作为广泛应用的操作系统之一&…

每日一题 --- 977. 有序数组的平方[力扣][Go]

今天这一题和昨天的知识点是一样的,就是双指针法。 题目: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums [-4,-1,0,3,1…

对话悠易科技蔡芳:品牌逐渐回归核心能力建设,布局和构建自己的流量阵地

关于SaaS模式在中国的发展,网上出现多种声音。Marteker近期采访了一些行业专家,围绕SaaS模式以及Martech在中国的发展提出独特观点。悠易科技副总裁蔡芳认为,中国目前存在SaaS的应用场景与客户需求,用户的应用能力也在提升&#x…

containerd源代码分析: 整体架构

本文从代码的大的整体组织上来熟悉containerd项目 containerd项目总的说是一个cs模式的原生控制台程序组。containerd作为服务端来接收处理client的各种请求,如常用的拉取推送镜像,创建查询停止容器,生成快照,发送消息等。client/…

XS2105S,IEEE 802.3af 兼容、用电设备接口控制器集成功率 MOSFET V0.5

XS2105S 为用电设备(PD)提供符合以太网供电(PoE)系统 IEEE802.3af 标准的完整接口。XS2105S 为 PD 提供检测信号、分级信号以及带有浪涌电流控制的 集成隔离功率开关。发生浪涌期间,XS2105S 将电流限 制在 180mA 以内,直到隔离功率 MOSFET 完全开启后切 …

【Linux命令】查看内存占用情况(mem, swap)

1. 方法1(top) # top2.方法2(free) # free -h3. 方法3(swapon) # swapon -s

GraalVM详细安装及打包springboot、java、javafx使用教程(打包springboot3篇)

前言 在当前多元化开发环境下,Java作为一种广泛应用的编程语言,其应用部署效率与灵活性的重要性日益凸显。Spring Boot框架以其简洁的配置和强大的功能深受开发者喜爱,而JavaFX则为开发者提供了构建丰富桌面客户端应用的能力。然而&#xff…

什么是虚拟继承

由于C支持多继承&#xff0c;除了public、protected和private三种继承方式外&#xff0c;还支持虚拟&#xff08;virtual&#xff09;继承&#xff0c;举个例子&#xff1a; #include <iostream> using namespace std;class A {}; class B : virtual public A {}; class…

Vue模块化开发步骤—遇到的问题—解决办法

目录 1.npm install webpack -g 2.npm install -g vue/cli-init 3.初始化vue项目 4.启动vue项目 Vscode初建Vue时几个需要注意的问题-CSDN博客 1.npm install webpack -g 全局安装webpack 直接命令提示符运行改指令会报错&#xff0c;operation not permitted 注意&#…

第一部分:岗位认知

一、谈谈你对大学教师岗位的认识。&#xff08;了解&#xff09; 我想用三种身份来概括我对大学老师的认识&#xff1a;知识的传授者、生命的塑造者、学问的探求者。 &#xff08;一&#xff09;知识的传授者 韩愈曾说&#xff1a;“师者&#xff0c;所以传道授业解惑也。”教师…