Lab 2: Wireless Behavior - Path Loss

Intoduction

This assignment tries to highlight various factors on which wireless radio trasmission depend. While there may be many more real work issues which may effect the actual behavior, we will try to study the main factors, such as:

1) Distance (Path loss)
2) Modulation (Bit Rate)
3) Carrier Sense (RTS/CTS, Physical Carrier Sense). 
4) Packet Loss (Retries)
5) Packet Size
6) Transmission power/Interference

For this assignment you will be required to work with a setup of at least 2 laptops, or a set of fixed nodes (such as desktops) placed at various distances, each with an 802.11 wireless network interface. Software provided along with this lab requires the popular Linux operating system (please make sure that the wireless cards have proper drivers installed) to work. Also, you may want to make use of some graphing/analysis tool to visualize and plot the final readings. We suggest GnuPlot, Matlab, or Gnumeric (perhaps the easiest to use, if you are familiar with Lotus Notes/MS Excel).

Effect of Distance: Path Loss

You already know that wireless radio transmission signal attenuates based on distance. Though based on classical physics the attenution is proportional to the square of distance, experimental evidence shows that it may be far greater than that, especially for indoor environments. We will constrain ourselves to observing that attenuation is greater for larger distances. This will be reflected in the fact that there is more wireless loss when the nodes are farther apart.

Modulation: Bit Rate

Naturally on wired networks, the higher bit rate you can transfer data at, the faster you can transfer the data.  However, this assumes losses are independent of bit rate.  You will see that increasing the bit rate increases the losses and affects the over all link performance.  Note however, that this may not be a linear relationship. 

Carrier Sense: RTS/CTS + Physical Carrier Sense


Packet Loss:  Retries


Packet Size


Transmission Power/Interference

According to information theory, the higher your signal to noise ratio at your receiver, the higher the throughput you can support.  However, in a multi-user wireless environment noise is not simply background, but can be interferrence from other user's signals.  You will investigate this relationship in the lab. 

Node Setup

To run the required experiments, each node has to be setup in ad-hoc mode with an IPv4 address, as you did in Lab 1. Make sure that you use the "ping" ICMP tool to test the connectivity between all nodes (please do not ignore this step, it may cause unseen miseries later).

Experimental Procedure

We will use the popular internet measurement tool iperf in conjunction with our script for analysis. If you are using laptops, you will first set them up at a closer distance and move farther apart. If you are using desktops, we will run the tests between nodes with increasing distance. 

Depending on the specific protocol of your network (i.e. 802.11b vs. 802.11g), you may want to alter some of the values in the script or specify values that suit your specific testing desires.  See the script information page for details.  The default mode of operation is designed for fixed nodes at different distances.  If this is what you will use, follow the directions under section 1 below.  Otherwise, with two mobile laptops, see section 2 below. 

The script will run variations across every parameter by default and output the data into a file called out.txt in the directory where you run the script from.  Running the script can take a while, so a save and resume option is given after each point of data is collected. 

1. Fixed Node Operation: 

We will vary all parameters by running the default script.  These include four distances/destinations, four data rates, four power levels, four packet sizes, four retry rates and two RTS/CTS usages.  To begin collecting data, type

wtest.pl -R

at the command line.  Answer the prompts to continue with 'y' for yes or 'n' for no, depending on whether you want to continue.  If you want to save and resume, tell wtest.pl to save/quit and run wtest.pl again from that directory.  When prompted as to whether you would like to resume saved operation or not, answer 'y'. 

2. Mobile Laptop Operation:

This operation works slightly differently since varying distance isn't accomplished by changing destination IP addresses, but physically moving apart.  Since the actual distances are dependent on your specific setup, distances are not specified in the script, but left to the user to change if desired, or to substitute for the distance number (1,2,3,...) output from the script.  We will vary all parameters by running the default script.  These include four distances/destinations, four data rates, four power levels, four packet sizes, four retry rates and two RTS/CTS usages.  To begin collecting data, type

wtest.pl -R -m

at the command line.  Answer the prompts to continue with 'y' for yes or 'n' for no, depending on whether you want to continue.  If you want to save and resume, tell wtest.pl to save/quit and run wtest.pl again from that directory.  When prompted as to whether you would like to resume saved operation or not, answer 'y'.  Note that you must enter -m on the command line again if you want to restore from a save done while in mobile operation. 

Analysis

Open the saved out.txt file from wtest.pl in a spreadsheet or graphing analysis tool.  You may want to replace the server IP addresses or the distance measurement numbers with actual distances for graphing purposes.  Graph the server data rate versus client data rate when all other variables are constant.  Putting multiple curves on the same graph will allow you to compare performance across multiple settings.  (i.e. Graph server data rate versus client data rate with multiple packet sizes where each packet size creates a different curve in your plot.)  Make similar graphs for the loss percentage.  Sorting will help organize the data and make graphing easier when holding certain variables constant. 

Conclusion: 

How does the server data rate and loss percentage vary with distance?  Does it vary as an inverse square?  If not, why? 
How does using RTS/CTS affect the data rate for a given distance? 
What was the worst case setup for loss percentage?  Server data rate?  Why do you think this was?