Motivation

As open-source WiFi device drivers are increasingly available, wireless equipment can be configured to disobey the 802.11 specification, with the goal of achieving performance gains, to the detriment of fair users. We have invented a practical scheme that combats such selfish behavior, using commercial off-the-shelf hardware and a modified firmware. Our work includes proof of concept as well as implementation of the scheme in a real test-bed.

How it works

In the 802.11 standard, stations need an ACK in the data-link layer for each packet they send (this is different from TCP ACKs; even TCP ACKs need to be acknowledged in the data-link layer when transmitted over the 802.11 wireless medium). If this ACK is not received, the station needs to wait a random time and transmit the same packet again, until it is successfully acknowledged. The time stations wait after each unsuccessful transmission is increased exponentially with the number of subsequent failures, and it is reset on success.

We use this characteristic of 802.11 to attack misbehavior. As all traffic has to go through the access-point (AP) in an infrastructure network, we implement our policing on the AP. Thus there is no requirement for stations in the network. We control a probability for each station, with which we drop their ACKs. When their throughput exceeds the maximum fair throughput, this probability is increased in proportion to their greedy behavior. By dropping ACKs we push them back, and as a result, their throughput is degraded until. Our algorithm penalizes these stations until their attempt rate is decreased to the fair value. You may find detailed description of the algorithm and various experimental results in our publications.

Demonstration

For a demonstration, we present three scenarios. In all of these scenarios, two stations content for the channel: (1) a station sending video traffic; and (2) a station uploading a huge file.

Scenario 1: Both stations abiding by the standard

As both stations are sharing the channel fairly in this scenario, the streamed video quality is not degraded as a result of file upload. The following video shows the results. The left chart shows the throughput of both stations.

Scenario 2: Uploading station cheating

In this scenario, the station that is uploading a file uses a contention window which is half the standard value (it waits half as long as the other station on average before accessing the channel). The following video shows this scenario.

Scenario 3: Uploading station cheating, policing applied

In the last scenario, the uploading station chooses to cheat again, but this time we apply our policing algorithm. The right chart shows ACK-dropping probabilities for both stations. As you can see, the probability is increased for the cheating station, which causes its throughput to shrink (left chart). As a results, the video quality for the streamed video is restored. The following video shows this scenario.

Resources

Publications