In this lab we'll investigate the different Wi-Fi settings and features which impact the throughput in a WLAN hotspot network. This course is provided by Ghent University and iMinds as part of the FORGE project, Forging Online Education through FIRE.
You will be using actual hardware (and no simulations) to experiment with different settings and features of Wi-Fi (Wireless Fidelity, based on IEEE 802.11 standards) when deploying a WLAN (Wireless Local Area Network) hotspot network. By using this hardware to solve multiple questions in a set of well-thought-out exercise scenarios, you will gain a better insight in the different aspects which impact the achievable throughput in your WLAN.
The wireless nodes you will be using are part of the iMinds w-iLab.t Zwijnaarde testbed (a.k.a. "wilab2"), which is physically located at the Zwijnaarde campus in Belgium but can be configured, managed and tested completely from within the web interface you are currently using. This web interface itself is controlling the wireless nodes and is also dynamically created and hosted at the iMinds Virtual Wall testbed, which is physically located at the Zuiderpoort offices (Ghent) in Belgium.
These so called FIRE (Future Internet Research and Experimentation) testbeds can also be used in research projects to collaborate with industry partners to e.g. study and improve WLAN functionality. However, the configuration and experiments that you will perform during this lab session do not differ from the ones that are also applicable within your own WLAN at home.
The configuration of the hardware at the testbed is automatically done using a process called provisioning. This includes the reservation of three machines in the wireless testbed with the appropriate hardware, installing the required operating system and tools, and making these machines available through SSH (secure shell).
Usage of iMinds iLab.t Virtual Wall and w-iLab.t
Wi-Fi stands for "Wireless Fidelity" and is the most known and wide spread type of WLAN. It is a registered trademark of the Wi-Fi Alliance and allows guaranteed interoperability with other devices with the Wi-Fi certified label.
The Wi-Fi Alliance is a global non-profit industry association of hundreds of leading companies devoted to seamless connectivity. With technology development, market building, and regulatory programs, the Wi-Fi Alliance has enabled widespread adoption of Wi-Fi worldwide. It was established in 1999 by six companies: 3Com, Aironet, Intersil, Lucent Technologies, Nokia and Symbol Technologies.
All Wi-Fi products are based on the family of technical standards (IEEE 802.11) made by the IEEE (Institute of Electrical and Electronics Engineers). Thus, whereas the IEEE actually develops the technology, the Wi-Fi Alliance ensures that the actual products are in conformance with the specifications of the standard and it grants the usage of the Wi-Fi label and logo for these products.
An infrastructure network is comparable to Ethernet networks, an Access Point (AP) fulfills the same function as a hub or switch. It is a central control network: most functionality is included in a central entity, i.e. the access point ('the infrastructure'). the access point can coordinate access to the wireless medium. Stations are quite simple, there is no direct communication between stations.
An Ad Hoc network on the other hand has distributed control: no infrastructure is required: nodes that are within radio range can communicate (directly or via neighboring forwarding nodes), it can be a single-hop or multi-hop network. Nodes are more complex (e.g. each node has to implement medium access mechanisms)
The original IEEE 802.11 standard already specified different medium access methods, with the mandatory basic method based on a version of CSMA/CA (Carriers Sense Multiple Access / Collision Avoidance) using a randomized 'back-off' mechanism.
For all access methods, several parameters for controlling the waiting time before medium access are important. The three different parameters that define the priorities of medium access are shown and explained below. The values of the parameters depend on the PHY (physical layer) and are defined in relation to a slot time. Slot time is derived from the medium propagation delay, transmitter delay, and other PHY dependent parameters.
802.11 priorities for medium access
The medium, as shown, can be busy or idle, which is detected by the Clear Channel Assessment (CCA). If the medium is busy this can be due to data frames or other control frames. During a contention phase several nodes try to access the medium.
Priorities for medium access are defined through different inter-frame spaces:
In the figure below the topology of your test hardware is displayed. Three linux machines are equipped with IEEE 802.11 wireless network cards which have an external antenna. These machines can communicate with each other directly (ad-hoc mode) or one could function as a WLAN access point (infrastructure mode)
This lab session uses the 802.11a standard, which operates in the 5 GHz ISM (Industrial, Science and Medical) band, which is less crowed compared to the 2.4 GHz band. This allows the usage of 13 non-overlapping channels. Hence, we are able to create 13 different live wireless test networks. Each (group of) student(s) will be allocated to one of these test networks. When multiple (groups of) students are allocated to the same test networks, you will have to wait for the experiment of the other (group of) student(s) to be completed and you will be queued.
802.11a wireless channels
We have hidden all the complexity of the iMinds w-iLab.t Zwijnaarde testbed and the iMinds Virtual Wall for you. You don't need to perform any manual commands during this lab session, simply clicking start/stop buttons will initiate all required steps and provide you with a live graph of the measured results. During an experiment run, you will see a status bar indicating the progress of the experiment at the bottom of this page. Although the experiments are fully automated, you should still try to understand the tools that are being used with experiments. To this end, you are able to check which commands are executed for each exercise by clicking the show/hide buttons.
To measure the UDP or TCP throughput on a wireless link, we are using the
IPerf tool within the automated experiments. IPerf reports bandwidth, delay jitter and datagram loss and has a client-server architecture. The tool is already installed on all systems in our setup. To get a look at the command syntax visit the Ubuntu manpage for more information.
If you need to test the throughput between two computers, the system will:
In the first part of this lab session, we will evaluate the throughput of an IEEE 802.11 configuration in infrastructure mode using one of the machines as an access point. This machine if configured using
hostapd, a linux tool that handles all the technicalities of maintaining an access point.
Using the discussed setup, you can now perform a series of exercises to explore the characteristics of communication between wireless stations and an access point. For your convenience we have made each exercise available through a widget, with graphs presenting the throughput of the station to the access point. Behind the scenes
IPerf is used in conjunction with OMF to execute the proper commands on the correct machines and collect the resulting data.
In these first exercises we'll evaluate the performance and characteristics of a single connection in infrastructure mode. More specifically, an
IPerf server is started on the access point and one
IPerf client is started on the first station.
What is the measured UDP throughput in infrastructure mode from station to access point?
What is the measured TCP throughput in infrastructure mode from station to access point? Compare this throughput with the physical data rate of 54 Mbps that the hardware is configured with. Can you explain the difference (generic, no calculations needed)?
Why is the TCP throughput lower compared to the UDP throughput? What is (are) the limiting factor(s) in the TCP protocol?
What is the optimum packet size (accuracy 1 byte) and the corresponding data rate for maximum UDP throughput?
Why is the throughput lower if you use a packet size higher than the optimum? Explain the optimum value as identified previously.Hint:
forge@sta1:~$ ifconfig wlan0 wlan0 Link encap:Ethernet HWaddr 00:0e:8e:30:9c:f2 inet addr:10.33.1.100 Bcast:10.33.1.255 Mask:255.255.255.0 inet6 addr: fe80::20e:8eff:fe30:9cf2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:30909 errors:0 dropped:0 overruns:0 frame:0 TX packets:598602 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2064380 (2.0 MB) TX bytes:749683968 (749.6 MB)
forge@sta1:~$ iwconfig wlan0 wlan0 IEEE 802.11abgn ESSID:"forge_wlan_inf10" Mode:Managed Frequency:5.7 GHz Access Point: 00:0E:8E:30:9C:DB Bit Rate=54 Mb/s Tx-Power=17 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:off Link Quality=41/70 Signal level=-69 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:7 Missed beacon:0
After looking at the characteristics of one wireless connection, we'll use both stations of our setup to see how two wireless streams relate in a contending medium. For this reason, two
IPerf server instances are started on the access point, each on a different port. Each Station starts its own
What is the throughput that each of the two stations obtains in infrastructure mode during simultaneous data traffic to the access point?
How does the throughput between station 1 and station 2 change? Is there fairness in throughput between both connections? Why (not)?Hint: try to figure out how many packets each station sends to the server.
Explain why changing the data rate on one station affects the data speed of the other station.
This section evaluates the performance of two stations communicating in an infrastructure network. The
IPerf instances will be executed on station 1 and 2, the access point will be used behind the scenes to maintain the network.
What is the throughput in infrastructure mode from station 1 to station 2? Does it differ from the throughput from station to access point? Why (not)?
In the second part of this lab session, we will evaluate the throughput of an IEEE 802.11 configuration in Ad-Hoc mode, using only the two stations from the previous section.
Although the topology is simpler than the infrastructure example (we don't need an access point to manage the communication) the complexity of the stations increases since both are responsible of maintaining the Ad-Hoc network
This added complexity is more or less invisible to the user, since the following command will suffice to join (or create) an Ad-Hoc network: iwconfig wlan1 mode ad-hoc essid wlan_adhoc channel 40
What is the throughput in ad hoc mode from station 1 to station 2? Compare the throughput between 2 stations in ad-hoc mode with the throughput measured in infrastructure mode (previous question). Is it higher or lower than in ad-hoc mode? Why?
(Theoretical question) Assume that the total achievable wireless throughput is X Mbit/s. Fill in the table with the achievable throughput for each data stream (as a fraction of X) in two different wireless scenarios. Compare ad-hoc against infrastructure mode for both scenarios.
In the first scenario, station 1 is transmitting data to station 2 and station 2 is simultaneously transmitting data to station 1. In the second scenario, station 1 is transmitting data to station 2 and station 2 is simultaneously transmitting data to the gateway
|throughput from client 1 to client 2||??||??|
|throughput from client 2 to client 1||??||??|
|throughput from client 1 to client 2||??||??|
|throughput from client 2 to gateway||??||??|
Which configuration (Ad-Hoc or infrastructure) in the previous question has the highest throughput? Why would you then use the other one?
In this part of this lab session we will investigate how we can guarantee quality of service using the IEEE 802.11e features in a wireless LAN infrastructure network.
IEEE 802.11 defines 4 traffic classes: Background (BK), Best Effort (BE), Video (VI) and Voice (VO). These classes are typically mapped on different queues, each with different priority. Next to the queuing mechanism, parameters concerning the random back off mechanism are exploited to further differentiate between the different classes.
In order to use a certain traffic class, the driver inspects the Differentiated Services Code Point (DSCP) of the IP header. Based on this value, the driver will use a certain traffic class at the data link layer.
For these exercise we will designate station 1 as the source of a HD video stream, trying to fully occupy the medium. Station 2 will be used as a VoIP client, characterized by a low bandwidth stream with relatively small packets. Depending on the exercise, both stations can also send a Best Effort stream to maximally occupy the medium, but without priority.
What is the throughput for each station? What is the total throughput? Explain what you see.
What are the differences between both streams? Explain.Hint: What are the typical requirements for a high quality audio reception?