...
Code Block | ||
---|---|---|
| ||
host-1$ sudo ifconfig ethA 10.0.0.1/24 # set ethA IP on host-1 host-2$ sudo ifconfig ethB 10.0.0.2/24 # set ethB IP on host-2 (must be different from host-1 but on same subnet) |
where ethA is the network interface on host-1 that connects to the LAN leading to the switch and ethB is the network interface on host-2 that connects to the LAN leading to the switch.
After this, we should be able to ping between host-1 and host-2. Verify that you can do this before proceeding.
Run Experiment without a Queue on the Switch
blah
Setup Queue on the Switch
...
First, let's run an iperf test to establish a baseline. iperf essentially pumps either TCP or UDP packets into the network – whatever we specify – to test the network performance. TCP will attempt to completely saturate the network link without losing any data; UDP, on the other hand, will send data at a defined rate from the source without care for whether or not the data actually makes it to the recipient. We'll use UDP for this experiment to gain better control over the data rate.
We'll designate host-1 as the client and host-2 as the server, where the client will send data to the server (i.e. a file upload).
On host-2:
Code Block | ||
---|---|---|
| ||
host-2$ iperf -s -u # run an iperf server (-s) process to accept UDP (-u) on the default port of 5001 |
And on host-1:
Code Block | ||
---|---|---|
| ||
host-1$ iperf -c 10.0.0.2 -u -i 1 -t 10 # run an iperf client (-c <ip>) process that sends UDP (-u) packets to iperf server 10.0.0.2 |
We'll see host-1 start to send data to host-2. The transfer will show us an update every second (-i 1) and will terminate after 10 seconds (-t 10). On host-1 and host-2, we can see the number of packets that failed to make it from host-1 to host-2. We should see that all packets make it – (0 lost)/(total transferred).
Questions
- What do the results tell us about the utilization of the queueing system on the switch?
- What is the service rate of the switch? You do not have to give an exact answer.
Setup Queue on the Switch
Let's make things more interesting and setup a queue that we can control on the switch.
To set up our queue, we'll use a program called tc, or traffic control. This is a relatively nice and high level way to manipulate queueing on our VM network interfaces.
Question
- We want to control the flow of traffic with our queue from host-1 to host-2. On which network interface of the switch should we set up the queue – the one connected to the LAN leading to host-1 or the one connected to the LAN leading to host-2? Hint: What is the "server" or resource of the queueing system our packets are trying to access at the switch VM with respect to host-1-to-host-2 traffic flow?
Run Experiments with a Queue on the Switch
blahdy blah
Questions
In as few words as possible to fully explain yourself, answer the following questions:
...