Sharing the channel Revised March 25, 2003
I saw some change in the way that a channel's bandwidth is shared when both draft-11g and 11b clients want to use it at the same time in the latest firmware from Linksys and Buffalo Tech, but it's clear that this area still needs more work. From what I saw, Buffalo Tech seems to provide a better g / b bandwidth sharing than Linksys, but the situation is sure to change for both companies.
My sources tell me that the 6.1 11g spec draft has added changes in the protection mechanism that will result in 11g stations getting a higher probability of airtime in a mixed 11b / 11b network. This means that once vendors incorporate the new changes, 11b devices will still be able to operate in 11g WLANs, but they will get an even smaller share of bandwidth than they do now if 11g stations are active. Once again, I'll dig down into the details for those who are interested.
Part of what governs how multiple 802.11 devices compete for airtime is called the "contention window" (or "backoff window"). Note that this isn't something added by 802.11g, but has been around since the original 802.11 spec. As shown in Figure 6, the window is part of the waiting period between data frame transmissions and is used to keep transmissions from crashing into each other. The contention window is divided into consecutively numbered slots, with the number of slots always being 1 less than a power of 2 (15, 31, 63, etc.).
When a station wants to transmit, it randomly selects a slot number, then waits for that slot's number to come up and transmits the frame. If the station does not receive an acknowledgement that the frame was received, it assumes the transmission failed, increments a mechanism known as the retry counter and increases the window to the next power of 2 (minus 1, of course).
Figure 6: 802.11 Interframe spacing
From: 802.11 Wireless Networks: The Definitive Guide , used by permission 
Draft 6.1 says the station should change the contention window based on the supported rates of the network. If the supported rates only include 1, 2, 5.5, & 11, as they do in 802.11b, the maximum initial contention window value (i.e. before any retries are necessary) will be 31. Otherwise it will be 15, which is what 11g clients get. Given that clients pick a random number from 1 to their maximum contention window size, since g stations have a smaller range of numbers to pick from, odds are that 11g clients will get on the air before 11b clients. The actual algorithm is more involved, but the basic mechanism stays the same.
Right now, however, a different set of rules of engagement is being used, as you can see from Figure 7.
Figure 7: Linksys two-way test - NETGEAR MA401
(click on the image for a full-sized view)
This test was done with the latest Linksys firmware and shows how throughput is shared between a Linksys WPC54G draft-802.11g , and NETGEAR MA401 (Intersil PRISM II based) 802.b clients. The Linksys card starts first, and is joined by the NETGEAR card at the 20-second mark. You can see that the Linksys card throughput falls below that of the NETGEAR, and stays there until it finishes its run. The NETGEAR card then continues by itself until it, too, finishes the data it was programmed to send.
I ran 802.11b cards based on Intersil, Atheros, TI, and Agere Systems (Lucent / ORiNOCO) chipsets with both the Buffalo Tech and Linksys gear and found that although each combination had its own unique throughput sharing "signature", all produced further reduction in 802.11g throughput (Key Point #2). Part 2 of this NTK presents more results from my mixed-mode testing, but the main take-away at this point is that mixed draft (and final) 802.11g networks are eventually going to favor 11g clients when both flavors are trying to use the same WLAN. This may not be what you see in early versions of draft-11g products, but it's the way of the future.
Next, I'll see what happens when the protection mechanism is disabled and I try to run an 11g-only network.