11ax / Wi-Fi 6: BSS Color

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.

Figure 1: BSS Color in Beacon

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).

Figure 2: 802.11ax Frame with BSS Color

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.

Figure 3: BSS Color Switch Announcement

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.

25 thoughts on “11ax / Wi-Fi 6: BSS Color

      • 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.

        Like

      • 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.

        Like

  1. 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?

    Like

      • 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.

        Like

      • 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.

        Like

  2. 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?

    Like

  3. 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.

    Like

    • 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. šŸ˜‰

      Like

  4. 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.

    Like

  5. 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.

    Like

  6. 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.

    Like

    • 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.

      Like

  7. Dear mtroi, which frame client send to inform AP about the colour collision.
    Is it any action frame or QOS NULL frame? Thanks Mirtunjay

    Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.