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?