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..