What is FAIRNESS Anyway?By CWNP On 03/02/2009 - 13 Comments
Everyone seems to have jumped onto the Airtime Fairness bandwagon all of a sudden. An idea originally introduced by Meru, Airtime Fairness has various implementations these days. Airtime Fairness is a feature that is, by design, meant to allow faster clients to have more airtime than slower clients. Most Wi-Fi cells (basic service sets) have clients supporting one or more PHYs connected and certainly all of those clients roam closer and further from the AP almost continually. When you add in interference sources, multipath, and any number of RF issues, data rates go up and down like the wind changing direction. Airtime Fairness is one method of optimizing a cell's aggregate throughput, and certainly there are others (that we won't talk about in this blog post).
There are some really neat situations when Airtime Fairness may come in handy. Let's say you're installing a Wi-Fi network on the 2nd floor of a hospital, and clients from the 1st and 3rd floors will be connecting to 2nd floor APs. In deployments like these, there may be a high number of edge users (that is, users at the edge of a cell) who cause faster clients to lose throughput. Certainly it's easy to say, "just throw more APs at it", but that's not always possible due to cost and logistics.
I think it's important for customers to determine what fairness means, and trust me when I say that this feature is not the same in all implementations...
First, one might suppose that fairness means that 802.11n clients get more time than 802.11a, b, or g clients. We'll call this PHY-based fairness. The problem with PHY-based fairnes is that an 802.11n client may be at a cell's edge transmitting at 12 Mbps while an 802.11a client may be close to the AP transmitting at 54 Mbps. PHY-based fairness is only fair depending on positioning of clients (and thus the data rate of those clients at any point in time).
Second, one might suppose that fairness means how much uplink & downlink time is actually used (as calculated or measured by the Wi-Fi system) by each client for each 802.11 frame. This type of fairness has to be performed on a frame-by-frame basis, but is likely the best way to go for "actual fairness."
An important note is that slow clients should not be penalized beyond the slow data rate at which they already have to endure. Faster clients simply need more access to (time on) the medium while contending with slower clients. Faster clients should finish faster, and the slowest clients should finish at the same time as before.
One of the rudimentary methods of upstream airtime control is use of TCP window control (through withholding ACKs or managing Round Trip Time (RTT)) at L4, which Meru originally pioneered, but that we're seeing from other pioneering vendors such as Aerohive and Aruba in today's market.
For anyone wanting to make the point about uplink fairness control based on TCP being limited only to TCP, I've been told different. L5 (one of the "who cares" layers) apparently has session-based mechanisms that can be used for flow control for many UDP-based applications - so says a manufacturer that I've spoken to. I'm not a programmer, and per Cisco's guidelines for networking professionals, I'm not allowed to learn L5 and L6 protocols. :-D
Meru claims to have moved on to better and lower things...as in lower-in-the-stack. Their new Virtual Port technology focuses on unique client control at L2 using standars-based features. I've seen it for myself and looked it up in the standard, so the naysayers can avoid wasting your time heckling me about it. :) Aerohive specifically claims to be measuring airtime on a frame-by-frame (uplink & downlink) basis so their fairness mechanism isn't based on client positioning or PHY. They have a really visual and unique way of presenting airtime fairness to their audience. There must be some fast hardware in them there AP boxes. ;)
I'm looking forward to every vendor jumping on this bandwagon and somebody like my good (and vendor-neutral) friend Dave Molta at Network Computing stepping up to test it out on everyone's Wi-Fi platform. That would be killer! In the meantime, I would like to suggest (to anyone considering buying a Wi-Fi platform based in-part on the Airtime Fairness feature) that you do a pilot. Don't take the manufacturers' word for anything. Create a test plan, test it yourself, and have someone else (besides the manufacturer) look over your shoulder to verify the results. It's my guess that you'll be shocked at what does and doesn't work as advertised. Is that fair? Dang skippy it's fair. It's your money.