Overview
This lab aims to give you experience with network performance under different conditions and the tools used to measure network performance. There are many tools out there, but the one we will be using is iperf3. This tool uses a client-server paradigm to test network performance. The client connects to a server and sends data at a specific rate (by default, it sends as fast as possible). The server receives the data and reports how fast the data was sent.
Objectives
-
Get a feel for how networking characteristics change with different environmental factors.
-
Become familiar with
iperf3.
Requirements
To complete this lab, you will need a laptop to act as the client. I will provide the server. If you do not have access to a laptop, let me know, and we can figure something out. You will perform the experiments outlined below and answer questions about those experiments. You must do all experiments on campus.
Setup
First, install iperf3 on your laptop.
Second, get familiar with iperf3 by running it a few times. Figure out how to set up a client and server on the same computer. Look at the command-line options that you can provide. To do this lab, you will need to change some of the default options (such as the duration and protocol used). Once you feel comfortable with iperf3, you can do the experiments.
Experiments
For all experiments, set the iperf3 run time to 2 minutes, and the interval between throughput reports to 1 second. The iperf3 server is running at 10.35.120.190. For all experiments, you should consider piping the results to a file so that you can refer to them later.
-
Run
iperf3using TCP on your laptop wired into the campus network. -
Run
iperf3using UDP on your laptop wired into the campus network. By default, the throughput gets limited to 1 Mbps when runningiperf3in UDP mode. Set the throughput to be unlimited for these experiments. -
Run
iperf3using TCP using the campus WiFi. -
Run
iperf3using UDP using the campus WiFi. Make sure to set the throughput to unlimited. -
Run
iperf3using TCP while walking around a building. When walking around, try to go between different access points (e.g., don’t just walk around in a small circle in one room). -
Run
iperf3using UDP while walking around a building. Use the same path you took for experiment the previous experiment and make sure to set the throughput to unlimited.
Report
Graph all reported throughputs (iperf3 calls them “Bitrate”) for each experiment on a time-series graph. Then answer the following questions:
-
At the end of a run,
iperf3reports the amount of data transferred and the bitrates of both the sender (client) and receiver (server). See here for an example. Is the amount of data sent by the sender different from the amount of data received by the receiver? If so, using your knowledge about TCP and UDP, explain why. -
Which setup had higher throughput: wired or wireless? Explain why.
-
Explain what happened when you started walking around while performing experiments compared to the stationary experiments.
-
Compare the results of experiments 5 and 6. How are the results of these experiments similar or different?