802.11协议精读20:初探802.11e(WMM)

Posted 少茗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了802.11协议精读20:初探802.11e(WMM)相关的知识,希望对你有一定的参考价值。

序言

最初的802.11协议是没有考虑QoS(Quality of Service,服务质量保证),后来随着802.11b/g版本逐渐在商业场景中获得成功,Wi-Fi的应用场景越来越多。WiFi被更多的用于传输高带宽,低延迟的应用,这也导致无线QOS需求也越来越多。

本文我们就简要介绍802.11协议中的QoS部分,之后几篇我们会对于细节进行展开。

QoS in IEEE 802.11

当前的主要网络架构都是基于“best-effort”的思想设计的,“best-effort”的一种理解即尽力发送,但是无法保证业务流量的QoS,影响QOS的包含延迟,丢包率,抖动等等。

初期在设计802.11协议时,是没有考虑到数据QoS的。但是万事没有绝对的,实际上在初始协议中,有一种帧已经体现出了QoS,该帧也就是Beacon帧。我们通过Beacon这个例子,说明一种802.11协议提供QoS的方法。

802.11中Beacon的时间间隔是TBTT(Target Beacon Transmission Time),其对应的QoS也就蕴含着,在TBTT这个时刻范围,AP需要立刻抢占到信道,发送Beacon帧。而我们知道,802.11协议中,任何一个节点(无论AP还是节点)都是需要竞争信道的,如果是公平竞争的话,那么AP有可能没有办法抢占到信道,从而就会造成很大的延迟,故无法保证QoS,为了保证QoS,所以我们要让AP拥有最高的优先级抢占信道。

我们以下图为例,简单回顾802.11的竞争过程。

  1. 节点要等待DIFS时间,在该时间片内,节点首先通过SIFS时间片切换天线的发收状态,然后监听2个Slot(这两个slot是在DIFS内部,不算入CW倒数部分),如果2个Slot都是空闲的话,那么意味信道是空闲的,那么节点可以发起随机接入。
  2. 节点在[0,CW]范围内选择一个随机数,作为backoff倒数过程的初始变量(即backoff counter)。该图中,节点选择的是4。每经过一个slot,倒数1次(如图所示的3->2->1的倒数过程)。当倒数到0时,节点获得了信道,从而发起数据传输过程。
  3. 节点一次竞争,传输一个数据帧。当传输结束后,节点等待SIFS时间(实际上是进行天线的收发切换),进行ACK帧的接收。ACK是接收方反馈给发送方的确认帧,若发送方接收到该确认帧,那么本次传输完成,反之,传输失败并发起重传。

Remark:其余竞争过程的细节参考(802.11协议精读2:DCF与CSMA/CA)。

以上的一个传输过程中,等待时间DIFS和backoff counter是影响传输概率的主要影响参数。所以在Beacon的传输过程中,协议设置AP的等待时间为PIFS,并且设置CW=0(具体是设置CWmin=CWmax=0),从而AP选择的倒数时隙直接为0,即不用倒数,立刻发送。


以上图为例,我们简述AP发送Beacon的竞争过程:
  1. AP发送Beacon时候等待的时间片为PIFS,PIFS实际上就是SIFS加上一个SLOT,即监听一次信道空闲即可。由于PIFS<DIFS,AP能够更快的进入接入过程。
  2. 此时又因为AP选择的backoff counter为0,所以立刻占据信道,发送Beacon。在AP发送Beacon时,信道变为busy状态,所有节点都需要接收该beacon。
  3. 由于Beacon是一个广播帧,所以没有反馈ACK的环节。当Beacon发送完后,该轮传输完成,节点再次等待DIFS时间后,再次竞争信道。

以上,就是一种802.11中提供QoS的具体方式。基于这种方式,IEEE 802.11协议组定义了802.11e,该协议中将传统的DCF和PCF更替为EDCA和HCCA,后者能够提供QoS。在802.11e中,统一了提供QoS的MAC层接入机制,比如IFS,或者Backoff counter如何控制,除此之外,802.11e还增加了一些关于节能,WiFi直连等额外功能,其所包含主要功能如下:

  • TXOP(Transmission Opportunity)
  • EDCA(Enhanced Distributed Channel Access )
  • HCCA(HCF Controlled Channel Access)
  • APSD(Automatic Power-Save Delivery)
  • Block Ack(Block Acknowledgement)
  • DLS(Direct Link Setup)

802.11e和WMM

无线QOS的产品实际上是从2002年就开始有了(参考Cisco《端到端QoS网络设计》),在2004年中期IEEE 802.11 Task Group通过了802.11e协议,同年,Wi-Fi Alliance也颁布了WMM(Wi-Fi MultiMedia)。

一般情况下,我们可以粗略认为802.11e和WMM是同一个事物,只是来源于不同的定义。如果考虑细节的话,实际上WMM是802.11e中有关EDCA这部分的分支,关于HCCA部分,WMM是没有兼容实现的。如下图所示,参考《The IEEE 802.11 Universe》。


802.11e中,其e的含义即是增强的MAC层(enhancements to the MAC layer,参考《The Innovation Journey of Wi-Fi》)。

802.11e的发展

802.11e协议也在进一步演进,其主要的一些设计,也被802.11项目组进一步演进,成为后续协议的重要组成部分:

  • 802.11n:其在802.11e所设计的TXOP和Block ACK基础上,进一步演进协议的MAC层效率,以及还有节能模式上,比如PSMP,SMPS之类的引入。
  • 802.11s:该协议规范了mesh网络下802.11的工作原理,其现在所采用的多信道的MAC层接入方式,就是基于802.11e中的EDCA所规定的。
  • 802.11aa:该协议主要是视频/语音的组播/广播流的优化,因为在标准的802.11协议中,单播流都是包含ACK的,比如速率适配,ARQ这些,也是基于ACK的反馈进行调节的。缺少了ACK的反馈,那么如何保证这一类流量的QoS性能,就是802.11aa进一步设计的内容。
  • 802.11z:这一部分是继续深化802.11e中的direct link setup的相关内容,802.11e中开始提及到的direct link实际上和通信网所提的D2D是相同的概念,而且现在应用很广泛。
  • 802.11ae:初始的802.11e仅仅涉及数据帧的QoS优化,对于802.11协议中出现的一些控制帧,是在802.11ae协议中规定的,以此完善整个802.11协议的QoS体系。

本文目前初步介绍了802.11协议中QoS示例,以及简单介绍了802.11e协议的框架和演进,后面我们针对协议的具体运作,一步步再进一步展开。