11AX省电 - TWT技术

⊙1.什么是TWT;⊙2.为什么需要TWT;

⊙3.TWT是如何实现的,工作模式是如何的;

⊙4.TWT可以带来什么收益;

⊙5.TWT协商的空口解析;

⊙6.文末思考;

小编前几天遇到了一个用户反馈问题:打开路由TWT之后上网卡顿,关闭TWT之后恢复正常,刚开始小编也不知道什么是TWT,今天就来写一篇文章,带大家一起了解一下TWT。
三言两语解读技术,开始咯~
首先,学习Wi-Fi,要学会翻协议,看看协议对于TWT如何介绍(以下图片来源于wifi联盟ax协议):

协议相关更多细节可以解读ax协议26.8章节;(如果有小伙伴需要协议文档,可以私聊小编,小编为您提供协议文档以及学习资料)
协议内容过于枯燥单调,小编接下来以自己的方式为大家分享学到的内容;
一 什么是TW
TWT即Target wake time,中文理解 --“定时唤醒机制”,他是Wi-Fi中的一种省电技术,首次在11ah协议中引入,在11ax协议中进一步推广,其核心思想是通过提供一种STA&AP之间协商休眠唤醒时间的机制,达到省电的目的,在Wi-Fi STA&AP建立连接时,通过双端协商一个休眠-接收数据的时间间隔,减少STA侧的唤醒间隔;

二 为什么需要TWT
Wi-Fi每一次技术革新,一定是基于以往协议技术的弊端进行改良或者拓展,TWT技术也是如此,在TWT诞生之前有哪些省电策略,其都有什么弊端;传统省电模式主要依赖beacon实现,传统唤醒时主要有以下两种场景:
1.STA通过监听DTIM唤醒,当AP有数据包发送时,向STA发送DTIM,STA唤醒开始接收数据;(协议上DTIM数最大支持到255个beacon间隔,也就是一个最大DTIM间隔为255*100ms(通常来说一个beacon间隔为100ms));
==>关于DTIM以及传统协议中的一些节能技术点在后续文章中详细拓展,传统PSD(Power save mode)休眠唤醒流程:


2.当STA有数据需要向AP发送时,也会唤醒;


由此看来,传统省电模式强依赖于beacon间隔的设置,灵活性上差一点,而TWT可以带来以下优点:

  1. TWT休眠时间可以通过STA与AP协商而定,可以是几分钟、几小时、几天,当协定时间达到后,STA醒来并等待AP发送的出发帧,开始进行数据交换;
  2. TWT支持一对多灵活设置,例如一个AP可以与不同的STA设定不同的唤醒时间,互不干扰,在AP如下图所示:

这么对比来看,TWT节能效率更高一些,并且唤醒时间可以经过STA与AP协商而定~


三 TWT是如何实现的,工作模式是如何的;

TWT通过三种工作模式,实现省电的目的:

3.1 Individual TWT

这种模式中,角色被定义为TWT requestor和TWT responsedor,每个设备与AP拥有独立的休眠唤醒时间,不需要关注其他STA的设置,另外每种工作模式还有两种调度方式,显式(TWT请求STA唤醒并进行帧交换,接收AP相应帧中得到下一个TWT值)和隐式(STA基于当前TWT值计算下一个TWT时间值);其参数字段在协议中定义如下:

协议中对于每个字段解析如下:
(1)TWT Request:指示TWT角色,如果B0位是1,则代表位TWT requestor;
(2)TWT Setup Command:表示7种类型,request、suggest、demand、accept、alternate、dictate、reject TWT以及TWT Grouping,具体描述可以参考协议Table 9-297—TWT Setup Command field values;
(3)Trigger:bit=1表示有一个trigger传送;
(4)Implict:TWT的调度类型;
(5)Flow Type:TWT flow包含宣告模式和未宣告模式,如果b6=1代表是非宣告模式;
(6)TWT Flow Identifier:TWT FLOW标识符号;
(7)TWT Wake Interval exponent:TWT唤醒间隔时间;
(8)TWT Protection:可以说是TWT中的保护机制,当设置1时,表示STA在AP期间分配资源访问,限制其他设备资源访问竞争;
在Wi-Fi建立连接之前,双端会进行能力申明,STA会在(re)association request、probe request帧中申明是否支持TWT相关能力,而AP会在associate response、probe response以及beacon帧中申明TWT相关能力;
协议中对于这种工作方式流程如下:

