WMM introduces the concept of priority in to wlan, but to implement the priority it uses a complex terminology like UP (User Priority), TID (Traffic ID) and 802.1D priority.
All seem to represent the same "priority" and convey the same information, but then why do we need the three different terms. This confuses many, especially in TSPEC/TCLAS we see TID and UP both in the same frame leading to more confusion. Lets take a quick glance at what they mean and when should we use each of them.
We know that priority in WLAN is tightly coupled with the priority set by the application in the upper layers, so first we need to understand the LLC and MAC interface i.e., MAC SAP.
MA-UNITDATA.request is the primitive used to send any MSDU's to MAC by LLC, in this request the params used are
- source address,
- destination address,
- routing information,
- data,
- priority,
- service class
Here Priority can be an integer from 0-15 (or) non-integer of "contention"/"contention-free".
TX SIDE:
Integer Priority:
Values:
0-7 for QOS STA's in an QOS IBSS
0-15 for QOS STA's in an QOS BSS
The priority directly maps to TID field identify the particular traffic stream from LLC. TID is not priority, its just an ID through which the actual priority is derived....
if (0 <= TID <8)
UP=TID
else if (8<= TID <=15)
if (TSPEC defined)
UP= TID from TSPEC/TCLAS
else
UP = 0
Non-Integer Priority:
- At QoS STAs associated in a QoS BSS, MSDUs with a priority of Contention are considered equivalent to MSDUs with TID 0
- and those with a priority of ContentionFree are delivered using the contention-free delivery if a point coordinator (PC) is present in the AP.
- If a PC is not present, MSDUs with a priority of ContentionFree shall be delivered using an UP of 0
- At STAs associated in a non-QoS BSS, all MSDUs with an integer priority are considered equivalent to MSDUs with a priority of Contention.
RX SIDE:
If a STA is associated in a QoS BSS, the MSDUs it receives in QoS data frames are reported with the TIDvalue contained in the MAC header of that frame.
The MSDUs such a STA receives in non-QoS data frames
are reported to LLC with a priority of Contention, if they are received during the CP,
or ContentionFree, if they are received during the CFP.
Summary:
TID: 4 bits ID Used in
QOS CTRL Header
EDCA: same as UP (0-7)
HCCA: TSID (8-15)
TSPEC/TCLAS
UP: 3 bits Priority
TSPEC/TCLAS
Used Internally similar to UP, taken from the bridging standard.