In this assignment, you will learn the basics of running Mininet in a VirtualBox virtual machine.
First, install Virtual Box on your computer. Then, download and install the custom virtual machine for the course. (Do not use the VM referenced at the OpenFlow Tutorial Web site. Our custom VM works on a wider variety of platforms, and has software installed that you'll need on future assignments.) See the video instructions.
To install the VM, start VirtualBox, and then select File>Import Appliance and select the downloaded ova file. Then, press the Import button.
Then, follow the instructions for parts 1 through 4 of the OpenFlow Tutorial.
You do not need to submit any written materials for this assignment.
In this assignment, you will learn some basic SDN programming on the Ryu controller platform. Complete the Ryu Tutorial, using your existing VM from assignment 1 rather than installing a new VM.
You may find this list of OpenFlow 1.0 messages helpful. Note that some of the documentation is inconsistent (e.g., using "eth_src" and "eth_dst" for MAC addresses, rather than the "dl_src" and "dl_dst" fields that Ryu actually uses in its API for OpenFlow 1.0).
You can submit your code here.
In this assignment, you will learn some basic SDN programming on the Pyretic platform created here at Princeton, using the same VM from assignment 1.
Update your pyretic repo (from inside the VM)
$ cd ~/pyretic
$ git pull
$ git checkout tester
$ sudo pip install ipaddr
Implement a simple mac learning module
Write a simple firewalling module that blocks traffic between hosts 2 and 3
Write a simple monitoring module that counts all packets going to or leaving host 1
Write a module that imports each of the above and does firewalling and then mac learning while at the same time monitoring. Write two versions of this module: (i) monitoring all traffic, whether or not the firewall drops the traffic and (ii) monitor only the traffic that successfully passes through the firewall
Last updated: Thu Oct 10 15:40:40 -0400 2013