Professional Documents
Culture Documents
Project 1
Fall 2017
1 Learning Outcome:
By the end of this project, the students will:
When you boot up the VM, youll have to log in using mininet and mininet as username and pass-
word.
This programming assignment is based on Mosharaf Chowdhurys Assignment 1 from EECS 489: Computer
Networks.
Install the lxde desktop environment: sudo apt-get install xinit lxde
To avoid having to startx every time you boot, you can add the following snippet to the end of
your v/.bashrc:
To transfer files to/from your VM you should use the scp (secure copy) command. See the scp man
page, or find a tutorial online, for instructions on how to use scp.
The first four sections of Part 2 Run a Regression Test, Changing Topology Size and
Type, Link variations, and Adjustable Verbosity
All of Part 3
You do not need to submit anything for this part of the project.
You must include the output from some of your experiments and the answers to the questions be-
low in your submission.
A python script to run Mininet with the topology described below is provided here.
To get the python script you can run the following command:
wget http://cecs-leda.utc.edu/files/Mininet/Topology.py
OR:
curl -o Topology.py wget http://cecs-leda.utc.edu/files/Mininet/Topology.py
To run Mininet with the provided topology, run the Python script Topology.py using sudo:
If you have trouble launching the script, a common fix is to first try running sudo mn -c, and
then try launching the script again.
Hosts (h1 to h10) are represented by squares and switches (s1 to s6) are represented by circles; the
names in the diagram match the names of hosts and switches in Mininet. The hosts are assigned
IP addresses 10.0.0.1 through 10.0.0.10; the last number in the IP address matches the host number.
NOTE: When running ping and iPerf in Mininet, you must use IP addresses, not hostnames.
For each of the following questions, please note that along with your answers you
need to provide screenshots showing your work. Please add a brief description
under each screenshot you provide in your report.
To measure the link latency, you should choose any two hosts sharing a specific link and run ping
with 20 packets. You need to repeat the same steps for the other links.
To measure the links throughput, you should do the same as before but run iPerf for 20 seconds.
Repeat the same steps for the other links.
B. Repeat the previous measurements between h3 and h7. Fill in Table 2 with your predictions and
the actual measurements for this connection. Briefly explain the results. If your prediction
was wrong, explain why.
A. What is the expected latency and throughput when two pairs of hosts are communicating si-
multaneously? Fill in Table 3 with your predictions.
Use ping and iPerf to measure the latency and throughput when there are two pairs of hosts
communicating simultaneously; it does not matter which pairs of hosts are communicating as
long as one is connected to s1 and one is connected to s6. Use the same parameters as above
(20 packets / 20 seconds) and fill in the table with your actual measurements. Briefly explain
the results. If your prediction was wrong, explain why.
B. Repeat for three pairs of hosts communicating simultaneously and fill in the table with your
predictions and actual measurements.
Dont worry too much about starting the clients at the exact same time. As long as the connections
overlap significantly, you should achieve the correct results. One simple way is to open up termi-
nals for each of the hosts youll use, start the iPerf servers, type in the iPerf client command on
each of the client hosts without hitting ENTER, and then quickly hit ENTER on all client hosts so
that they start at roughly the same time.
What is the expected latency and throughput for each pair? Put your prediction in Table 4 for each
connection.
Use ping and iPerf to conduct measurements. Use the same parameters as above (20 packets / 20
seconds) and fill in the table with your actual measurements. Briefly explain the results. If your
prediction was wrong, explain why.
Finally, create a visualization of your custom topology (using circles to denote switches and
squares to represent hosts) and save it as yourname topology.png.
End of Project