802.11协议精读10(2):节能模式(PSM)

802.11协议精读10(2):节能模式(PSM)

https://zhuanlan.zhihu.com/p/21623985

序言

AID,TIM与Bitmap

AID

AID的分配:

​ 当节点向AP发起关联请求,AP反馈关联相应帧。AID在该过程中被分配,并被告知给节点。

​ AID的分配从1开始,一个个下发给节点,且不会主动回收。

AP通过bitmap周期性广播缓存的buffer信息,

bitmap放置在beacon帧中,作为一个字段(TIM字段)被携带。

TIM(Traffic Indication Map),流量指示图:

是beacon中的一个字段。

实际上是一个基于bitmap结构的流量指示图,用以标识AP的缓存信息,具体结构如下:

  • Element ID:元素识别码,用来标识beacon帧中包含的不同字段

  • Length:长度。描述Element的长度(管理帧中information element必备元素)

  • DTIM CountDTIM Period:DTIM计数、间隔周期。

    • TIM 是一种基本的 流量指示图 的结构,仅指示AP缓存的单播信息
    • DTIM 是一种特殊的TIM,包括 AP缓存的单播信息,AP缓存的组播信息
    • DTIM Period 是一个周期(固定值),代表再经过几个TIM是一个DTIM
    • DTIM Count 是一个计数值,当其为0,代表当前TIM为DTIM
    • ATIM 是一个帧,在IBSS模式下被使用(此处不展开)
  • Bitmap ControlPartial Virtual Bitmap:Bitmap 的具体字段。

    • 原始Bitmap存在缺点:

      1、传输时间长

      Beacon的实际发送一般采用最低速率

      • beacon帧 是一个广播帧,没有ACK反馈,因而没有设置重传
      • beacon帧 希望被所有节点有效接收,从而采用较低的速率(保证信号较差的节点也可以接收该信息)

      因此,当 beacon帧 包含完整 Bitmap(251 bytes),将占据较长的传输时间,降低信道的利用率,影响整体的吞吐量。实际中,省略后面没有用到的AID位置。

      2、缺少灵活性

      ​ AP对于AID的分配没有一个回收机制,所以可能存在情况:前面的位置都没有在使用,活跃节点在后面。这样前面的传输就浪费了。

      ​ 所以要对冗余空间优化省略。

      Bitmap Control 可以分为进一步分成两个部分:

      • 第[0]位:指示是否有组播、广播数据包被缓存。若为1,则有。
      • 第[1:7]位:标识 Bitmap offset,指示AID偏移情况。描述在Partial Virtual Bitmap中的起始AID。

      Partial Virtual Bitmap(部分虚拟位图)

  • Duration/ID 参数,标识为AID。

TSF,TBTT,Listen Interval field与CFP repetition interval

如前所述,AP是周期性发送beacon帧,beacon帧中的TIM字段包含缓存区信息

存在两个缺点:

  • 限制了节点的休眠时间:如果每个周期都醒来接收对应beacon,耗费能量。
  • 增加了TIM的信息:如果beacon帧 中没有保存所有节点的TIM信息,则可以(利用Bitmap Control、Partial Virtual Bitmap)压缩空间

为了让节点在指定时间醒来,接收有用的缓存区信息:
AP和节点间需要做到时间同步,并且规定周期

TSF(Timing Synchronization Function)时间同步功能:

​ 协议中用TSF机制来描述定时同步功能。存放于beacon帧中的Timestamp字段

​ TSF定时器一共64位,单位是us。

​ 在基础架构模式中,当STA接收到AP的beacon帧后,提取Timestamp字段的时间戳,并且添加一下本地估算出来的延迟(从天线端口接收到最后处理的本地延迟),从而完成节点与AP时间同步的功能。

TBTT(Target Beacon Transmission Time):信标预定传送时间

发送/接受beacon动作的周期,周期时长由Beacon Interval字段决定。
这个周期长度,也叫Beacon时槽。

当TBTT时间到达,AP会主动发送beacon帧,
节点也都会主动接受该beacon帧(休眠模式的节点将会苏醒),并做两件事:进行时间同步、查看TIM字段是否有数据缓存(有就接收,无就休眠)

为了更节能,节点不会每个beacon都监听。而是隔几个TBTT周期,监听一次。

Listen Interval监听间隔:

​ 节点每隔多少个TBTT,苏醒一次,用以指示跳过(Listen Interval-1)个Beacon帧。

​ Listen Interval 由节点通过 Association Request帧 发送给AP。AP获得节点的苏醒时间,在对应节点苏醒时,才在beacon帧中指示buffer状态

CFP repetition interval:CFP重复周期

​ 协调PCF和DCF两个不同工作模式的一个调度周期,

​ 包含CFP和CP两个部分:CFP为PCF工作,CP为DCP工作。

​ CFP时间间隔,要等于TBTT时间的倍数。所以CFP的起始一定会有一个beacon帧(结束不一定)。

PSM模式(Power Save Mode)

1、如何进入PSM模式

节点 通过MAC层头部 Frame Control Field 中的 Pwr Mgt字段More Data字段,告知AP 自己要工作在PSM模式下。

任意一个帧都可以用来进行工作模式的切换。

  • Pwr Mgt(Power Management): 标识在该帧过后,节点是否会进入省电模式(PSM mode)。若为1,节点进入PSM mode。
  • More Data:AP指示节点,是否还有该节点的缓存数据没有发送。

2、DCF下的PSM模式

​ DCF是基于竞争的工作模式,所有节点需要接入信道需要进行竞争,包含AP以及工作在节能模式下的节点。

下图描述了1个AP,2个节能节点工作的时序图:preview

黑色轴代表数据包发送和接收的时序,紫色线代表节点苏醒的情况。
STA1的Listen Interval等于2,STA2的Listen Interval=1。

在PSM模式下,节点苏醒的条件有两个,达到其中一个其就会苏醒:

  • 根据Listen interval进行苏醒
  • DTIM周期,所有节点都需要苏醒。(因为DTIM是用来下发AP上缓存的组播/广播帧)

3、PCF下的PSM模式

PCF是基于调度的接入方式,节点的接入顺序是通过AP的轮询完成的。

preview

假设STA1的Listen Interval=1,STA2的Listen Interval=1
假设DTIM period为4,并且第一个beacon,即1st beacon中携带的就是DTIM。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值