...
Once we finish our design, let's select an aggregate on which to deploy our GENI resources – make sure it's an InstaGENI aggregate. Recall that we can view the utilization of the various InstaGENI aggregates by visiting this page.
Discover How Resources are Connected
With GENI, we can ask for links between resources, such as VMs. These appear as network interfaces on the VMs. If a VM has more than one link, it is important to note the network interface belonging to each link. This can be done by observing the unique IP subnets GENI assigns to each link.
Code Block | ||
---|---|---|
| ||
host-1$ ifconfig # note the IP address/subnet corresponding to ethV, likely eth1
host-2$ ifconfig # note the IP address/subnet corresponding to ethW, likely eth1
switch$ ifconfig # note the IP addresses/subnets corresponding to ethX and ethY, likely eth1 and eth2 |
As an example, suppose ethV is 20.0.1.1/24, ethW is 20.0.2.1/24, ethX is 20.0.1.2/24, and ethY is 20.0.1.2/24. If this is the case, then we can see that due to the /24 (i.e. 255.255.255.0) subnets, we have two distinct networks 20.0.1/24 and 20.0.2/24. Since ethV at 20.0.1.1 and ethX at 20.0.1.2 are on the same subnet, they must be the interfaces of the link between host-1 and switch. Likewise, because ethW at 20.0.2.1 and ethY at 20.0.2.2 are on the same subnet, they must be the interfaces of the link between host-2 and switch. By mapping the network interfaces and subnets, we can deduce the links between the VMs. It is important we do this now before we modify the network interfaces in the steps below.
You might have seen in Jacks where you can specify link IP addresses for each VM. We could have pre-assigned our IP addresses in Jacks to avoid having to figure out what network interfaces belong to what links. However, it's a good exercise to do it manually for simple topologies like ours. |
---|
Setup Resources
On our host-1 and host-2, we will need to install iperf, which is the tool we will use to generate packets.
...
where ethX and ethY are the interfaces associated with the LANs leading from the switch to host-1 and host-2. Hint: They're not eth0 and are likely to be eth1 and eth2. (Please don't use eth0, please...)
...
Code Block | ||
---|---|---|
| ||
host-1$ sudo ifconfig ethAethV 10.0.0.1/24 # set ethAethV IP on host-1 host-2$ sudo ifconfig ethBethW 10.0.0.2/24 # set ethBethW IP on host-2 (must be different from host-1 but on same subnet) |
where ethA ethV is the network interface on host-1 that connects to the LAN leading to the switch and ethB ethW is the network interface on host-2 that connects to the LAN leading to the switch.
...
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 starts 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).
...
Please limit your responses to at most three sentences each. Don't write run-on sentences either; less is mormore.
- 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.
...
Code Block | ||
---|---|---|
| ||
switch$ sudo tc qdisc replace dev ethXethY handle 2:01 parent root tbf rate 1512Bps burst 1512B limit 1512 |
The queue above should be installed on ethXethY, where ethX ethY is the interface leading from switch to host-2.
...
- 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-2Explain why we installed the queue on the interface leading from switch to host-2 and not the arriving link on switch from host-1? 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?
...