We will be using a number of tools, namely Mininet, Open vSwitch, the OpenFlow Ryu controller, and Wireshark with the OpenFlow dissector. We can install each of these tools separately; however, it will take a while before we get everything installed and configured correctly. Luckily, SDN Hub (http://sdnhub.org) provides an all-in-one SDN app development starter VM (http://sdnhub.org/tutorials/sdn-tutorial-vm/) that includes all of the tools mentioned here and more. The base operating system is Ubuntu 14.04, which is similar to the VM that we have been using up to this point, and it also contains all the popular SDN controllers in one setting, such as OpenDaylight, ONOS, Ryu, Floodlight, POX, and Trema.
Note
SDN Hub also provides several useful tutorials under the Tutorials header, including another Python-based OpenFlow controller, POX (http://sdnhub.org/tutorials/pox/).
For this chapter and the next, we will be using this all-in-one image to have a self-contained OpenFlow network...