vieyahn2017 / repos

【已经迁移到goto/javaway】
2 stars 1 forks source link

mininet: Emulator for rapid prototyping of Software Defined Networks #7

Closed vieyahn2017 closed 5 years ago

vieyahn2017 commented 6 years ago

https://github.com/mininet/mininet

vieyahn2017 commented 6 years ago

What is Mininet? Mininet emulates a complete network of hosts, links, and switches on a single machine. To create a sample two-host, one-switch network, just run:

sudo mn

Mininet is useful for interactive development, testing, and demos, especially those using OpenFlow and SDN. OpenFlow-based network controllers prototyped in Mininet can usually be transferred to hardware with minimal changes for full line-rate execution.

How does it work? Mininet creates virtual networks using process-based virtualization and network namespaces - features that are available in recent Linux kernels. In Mininet, hosts are emulated as bash processes running in a network namespace, so any code that would normally run on a Linux server (like a web server or client program) should run just fine within a Mininet "Host". The Mininet "Host" will have its own private network interface and can only see its own processes. Switches in Mininet are software-based switches like Open vSwitch or the OpenFlow reference switch. Links are virtual ethernet pairs, which live in the Linux kernel and connect our emulated switches to emulated hosts (processes).