Saturday, October 18, 2014

INTRODUCING THE MININET


Hey guys, in this time, i want to share something about the Mininet. Check this out..

Mininet is a network emulator which creates a network of virtual hosts, switches, controllers, and links. Mininet hosts run standard Linux network software, and its switches support OpenFlow for highly flexible custom routing and Software-Defined Network.

Mininet support research development, learning, prototype, testing, debugging, and any other tasks that could benefit from heaving a complete experimental network on a laptop or other PC.

Mininet;

  •  Provides a simple and inexpensive netwok testbed for developing OpenFlow  applications.
  •  Enables multiple concurrent developers to work independently on the same topology.
  •  Support system-level regression tests, which are repeatable and easily packaged.
  •  Enables complex topology testing, without the need to wire up a physical network. 
  •  includes a CLI that is topology-aware and OpenFlow-aware, for debugging or running  network-wide tests.
  •  Support arbitary custom topologies, and includes a basic set of parametrized  topologies.
  •  It is usable out of the box without programming
  •  Also provides a straightforward and extensible Python API for network creation and  experimentals.


Mininet porvides an easy way to get correct system behaviour (and, to the extent supported by your hardware, performance) and to experiment with topologies.

Mininet networks run real code including standard Unix/Linux network applications as well as the real Linux kernel and network stack (including any kernel extentions which you may have available, as long as they are compatible with network namespaces).

Because of this, the code you develop and test on Mininet, for and OpenFlow controller, modified switch, or hosts, can move to a real system with minimal changes, for real-world testing, performance evaluation, and deployment. Importantly this means that a design that works in mininet can usually move directly to hardware switches for line-rate packet forwarding.

HOW IT WORKS?
Nearly every operating system virtualizes computing resources using a proccess abstractions.
Mininet uses proccess-based virtualization to run many (up to 4096) hosts and switches on a single kernel. Since version 2.2.26, Linux has supported network namespaces, a lightweight virtualization feature that provides individual proccess with separate network interface, routing tables, and ARP tables.  Mininet's code is almost entirely Python, except for a short C utility.

WHY IT'S BETTER?
Mininet combines many of the best features of emulators, hardware testbeds, and simulators.

Compared to full system virtualizations based approaches:

  •  Boot faster
  •  Scales larger
  •  Provides more bandwidth 
  •  Installs easily


Compare to hardware testbeds:

  •  It is inexpensive and always available (even before conference deadlines)
  •  It is quickly reconfigurable and restartable


Compared to simulator:  

  •  Runs real, unmodified code including application code, OS kernel code, and control  plane  code.
  •  Easily connects to real network
  •  Offers interactive performance


LIMITATIONS
Mininet-based network can't (currently) exceed the CPU or bandwidth available on a single server.
Mininet can't (currently) run no-Linux-compatible OpenFlow swtiches or applications.

Okay guys, that's about introducing the mininet. And you can visit to mininet.org for more informations. 
See you next time, and thanks a lot for visiting my page..