The reference implementation of OpenFlow switch includes ofdatapath, which implements the flow table in user space; ofprotocol, a program that implements the secure channel component of the reference switch; and dpctl, which is a tool for configuring the switch. There are three main message types in OpenFlow protocol (controller-to-switch, asynchronous, and symmetric messages). In addition to hardware OpenFlow switches, there is a software implementation of OpenFlow in the from of soft-switches. Mininet is a network emulator that runs a collection of end hosts, switches, and links on a single Linux kernel.
In this chapter, we presented and used Mininet as an OpenFlow laboratory on a single computer and introduced MiniEdit, a vital tool in a Mininet simulation. In the next chapter, we will cover different SDN/OpenFlow controller options.