802.11电源管理模式

2019-07-13 23:19发布

http://blog.csdn.net/magod/article/details/6862851 在无线网路的终端设备中,应该是以手持式装置与膝上型电脑为大宗。这类型设备在使用时仰赖电池提供电力的趋势极为明显。因此IEEE 802.11便提供了几种不同的电源管理模式,尤其是诉求提高电池续航力的省电模式尤为重要。

本文将介绍几种电源管理模式,供有志学习WLAN基础知识的工程师参考。

第一种是主动模式(Active Mode)
当终端设备的电力来源是透过连接墙壁电源插座的交流电时称之。诸如:使用无线网卡的桌上型电脑,或插着电源线的笔记型电脑都是。在这种情况下,电源来自于源源不绝的交流电系统,完全没有省电的必要,因此IEEE 802.11定便允许在这种况中,将资料的传输能力开到最大,让网路传输效能可以尽可能提升。

第二种模式称为省电模式(Power Save Mode)
相较于第一种模式,如果终端设备的电力来源基础是蓄电池,为了尽可能让设备在移动时能"撑"久一点,IEEE 802.11就设计出一种机制,让无线网卡可以定期切换至打盹(dozing )的状态,以节约电力的消耗。这种道理说来简单,不过背后却有赖一系列复杂机制的完美搭配。因为当工作站处于打盹的状态,他势必无法处理进来的讯框,这时就仰赖负责折冲交通的AP协助暂时保管一下流入的讯框。当然IEEE 802.11协定不会要求AP无限制地协助代管打盹中用户端的资料讯框,为了效能着想,他会要求工作站定期清醒,向AP取回属于自己的讯框,同时也将AP的缓冲空间释放出来,以支应后续的资料处理需求。

说到这里,您应该明白- 在省电模式中,工作站的无线网卡将一直处于"dozing" - "awake" - "dozing" - "awake".......的两状态循环,每秒钟切换数次。在dozing的时候养精蓄锐,在awake的时候努力工作。

不过,有几个问题必须进一步思考。当工作站处于dozing的阶段,一定会有资料传入吗? AP该如何得知,工作站已然由dozing 的状态中苏醒,可将讯框接收回来? 对于庞大的广播或群播讯框,AP真的都能照单全收吗? 会不会有缓冲区撑爆的情况呢?

如果您能提出这些疑问,表示您真是一位懂得思考的工程师,值得Hubert我为您拍拍肩膀,鼓励一番。要解释这一系列的疑问,必须由AP定时发出的Beacon开始说起。

Beacon讯框中包含了一组名为Traffic Indication Map 的资讯,姑且翻译为「流量指示图」。当使用端设备与AP连结之后,AP就赋予每一个用户端一组连结编号(Association ID),简称AID。当AP收到属于某一个AID的流量时,假设该端点恰好在「打瞌睡」,就会再下一次发出Beacon时,将有缓冲资料等待领取的AID清单透过TIM传出去。用户端设备苏醒时,他自然会发现自己名列TIM的招领清单中,于是乎赶紧传一个Poll的讯息给AP,表示自己已经ready了,可以领回属于自己的资料了。此外,为了消化瞬间大量的广播讯框,AP就做了一个规定,每隔几个TIM,就有一个DTIM(Delivery Traffic Indication Message),当DTIM的时候到了,所有用户端无论如何都必须清醒,因为AP会利用这个时间,一股脑儿的将所有广播或群播讯框倒给所有用户端,为了争取时效,用户端甚至不需要利用Poll讯框,告诉AP他已经清醒,因为这是一个游戏规则,由不得用户端违背。

如果您手边有一台无线基地台,不妨进到管理介面找一下。您将发现在预设的情况中,Beacon Interval的数值是100,也就是100ms (0.1秒),表示每0.1秒就会送出一个Beacon,既然每个Beacon中都有TIM资讯,那就表示每秒钟将有10个TIM讯息,无线管理师可以自行修改这个间歇值。另外在设定画面中应该可以找到一个DTIM的栏位,如果预设值是2,表示每2个TIM当中,就有一个DTIM,搭配前述的TIM来看的话,每秒钟就有多达5个DTIM了。

以上介绍了两种电源管理模式,终端设备将采用哪种模式,原则上系以电力来源为判断基础,让系统自动切换。但是网卡驱动程式往往也提供一个进阶设定功能,让有经验的使用者可以基于传输效能考量,将电源管理模式固定在"主动模式";另外也可以从节能的角度出发,无论电源型态为何,一率采"省电模式",然后接受无可避免效率打折的必然结果。

最后,还有第三种模式,称为省电模式自动传送(APSD)模式。这种模式是为了因应AP在进行QoS运作时,所采取的一种省电模式,他可以让具有QoS功能的用户端设备享有更长的电池续航效果。 WiFi联盟制定了一个WMM的认证标章,专门发给支援IEEE 802.11e的设备,如果搭配APSD就称为WMM节能功能。此外,APSD还分为两种类型,一种称为"非排程APSD(U-APSD)",另一种则为"排程APSD(S-APSD)",在此不多做介绍,有兴趣的读者可以自行参考IEEE 802.11e的规格文件。