OpenFlow laboratory with Mininet

Mininet is a software tool that allows an entire OpenFlow network to be emulated on a single computer. Mininet uses lightweight process-based virtualization (Linux network namespaces and Linux container architecture) to run many hosts and switches (for instance, 4096) on a single OS kernel. It can create kernel or user-space OpenFlow switches, controllers to control the switches, and hosts to communicate over the emulated network.

Mininet connects switches and hosts using virtual ethernet (veth) pairs. It considerably simplifies the initial development, debugging, testing, and deployment process. New network applications can be first developed and tested on an emulation of the anticipated deployment network. It can then be moved to the actual operational infrastructure. Mininet currently depends on the Linux kernel; future deployments may support process-based virtualization on other OS. By default, Mininet supports OpenFlow v1.0.

However, it may be modified to support a software switch that implements a newer release. Some of the key features and benefits of Mininet are as follows:

  • Mininet creates a network of virtual hosts, switches, controllers, and links.
  • Mininet hosts run standard Linux network software, and its switches support OpenFlow. It can be considered an inexpensive OpenFlow laboratory for developing OpenFlow applications. It enables complex topology testing, without the need to wire up a physical network.
  • Mininet enables multiple concurrent developers to work independently on the same topology.
  • It also supports system-level regression tests, which are repeatable and easily packaged.
  • Mininet includes a CLI that is topology-aware and OpenFlow-aware for debugging or running network-wide tests.
  • You can start using Mininet out of the box without any programming, but it also provides a straightforward and extensible Python API for network creation and experimentation.
  • Instead of being a simulation tool, Mininet is an emulation environment, which runs real, unmodified code including application code, OS kernel code, and control plane code (both OpenFlow controller code and Open vSwitch code).
  • Designs implemented can be deployed on a real system for real-world testing, performance evaluation, and deployment because Mininet networks run real codes, including Linux network applications.
  • It is easy to install and available as a prepackaged VM image that runs on VMware or VirtualBox for Mac/Windows/Linux with OpenFlow v1.0 tools already installed.

In the rest of this section, we provide a tutorial overview of Mininet, which will be also used in the rest of this book.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset