Overview
- Based on 802.11e draft, a subset of 802.11e
- Use the same frame format of 11e
- Use EDCF(Enhanced Distributed Coordination Function) Only
- Use WMM IE, not QoS bit, independent with 802.11e
- It was originally motivated by the need to prevent market fragmentation.
- An AP/STA could both support WMM and 802.11 QoS, but only one may be in use for a specific association. AP may permit both 802.11 QoS and WMM associations for different STAs at the same time.
- WMM-only AP or STA doesn't set the QoS bit in the capability field of association/beacon/probe management frames. A given association uses either WMM or 802.11 QoS, but not both, and this defines how data frames with QoS subtypes must be interpreted.
Definitions
AC Adimitted AC | 4 AC: BE=0 -> [0,3], BK=1 -> [1,2], VI=2 -> [4,5], VO=3 -> [6,7] Admitted AC is an AC managed by WMM TSPEC IE in ADDTS Response management action frame Note: 1. data frame with no priority should be treated as AC_BE 2. management frame has no QoS, but it should use parameters of AC_VO 3. PS Poll frames should be mapped to AC_BE |
AIFS/AIFSN | Arbitration Inter Frame Spacing and AIFS number: AIFS[AC] = AIFSN[AC]*slot_time(9us) + SIFS(16us) AIFSN defined in WMM parament IE, usually are: AIFSN[BE]=3, AIFSN[BK]=7, AIFSN[VI]=2, AIFSN[VO]=2 |
ECWmin/max | Exponent from CWmin and CWmax: Cwmin/max=2^ECWmin/max - 1 BE: 4/10 -> 15/1023, BK:4/10 -> 15/1023, VI: 3/4 -> 7/15, VO: 2/3 -> 3/7 |
TXOP | Transmission Opportunity: 一段可以被WMM STA在Wireless media上 |
TID | Traffic Identifier: 4bit number which uniquely identifies a TSPEC |
Delivery-enabled AC | 当一个Unscheduled Service Period(USP)被某个STA触发时,这个STA通过某个特定WMM中特定AC来传播数据,这个AC被叫做Delivery-enabled AC |
Trigger-enabled AC | 当USP还没有未有进行,某个STA收到了特定AC的QoS Data or QoS NULL包,那么这个可以被某一STA用来初始USP的AC被叫做Trigger-enabled AC |
Trigger frame | 处于power save mode的WMM STA发出的QoS data or QoS NULL frame算trigger frame,但要排除表征STA 进入或者出来 power save mode状态的QoS data or QoS NULL frame, AP也不应该回QoS NULL |
SP/USP | Service Period: 连续的一段时间,WMM AP 可以有一个或多个下行单播到WMM STA,and/or有一个或多个TXOP被同意给同一个WMM STA。SP可以是scheduled or unscheduled. Unsheduled SP: period started when WMM STA TXs a trgger-frame to WMM AP |
TSPEC |
WMM Frame Formats
MAC Header | |||||||||
Octets: 2 | 2 | 6 | 6 | 6 | 2 | 6 or 0 | 2 or 0 | n | 4 |
Frame Ctrl [4:subtype|2:type|2:ver][Flags] | Duration | Addr1 | Addr2 | Addr3 | Seq Ctrl [12:Seq num|4:Frag num] | Addr4 | QoS Ctrl AP [QAP PS buf state][1:payload type|2:ack policy|1:EOSP|4:TID] STA[TXOP Dur Req][1:payload type|2:ack policy|1:see spec|4:TID] 1. ack policy:00 normal ack, 01: on ack 2. EOSP: will be set to 1 by WMM AP at the end of USP | Body | FCS |
WMM Information IE
Octets:1 | 1 | 3 | 1 | 1 | 1 | 1 | |||||||||||||||||||||||||||
Element ID | Length | OUI | OUI type | OUI subtype | Version | QoS info field | |||||||||||||||||||||||||||
221 | 7 | 00:50:F2 | 2 | 0 | 1 |
|
AP:
U-APSD: indicate AP support unscheduled automatic power save delivery, Parameter Set Count: initial arbitrary and incremented each time any of the AC parameters changes
STA:
Max SP Length: 00: delivery all buffered frames(MSDU or MMPDU(MAC MPDU)), 01: delivery 2 buffered frames, 10: delivery 4 buffered frames, 11: delivery 6 buffered frames. Reserved when U-APSD in QoS Info field of a WMM Info IE is 0.
Each Acs U-APSD flag: indicate the corresponding AC is both trigger-enabled and delivery-enabled. And they're set to 0 when U-APSD in QoS Info field of a WMM Info IE is 0.
WMM Parameter IE (Only AP contains)
Octets:1 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 16 | ||||
Element ID | Length | OUI | OUI type | OUI subtype | Version | QoS info field | Reserved | AC Parameters | ||||
221 | 24 | 00:50:F2 | 2 | 1 | 1 | See above for AP's |
|
AC's Parameter
Octets:1 | 1 | 2 | ||||||||||||||||
ACI/AIFSN | ECWmin/ECWmax | TXOP Limt | ||||||||||||||||
|
CW = 2^ECW -1 | 0: means single MPDU Non-zero: unit is 32us Default values: BE/BK: 0 VI: 94(11a/g), 188(11b) VO: 47(11a/g), 102(11b) |
Beacon: WMM Info IE or WMM parameter IE
Probe Response: WMM Parameter IE
Association Request Frame: WMM Info IE
Association Response Frame: WMM Parameter IE if association contains a WMM Info IE
Re-association Request Frame: WMM Info IE
Re-association Response Frame: WMM Parameter IE if association contains a WMM Info IE
Management Action Frame
Field: | Value |
MAC Header:24/30 | Follow the standard |
Category code:1 | 17 |
Action code:1 | 0: ADDTS request, 1: ADDTS response, 2: DELTS, 3-255: Reserved |
Dialog token:1 | Shall be non-zero value in ADDTS request frame and shall be copied to corresponding ADDTS response frame, should be 0 in DELTS frame |
Status Code:1 | Only filled in ADDTS response, for other action codes, it should be set to 0 and ignored on receive. 0: Admission accepted, 1: Invalid parameters, 2: Reserved, 3: Refused, 4-255: Reserved |
Elements:n | One or more IEs |
FCS:4 | Follow the standard |
WMM TSPEC Element
Octets:1 | 1 | 3 | 1 | 1 | 1 | 55 |
ID 221 | Length 6+55=61 | OUI 00:50:F2 | OUI Type 2 | OUI Subtype 2 | Version 1 | WMM TSPEC body See WMM spec |
Default WMM Parameters
AC | CWmin | CWmax | AIFSN | TXOP Limit(11b) | TXOP Limit(11a/g) |
AC_BK | aCWmin | aCWmax | 7 | 0 | 0 |
AC_BE | aCWmin | aCWmax | 3 | 0 | 0 |
AC_VI | (aCWmin+1)/2 - 1 | aCWmin | 2 | 6.016ms(188*32us) | 3.008ms(94*32us) |
AC_VO | (aCWmin+1)/4 - 1 | (aCWmin+1)/2 - 1 | 2 | 3.264ms(102*32us) | 1.504ms(47*32us) |
Queues mappintg
1. 11D 7 priorities mapping to 4 ACs
2. data frames with no priority use AC_BE
3. management frame with no QoS control field, use AC_VO
4. PS_Poll frames use AC_BE
5. Group Addr frames will use non-QoS data frame type, if not all recipients are WMM capable STAs.
6. PS frames are buffered with QoS data frame subtype only to WMM capable STAs.
7. The AP is not required to implement multiple AC queues for TX of group addressed and PS frames, and may use a single dedicated queue for this purpose. And if use single queue, AP should maintain the queue in priority order if possible.
Transmit Opportunities & TXOP Limits, 2 kinds:
EDCA TXOP: occurs when EDCA rules permit access to the medium.
Continuation TXOP: occurs when a channel access function retains the right to access the medium following the completion of a frame exchange sequence, such as RX of an ACK frame.
The TXOP limit duration values for each AC are advertised by WMM parameter IE. TXOP limit 0 means a single MSDU or MMPDU in addition to a possible RTS/CTS or CTS to itself may be Txed at any phy rate for each TXOP. STAs should ensure not to exceed the TXOP limit. When the TXOP Limit is exceeded due to the retransmission of a MPDU at reduced Phy rate, the STA should not transmit more than one MPDU in the TXOP.
Noted: TXOP is granted to a channel access function, not to a STA or AP.
Backoff Procedure
1. Each AC function maintains a state variable CW[AC], which is initialized to CWmin[AC]
2. backoff time should be random selected from [0, CW[AC]]*aSlotTime(9us).
3. any transmission successful, the CW[AC] should be reset to CWmin[AC]
4. if retransmission,
a) short or long retry count has reached short/long RetryLimit[AC] respectively, CW[AC] will be reset to CWmin[AC]
b) otherwise,
1) CW[AC] < CWmax[AC], CW[AC] shall be set to the value (CW[AC]+1)*2-1
2) CW[AC] == CWmax[AC], CW[AC] shall remain unchanged for the remainder of any retries.
ADDTS and DELTS procedures
TS serves 2 purposes within WMM:
1. For the modification of AC parameters used for APSD
2. For the STA to gain admission to use an AC within a BSS
In WMM, TSs are identified with TIDs values 0~7, and any TID may map onto any UP and thus onto any AC.
ADDTS request is sent from STA, and ADDTS response is sent from AP. Status code 0 means successful.
DELTS frame could be from AP or STA.
A WMM TSPEC request shall be transmitted by a STA to an AP in order to request admission of a TS in any direction using the AC parameters of those ACs that requies admission control.
WMM Power Save
U-APSD
Applied to unicast QoS data and QoS NULL frames to a WMM STA when STA in power save mode.
U-APSD is to deliver unicast frames to a WMM STA, multicast/broadcast frames still follow the procedure defined in standard.
U-APSD flag in AP's QoS info IE is set, the AP is a U-APSD capable AP. STA will show its AC's U-APSD capability by the flag in QoS Info IE to indicate some AC both deliver-enabled/trigger-enabled.
An admitted TSPEC could overwrite any previous U-APSD setting for some AC.
Procedures:
1. AP为PS mode的STA buffer frames
2. AP传送data to STA after receives a trigger frame.
3. STA always set PS bit for uplink traffic.
4. AP sets the EOSP bit of QoS Control field's bit4 in the last data frame.
5. for non-deliver-enabled AC still use legacy mode(TIM IE and more data bit in frame control filed)
Note:
1. For non-delivery-enabled AC, STA still use PS-Polls to retrieve buffered data. For delivery-enabled AC should not use PS-Poll and use trigger frame instead. And the WMM STA should keep awake until a QoS data/Null packet is received with QoS Info IE with EOSP set to 1.
2. U-APSD capable WMM AP shall assemble PVB for non-delivery-enabled Acs for those STAs in PS mode and shall nitice it in TIM IE.