其建立流程可以概括如下:
(1)STA与AP建立连接时,会向AP发送TWT request;
(2)AP回复STA TWT response,并在其中包含TWT周期;
(3)协商完成后,STA只会在周期满后醒来;
为了形象的说明TWT唤醒时间间隔,这里在引用一张图:

如图所示,STA和AP建立TWT之后(即Negotiate a schedule),STA会进入休眠,期间AP发送beacon也不会唤醒,只有达到TWT唤醒间隔后才会醒来,等待接收AP的TWT trigger以及数据包,在数据包接收完成后再一次进入睡眠,在显式模式中,每次睡眠间隔需要临时协商,即协商一次,睡眠一次;

3.2 broadcast TWT

这种TWT模式中角色分为TWT Scheduled STA以及TWT Scheduled AP,广播TWT机制是AP侧宣告TWT时间间隔,STA需要申请加入组,申请过程是在STA&AP交互管理帧中,通过携带TWT ie完成,加入组之后,会监听AP的beacon唤醒,AP再发送唤醒帧后,发现哪些设备在唤醒状态,就会向哪些设备发送数据包;
协议中对于这种工作方式流程如下(与individual TWT不同的是,broadcast依赖的是beacon帧唤醒,AP在达到唤醒间隔之后开始发触发帧):

协议中关于Broadcast TWT帧字段定义如下:

3.3 Opportunistic PS

机会Power save,与前两种模式类似,不同的是,这种模式不需要双端之前进行协商,而是在AP侧在beacon帧中宣告一个TWT时间,STA在收到之后自己选择是否加入TWT休眠唤醒,工作模式图解如下:


四 TWT可以带来什么收益


TWT主要目的还是省电,一个TWT时间间隔可以是多个beacon间隔,也可以一个beacon间隔;至于实际工作可以带来多少功耗收益,后续小编实际测试一组数据来看看;


五 TWT协商的空口解析


5.1 TWT能力支持

5.2 TWT协商流程


trigger帧是以action帧为载体,TWT定义了三种Action帧类型,包括设置帧、解除帧和信息帧;(这里引用一张来自“通信之WLAN”的网图)

如果在关联阶段双方都支持TWT,则会在连接之后通过action帧建立TWT连接,在TWT结束之后会使用teardown结束TWT,上图中可以得到TWT类型、TWT调度类型(隐式)和TWT flow类型(非宣告),此外还可以得到TWT时间间隔的几个相关参数,TWT的周期间隔 = 10*2的20次方,TWT唤醒工作市场 = 128*256
5.3 关于STA & AP是否支持TWT,可以单独配置,在一些老的sta设备上可能无法解析AP的TWT字段,因此也会通过单独禁用TWT去兼容问题;


六 思考
6.1 你遇到什么TWT的问题?
6.2 STA 如何选择 TWT 间隔,因为 AP WiFi 层无法预知网络/应用层数据的到来,例如,TWT 间隔设置成 1 小时,但如果 AP 上层协议 X 的请求在 20 分钟的到来,是否会延迟发送?如果延迟 40 分钟发送是否会导致 X 超时(X 处理可以类似成 Group Rekey). 如果 AP WiFi 层要考虑上层协议,是否违反了协议分层设计原理?如果不考虑,WiFi 层又如何确保上层协议在设计时都避免 X 这种情况?

参考资料:
https://www.arubanetworks.com/assets/wp/WP_802.11AX.pdf
https://www.cleartosend.net/802-11ax-target-wake-time/
https://theruckusroom.ruckuswireless.com/wired-wireless/technologytrends/802-11ax-fundamentals-target-wake-time-twt/
https://blog.aerohive.com/how-will-target-wake-time-help-mobile-devices-and-iot-in-802-11ax/


往期回顾更多精彩
Wi-Fi技术简介-DPP(二(补))
Wi-Fi技术简介(三)
答应小编,看完点点关注,更多内容正在路上!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值