Introduction
What’s in a name/MAC – if you can use colors?
Wi-Fi 6 devices are able to distinguish between frames that belong to their (associated) Basic Service Set (BSS) and Overlapping Basic Service Set (OBSS) by looking at the “color” of a frame. The term “color” is a bit misleading as it is rather a numeric number from 1 to 63, but the idea of a color is much nicer and easier to grasp. However, a mapping of number to specific colors is not defined within 802.11ax, so each vendor and each tool can map a number to different colors.
Color Announcement
An Access Point (AP) announces the color of its BSS in Beacons (see Figure 1 below), Probe and (Re-)Association Responses. It is part of the HE Operation Extension Tag and also includes a Partial BSS Color (not part of this post) and a BSS Color Disabled field (explained later). The BSS Color is then used in every 802.11ax Data Frame transmission.
Note: As the color is bound to the radio interface of an AP, the radio(!) uses the same color for all of its SSIDs.
Usage of BSS Color
On the one hand, the BSS Color is an easy way to differentiate between multiple radios without looking at MAC addresses or (B)SSIDs. You can also use a color as a filter within wireshark, although this will only give you the data frames for the specific BSS, no management or control frames!
On the other hand, the BSS Color enables a Wi-Fi radio to determine quickly if an incoming frame is send from a device within the same BSS or not. Until 11ax/Wi-Fi6, a radio needed to decode a frame header until the 802.11 MAC header begins. The MAC header includes the MAC of the transmitter, receiver (can also be a Multicast or Broadcast MAC) and the BSSID. With these information, the radio can determine, if the frame is of any interest and further decode it. Otherwise, it might stop decoding it any further and go back to an idle/sleep mode, e.g. to save power (nonetheless, the radio has to update the NAV).
Within the 802.11ax (a.k.a. High Efficiency (HE)) Preamble, the HE-SIG-A field (see Figure 2 above) contains the BSS Color of the BSS that sent the frame. As the preamble is placed before the 802.11 MAC header, the radio is able to determine the origin of the frame while decoding its preamble, which allows the radio to go back to idle/sleep quicker in case its not color of the associated BSS.
Uniqueness of Color
The BSS Colors can be either user defined or generated by the chipset driver. In both cases, a scan of already used colors is beneficial, but not required. As soon as a radio, either AP or client, notices a “color collision”, the BSS color has to be changed. A client can therefore send a BSS Color collision report to its associated AP including all the colors that the client is able to detect to help the AP to choose a new, unique color.
An AP is forced to inform about a color change by disabling the BSS Color in use while simultaneously announcing a BSS Color change. Such a color change is send within the Management Frames like Beacons, Probe and (Re-)Association Responses as an Element ID Extension (see Figure 3 below) that includes a countdown as well as the new color. The countdown indicates the number of Beacons left until the color change will occur (comparable to the Channel Switch Announcement). As soon as the countdown reaches “0”, the new color is used and the BSS Color disabled field will be set to “0” (False) again. After that, the BSS Color Change Announcement is removed from the Management Frames.
Real World Impact
As shown above, the BSS Color is a nice feature without having any huge impact on the Wi-Fi world as it is today. The amount of power saving due to less decoding of a frame might be rather minimal. However, you might have heard that BSS Color also improves performance in congested areas. This statement is only true, if BSS color is combined with another feature called Spatial Reuse Operation (SRO).
Some sort of SRO has already been introduced by Cisco as Rx-SOP (Receiving Start of Packet) as a proprietary feature and has found its way into many other AP vendor implementations. Downsides of Rx-SOP are, that it only applies to APs and it also causes a link imbalance between AP and clients. As it enables only the AP to increase its throughput by ignoring any frames below a certain preamble/signal detect threshold, giving the AP more “free” airtime for sending frames. Clients do not have that feature and are therefore not able to increase their throughput in the same way.
Furthermore, the clients get no hint that the AP is throwing away frames below a certain threshold. This creates the imbalance and can cause trouble for associated clients sending frames that are received at the AP with a signal strength below the AP’s Rx-SOP threshold and are therefore discarded.
That’s where Spatial Re-Use Operation will come into play. As it is standardized within 802.11ax, AP and client vendors can implement it. Furthermore, it can leverage BSS Color to differentiate between frames that are part of the BSS, which should never be discarded and frames from OBSS, which can be discarded. As Spatial Reuse Operation is a topic on its own, it will not be covered here.
Conclusion
As mentioned in the real world impact section, BSS Color alone is a nice feature for Wi-Fi 6 and future Wi-Fi generations to determine if a data frame is of any interest much quicker than before. Legacy devices are unable to leverage this color information and the impact on the real world will be rather small as long as BSS Color is not combined with Spatial Reuse Operation.
[…] Nice article on Wi-Fi 6 BSS color here https://wlan1nde.wordpress.com/2020/01/10/11ax-wi-fi6-bss-color/ […]
LikeLike
Hi,
Could you please let me know which station(STA) is supported BSS color feature?
Thanks,
Anusha.
LikeLike
To put it simple: Every Wi-Fi6 certified STA.
LikeLike
Thank You mtroi.
Ex:
Both 802.11ax supported apās.
ap1 192.168.1.1 and ap2 192.168.1.2
I have connected few 802.11ax STAās behind the apās and running some traffic in this case how BSS color will work.
How can I create the situation when BSS color switching announcement.
I tested on our 802.11ax products but I never seen switching announcement
Could you please anyone let me know how to do this.
Thanks in advanced.
LikeLike
You need Two APs and you need to be able to manually set the BSS color of one of these APs. You can then setup the first AP with an SSID, check the BSS color of that SSID and then start the second AP on the same channel with the same BSS color. After a few seconds, the “color collision” should be noticed.
LikeLike
Hi Mtroi,
Could you please share the packet captures for the reference.
Thanks in advanced.
LikeLike
Here we get to know about the content in detail. It helps us to decide that which one is best among its types. I enjoyed reading this article and would suggest others it as well. Thank you for this article! This is really very informative for us.
LikeLike
while sending the new color announcement, does AP use its previous or current color ID (which is overlapping with another AP or BSS) in the Beacon Management frames in which new color ID is being sent to the STAs?
LikeLike
You can see the behavior in Fig. 3, it uses the previous color but indicates that it is disabled.
LikeLike
But in Fig.3 only the current BSS color ID with BSS color disabled field is shown. I want to know the format of the Color Change announcement frame or Beacon Management Frame in which the current BSS color ID (0x2b), BSS color disabled field (True), BSS color new ID (0x1a), and countdown value is sent to all the stations.
LikeLike
Maybe I’m missing sth. but Figure 3 shows exactly what you are asking for. It shows the BSS Color Change Announcement within a Beacon including a countdown and the new BSS color. The current BSS color is included in the HE operation field above it. Last but not least, a Beacon is always a Broadcast and therefore received by all stations.
LikeLike
Thanks for the explanation.. I have another doubt, i.e., in .ax document it is mentioned that the BSS color switch countdown field is set to the number of TBTTs but TBTT is Target Beacon Transmission time. Basically, the TBTT is a time interval between two target beacons. So, how they can set the countdown field to a number of TBTTs as it is a time interval value. Can you please explain the relation between the BSS color switch countdown field and TBTTs or Beacon Intervals?
LikeLike
Please consult this page to learn more about TBTT and Beacon Interval: https://www.cwnp.com/cwnp-wifi-blog/80211-beacon-intervals/
By using a number or better “count” you can make sure that this defines the number of Beacons with BSS color change announcement present independently of the duration of the Beacon Interval. Keep in mind that the Beacon Interval doesn’t need to be 102.4 ms, which is the default.
LikeLike
Here, I am not talking about the duration of a beacon interval or TBTT. That’s a separate thing. I am talking about the number of TBTTs or the number of beacon intervals after which the Color ID switches to its new value.
LikeLike
Vishal, I’ve helped you a lot already. Please try to wrap your head around it yourself. Otherwise I’ll have to ask for a compensation for teaching. š
LikeLike
Thanks, mtroi for your help š
LikeLike
Hi,
I had a question that sounds weird but please is that the BSS color is configured by the user where it is a default value.
Thanks,
Sobhi.
LikeLike
Hi Mtroi,
Could you please let us know without changing the bss color manually how can we achieve this.
Suppose I have two AP’s and I bring up at same time, so here if we captured sniffer we are seeing different bss color.
Thanks,
Anusha.
LikeLike
Sorry, I don’t know which equipment and OS you are using. Some commands, depending on the chipset vendor, are confidential.
LikeLike
Dear Mtroi, can you point me to the reference in the IEEE-802.11 document which backs your statement “After that, the BSS Color Change Announcement is removed from the Management Frames.” [after “BSS Color Switch Countdown” was set to 0]? I mean it is kind of obvious that the IE should be removed from the beacon after a given time when the BSS Color change has happend, but I did not find any statement about that in section “26.17.3 BSS color” (page 458pp.) of IEEE-802.11ax-2021. Thanks, Jan.
LikeLike
Good question. As I’ve written this post a while ago, I am not sure if this documented in any IEEE 802.11 document or I made this conclusion by observing the behavior of the device under test. If I do find the time, I can give it a try to find out. Please ping me again if I do not reply within the next 2 weeks.
LikeLike
Dear mtroi, which frame client send to inform AP about the colour collision.
Is it any action frame or QOS NULL frame? Thanks Mirtunjay
LikeLike
As of “26.17.3.5.2” in IEEE 802.11ax: The client uses an action frame with an event report (see 9.6.13.3 of IEEE 802.11-2020) to report a color collision to the AP.
LikeLike
Thanks mtroi
LikeLike
Very clear and crisp information about BSS Coloring , Thanks Mtroi
LikeLike