介绍WLAN QoS的定义、由来和作用。
定义 WLAN QoS(Quality of Service)是为了满足无线用户的不同网络流量需求而提供的 一种差分服务的能力。在WLAN网络中使用QoS技术,可以实现:
- 无线信道资源的高效利用:通过Wi-Fi多媒体标准WMM(Wi-Fi Multimedia),让高优先级的数据优先竞争无线信道。
- 网络带宽的有效利用:通过优先级映射,让高优先级数据优先进行传输。
- 网络拥塞的降低:通过流量监管,限制用户的发送速率,有效避免因为网络拥塞导致的数据丢包。
- 无线信道的公平占用:通过Airtime调度,同一射频下的多个用户可以在时间上相对公平的占用无线信道。
- 不同类型业务的差分服务:通过将报文信息与ACL规则进行匹配,为符合相同ACL规则的报文提供相同的QoS服务, 实现对不同类型业务的差分服务。
目的
不同的应用需求对于网络的要求是不同的,原始的WLAN网络由于速率较低, 更多的应用在普通的数据传输。随着WLAN技术的快速发展和广泛应用,WLAN技术逐渐地应用到媒体、金融、 教育机构以及企业网络中,WLAN网络中的流量除了普通的数据,还包括延时性要求较高的多媒体数据, 例如语音、视频等。通过WLAN QoS,网络管理者根据各种业务的特点来对网络资源进行合理的规划和分配, 从而为不同的应用提供不同质量的接入服务,以满足用户需求,同时提高网络资源的利用率。
原理描述
介绍WLAN QoS的实现原理。
WMM
背景
在了解WMM之前,需要先理解802.11协议的链路层传输机制。
802.11 MAC层通过协调功能(Coordination Function) 来确定BSS中的STA之间如何发送或接收数据。802.11的MAC包括两个子层:
- 分布式协调功能DCF(Distributed Coordination Function):使用CSMA/CA机制,每个STA通过争用信道来获取数据帧的发送权。
- 点协调功能PCF(Point Coordination Function):使用集中控制的接入算法,用类似于探询的方法把数据帧的发送权轮流交给各STA,从而避免碰撞冲突。
**说明:**
802.11协议中必须有DCF机制,PCF是可选项。
CSMA/CA的工作原理如图6-1所示: 图6-1 CSMA/CA的工作原理图
-
STA A要向STA B发送数据,先检测信道空闲状态。若检查到空闲,等待DIFS时间后发送数据帧,并等待确认。 STA发送数据帧中携带了NAV信息,其他STA接收到此帧后更新自己的NAV信息,表明在这段时间内信道忙, 如果有数据要发送,需要延迟等待。
说明: 802.11协议中,每个数据的发送都需要接收端进行确认,即接收端收到数据向发送端发送ACK帧。
-
STA B正确接收数据帧,等待SIFS后向STA A发送ACK帧。当ACK帧发送结束,信道开始空闲。等待DIFS时间后, 需要发送数据的各STA开始利用退避算法争用信道。退避计数器最先减小到0的STA开始发送数据帧。
相关概念
- 帧间间隔IFS(InterFrame Space):802.11规定,所有STA完成数据帧发送后,必须等待IFS时间才能发送下一帧。
帧间间隔的长短取决于该站要发送的帧的类型。高优先级帧需要等待时间较短,可以优先获得发送权。常用三种帧间隔如下:
- 短帧间间隔SIFS(Short IFS):分隔属于一次对话的各帧,优先级高。使用此类型的帧有:ACK帧、CTS帧等。
- 点协调功能帧间间隔PIFS(PCF IFS):在PCF中实现优先获得接入媒介功能。PIFS的长度是SIFS加一个 时隙时间(Slot Time)长度。在一个BSS内,当某STA在一个时隙开始时接入到信道时,则在下一个时隙开始时,其他STA都能检测出信道处于忙态。
- 分布协调功能帧间间隔DIFS(DCF IFS):在DCF中用来发送数据帧和管理帧。DIFS的长度比PIFS多一个时隙长度。
- 竞争窗口:也叫做退避时间。如果同时有多个STA需要发送数据,都检测到信道忙,需要执行退避算法, 即每个STA随机退避一段时间再发送数据。退避时间是时隙的整数倍,其大小是由物理层技术决定的。 STA每经历一个时隙的时间就检测一次信道。若检测到信道空闲,退避计数器继续倒计时。 若检测到信道忙,就冻结退避计时器的剩余时间,重新等待信道变为空闲并再等待DIFS后, 从剩余时间开始继续倒计时。直到退避计时器的时间减小到0,STA开始发送数据帧,如图6-2所示。
图6-2 退避原理图
- STA C正在占用无线信道发送数据帧,此时,STA D、STA E和STA F也想发送数据,检测到无线信道忙,开始等待延迟发送。
- 待STA C的数据帧发送完成后,所有STA需要等待DIFS时间。DIFS帧间隔时间后,需要发送数据帧的STA会随机生成一个退避时间并启动退避计时器。假设STA D的退避时间为t1,STA E的退避时间为t1+t3,STA F的退避时间为t1+t2。
- t1时间后,STA D退避计时器最先减小到0,开始发送数据。
- STA E和STA F检测到无线信道忙,需要停止退避,冻结退避计时器的剩余时间并继续等待,直到STA D的数据帧传输完成后再等待一个DIFS时间后,STA E和STA F的退避计时器继续倒计时。
- t2时间后,STA F退避计时器最先减小到0,开始发送数据帧。
实现原理
通过DCF实现信道竞争的机制,对于所有设备的数据流,DIFS时间间隔是固定的,退避时间是随机生成的,所以整个网络中设备的信道竞争机会是相同的。WMM协议通过对802.11协议的增强,改变了整个网络完全公平的竞争方式。
-
EDCA参数 WMM协议定义了一套信道竞争EDCA参数,可以区分高优先级报文并保证高优先级报文优先占用信道资源,以满足不同的业务需求。
WMM协议将报文分为4个接入类别AC(Access Category),与802.11报文中用户优先级UP(User Preference)的对应关系如表6-1所示,UP数值越大,表示优先级越高。
表6-1 AC与UP的对应关系表
UP | AC |
---|---|
7 | AC_VO(Voice) |
6 | |
5 | AC_VI(Video) |
4 | |
3 | AC_BE(Best Effort) |
0 | |
2 | AC_BK(Background) |
1 |
每个AC队列定义了一套增强的分布式信道访问EDCA(Enhanced Distributed Channel Access)参数, 该参数决定了队列占用信道的能力大小,可以实现高优先级的AC占用信道的机会大于低优先级的AC。
EDCA参数说明如表6-2所示: 表6-2 EDCA参数说明
参数名 | 参数含义 |
---|---|
仲裁帧间隙数AIFSN(Arbitration Inter Frame Spacing Number) | 在DCF机制中,空闲等待时间(DIFS)为固定值。WMM针对不同AC可以配置不同的空闲等待时间,AIFSN数值越大,用户的空闲等待时间越长,优先级越低。 |
最小竞争窗口指数ECWmin(Exponent form of CWmin)和最大竞争窗口指数ECWmax(Exponent form of CWmax) | 这两个值共同决定了平均退避时间值,这两个数值越大,用户的平均退避时间越长,优先级越低。 |
传输机会限制TXOPLimit(Transmission Opportunity Limit) | 用户一次竞争信道成功后,可占用信道的最大时间,这个数值越大,用户一次能占用的信道时长越大。如果是0,则每次占用信道后,只能发送一个报文。 |
如图6-3所示,Voice报文的AIFSN(AIFSN[6])和退避时间比Best Effort报文的小。当这两类报文同时要发送时,用户优先级高的Voice报文优先竞争到无线信道。
图6-3 WMM实现原理图
- ACK策略
WMM协议定义了两种ACK策略:Normal ACK和No ACK。
Normal ACK策略:对于发送端发送的每个单播报文,接收端在成功接收到报文后,都需要发送ACK帧进行确认。
No ACK策略:在通信质量很好、干扰很小的情况下,为了提高传输效率,可以选择不应答ACK帧。
说明:
1. ACK策略仅对AP生效。
2. 在通信质量较差的情况下,不推荐使用No ACK策略,可能会造成丢包率增大。
优先级映射
不同的报文使用不同的报文优先级。例如,STA发出的802.11报文中携带UP优先级, 有线网络中的VLAN报文使用802.1p优先级,IP报文使用Precedence或DSCP优先级。当报文经过不同网络时,为了保持报文的优先级,需要在设备上配置优先级字段的映射关系。
图6-4 优先级映射组网图
如图6-4所示,报文的优先级映射包括:
- 上行时,AP接收到STA发送的802.11报文后,将802.11报文的UP优先级映射到802.3报文的802.1p优先级。
- 上行时,如果数据转发模式采用隧道转发,需要根据802.1p优先级或Precedence优先级进行隧道优先级映射。
- 下行时,AC将网络侧收到的802.3报文,通过隧道或直接转发方式发送给AP。AP接收到802.3报文后,将其802.1p优先级或Precedence优先级转换为802.11报文的UP优先级。
Precedence优先级字段
根据RFC791定义,IP报文头ToS(Type of Service)域由8个比特组成, 其中3个比特的Precedence字段标识了IP报文的优先级,Precedence在报文中的位置如图6-5所示。
比特0~2表示Precedence字段,代表报文传输的8个优先级,按照优先级从高到低顺序取值为7、6、……、1和0。
图6-5 Precedence优先级字段
802.1p优先级字段
通常二层设备之间交互以太帧。根据IEEE 802.1Q定义,以太帧头中的PRI字段(即802.1p优先级),或称CoS(Class of Service)字段,标识了服务质量需求。以太帧中的PRI字段位置如图6-6所示。
图6-6 VLAN帧中的802.1p优先级
在802.1Q头部中包含3比特长的PRI字段。PRI字段定义了8种业务优先级,按照优先级从高到低顺序取值为7、6、……、1和0。
流量监管
流量监管就是对流量进行控制,通过监督进入网络的流量速率,对超出部分的流量进行“惩罚”, 使进入的流量被限制在一个合理的范围之内,从而保护网络资源和企业网用户的利益。 流量监管是通过令牌桶技术实现的。 令牌桶可以看作是一个存放一定数量令牌的容器。系统按设定的速度向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加。 在使用令牌桶对流量进行评估时,是以令牌桶中的令牌数量是否足够满足报文的转发为依据的。如果桶中存在足够的令牌可以用来转发报文, 称流量遵守或符合约定值,否则称为流量超标或不符合约定值。 令牌桶的实现机制包括单速单桶、单速双桶和双速双桶。
单速单桶
如果不允许有突发流量,只使用了一个令牌桶,这种情况称为单速单桶。
图6-7 单速单桶示意图
如图6-7所示,为方便描述将此令牌桶称为C桶,用Tc表示桶中的令牌数量。单速单桶有2个参数:
- CIR(Committed Information Rate):承诺信息速率,表示向C桶中投放令牌的速率,即C桶允许传输或转发报文的平均速率;
- CBS(Committed Burst Size):承诺突发尺寸,表示C桶的容量,即C桶瞬间能够通过的承诺突发流量。
系统按照CIR速率向C桶中投放令牌,当Tc<CBS时,令牌数增加,否则不增加。
对于到达的报文,用B表示报文的大小:
- 若B≤Tc,报文被标记为绿色,且Tc减少B;
- 若B>Tc,报文被标记为红色,Tc不减少。