While VoIP and video streaming in the home network might have been exotic applications just a year or two ago, they are more and more moving into the main stream segment. Quite a number of VoIP phones are on the market now such as the Linksys Skype phone, the UTStarcom F1000G SIP phone or the Nokia E-series 3G/Wifi phones. While network load on the wireless link is low, speech quality is usually rather good. Things start to deteriorate, however, once the network starts to get loaded, e.g. due to a high bandwidth file transfer.
To improve things, the IEEE standards body has created the 802.11e standard which defines a number of Quality of Service measures for 802.11b/g/n Wifi networks. All are backwards compatible so 802.11e compatible Wifi access points can handle new and old devices simultaneously. In addition, the Wifi Alliance has created the WMM (Wireless Multimedia) certification program to ensure that devices are interoperable with each other and implement the most important options of the 802.11e standard, priorities and prioritized scheduling (EDCA, Enhanced DCF Channel Access).
While researching the topic, I was wondering how applications running on a PC or notebook for example can take advantage of WMM. After all, not all packets originating from a single device should be treated alike by the wireless card. While packets of a VoIP SIP client running on a machine should be treated with the highest priority, packets of a simultaneously ongoing download or web session should be treated with less priority in order for the VoIP packets to flow smoothly. It took quite some reading to find the answer to the puzzle:
- The WMM certification requires that an application shall control the setting of the QoS field in the 802.11 header by setting the DSCP (Differentiated Services Code Point) field in IP (layer 3) packets according to the priority needs of the application. I gave it a try with a SIP soft-phone client and indeed the DSCP field is set to "Expedited Forwarding" instead of "default" as is the case in other packets (see picture above).
- This and this blog entry by Gabe Frost explain how an application can set the DSCP field when opening a socket connection in Windows Vista and how a WMM compatible wifi network driver then makes use of this information to add a QoS header to the 802.11 MAC (layer 2) frame. In addition, wireless devices will only get the "Designed for Windows Vista" sticker if they implement WMM. Good thing!
Once the frame is maked with a QoS header it is delivered to the wifi card. The wifi card then uses the layer 2 QoS header field to put the frame into the correct priority queue. The following parameters, which are broadcast by the wifi access point, are then used by the network card to decide how long to wait before attempting to send a packet once the air interface is not used by another device:
- The number of slots to wait before starting the random backoff procedure. This value is called the AIFSN (Arbitrary Inter-Frame Space Number). The highest priority queue has to wait for the fewest number of slots before the random backoff procedure is started.
- The random backoff procedure is used to prevent several network clients to start transmitting at the same time. The backoff window size for a frame also depends on the priority queue it is currently waiting in. High priority queues have lower maximum backoff window sizes then lower priority queues. This allows other wireless clients to send their high priority frames before low priority frames of other clients.
- The maximum time before the client has to cease transmitting (TXOP). High priority frames are usually very short (e.g. 74 bytes of a VoIP RTP packet compared to 1500 bytes of data contained in a frame which transports part of a web page). A low TXOP time for high priority queues prevents applications mis-using a high priority for large data transfers and they are also not able to interfere with high priority frames from other local and remote applications.
So if access point vendors, network card manufacturers and operating system designers do their homework VoIP calls and video streaming over wifi should be smooth in the future, no matter what other users are doing in the network simultaneously.
P.S.: QoS issues do not end at the Wifi access point of course. Other measures have to be taken to let the VoIP packets flow in the DSL up- and downlink just as nicely. But that’s another story for another day 🙂
Great article, it’s good to see thing coming together for converged networks. With 802.11e and other QoS issues becoming more well known, the focus for me now seems to be finding products that support all the required standards. ADSL2+ modems from Netopia and WiFi Access Points from Linksys are readliy available with full QoS support as well as WiFi adapters for desktop and laptop PCs, however what is really lacking in the market right now is DOCSIS cable modems and WiFi Voip handsets with QoS. Any pointers would be welcome.
Good article… but one comment on:
“So if access point vendors, network card manufacturers and operating system designers do their homework VoIP calls and video streaming over wifi should be smooth in the future, no matter what other users are doing in the network simultaneously.”
The last part is unfortunately not true. EDCA (“WMM”) is still a contention-based medium access mechanism so it will suffer if for example the number of users or the traffic increases. (However, there is a possibility to extend EDCA with a resource reservation capability; something I’m currently looking at…).
I found this blog while searching for wireless network cards for laptops supporting 802.11e. It seems not all new cards support 802.11e/EDCA/WMM… right?
Hello Ali,
I think WMM will go a long way to ensure that voice and video on Wifi will be smooth in the future. You are right, problems could start to occur again once the number of users per access point goes beyond a certain threshold. But this is unlikely to be the case in home networks. Even if you have 5 devices for different purposes and they are all on the network at the same time, WMM should still be able to handle that.
At some point the optional 11e admission control could be of help but in the end, it will just force some mobiles to stay out of the network or accept a lower quality of service setting. Won’t help the user a lot. When you are researching in this area, also take a look at Draft 11n’s (optional) Power Save Multi Poll (PSMP) feature, which kind of combines scheduling, streaming and power saving. It’s optional however, so just like 11e admission control you probably won’t see it in products anytime soon.
Cheers,
Martin
Hi Martin,
Thanks for the reply. Since WLANs are used not only in homes, but also in many cafés, airports, train stations, universities, offices, conference rooms, and so on, the number of users can easily go beyond the threshold you mention. So in many situations WMM will suffer when the number of users are high.
Thanks for the tips about PSMP. At the moment I’m setting up a mesh network testbed to do some experiments. I’ll look at PSMP when I get back to EDCA, resource reservation, and scheduling.
By the way, do you know if WMM is “a standard component” in all new wireless cards?
Hi Ali,
I think before we’ll get a problem on the air interface in airport, cafe, etc. hotspots it’s the DSL or cable connection behind that’s going to be the pain. Here are a couple of links you might find interesting regarding this topic:
http://www.wifinetnews.com/archives/006925.html
http://www.oreillynet.com/etel/blog/2006/05/quality_of_service_for_voice_o_1.html
http://www.oreillynet.com/pub/a/etel/2005/12/13/how-many-voice-callers-fit-on-the-head-of-an-access-point.html
Cheers,
Martin