Generated by GPT-5-mini| Mininet | |
|---|---|
| Name | Mininet |
| Developer | Research Laboratory of Electronics, Intel Corporation, Google |
| Released | 2010 |
| Programming language | Python (programming language), C (programming language), Bash (Unix shell) |
| Operating system | Linux, Ubuntu, Debian, Fedora (operating system) |
| License | Berkeley Software Distribution |
Mininet is a network emulation platform that creates realistic virtual networks on a single machine for experimentation with OpenFlow, Software-defined networking, Linux kernel, QEMU, and Docker (software). Originally developed to support research and teaching in programmable networking, it rapidly became foundational for testbeds, prototyping, and benchmarking in academic and industrial projects involving Stanford University, UC Berkeley, Intel Corporation, Google, and other institutions. Mininet enables users to instantiate virtual hosts, switches, links, and controllers using lightweight virtualization technologies and integrates with widely used network control systems such as Ryu (SDN framework), ONOS (Open Network Operating System), and OpenDaylight.
Mininet provides a compact environment for building networks that emulate production topologies used in studies like those by IETF, IEEE (Institute of Electrical and Electronics Engineers), and ACM (Association for Computing Machinery). It leverages kernel features from Linux kernel including network namespaces and virtual Ethernet interfaces alongside process-level isolation to run standard network software such as Open vSwitch, Quagga, and user applications. The platform is frequently cited in works by researchers at Stanford University, UC Berkeley, Cornell University, MIT, and used in events like SIGCOMM, USENIX, and HotNets for demonstrations, tutorials, and reproducible experiments.
At its core, Mininet composes components that map directly to real-world elements: virtual hosts (processes), virtual switches (software switch implementations), virtual links (veth pairs), and controllers (external or in-process). Virtual switches typically employ Open vSwitch for data-plane behavior; controllers interact via protocols such as OpenFlow and can be external platforms like ONOS (Open Network Operating System), OpenDaylight, Ryu (SDN framework), Floodlight, or research controllers from Stanford University. The emulation uses Linux network namespace to isolate per-host networking stacks, cgroups for resource control, and Netfilter hooks for packet processing when needed. Integration with system-level tools such as iperf, tcpdump, and Wireshark enables traffic generation and capture comparable to real deployments examined in studies from ACM SIGCOMM and IEEE INFOCOM.
Mininet supports programmable topologies with APIs in Python (programming language) to instantiate linear, tree, fat-tree, and custom graphs matching designs from Google and Facebook (company) data-center research. It offers live interaction via shells on virtual hosts, automated experiment scripts, and RESTful interfaces when combined with controllers like OpenDaylight. Performance features include traffic shaping with tc (Linux utility), delay/emulation using Netem, and CPU isolation through cgroups for benchmarking against standards referenced by RFCs and measurements presented at IMC. Mininet also supports container backends such as Docker (software) and full VM integration via QEMU to mix lightweight and heavyweight nodes for hybrid experiments used by developers at Intel Corporation and startups in accelerator projects like Barefoot Networks.
Researchers use Mininet to prototype new Software-defined networking control algorithms, evaluate routing and forwarding schemes proposed in publications at SIGCOMM, NSDI, and INFOCOM, and teach networking concepts in courses at Stanford University, UC Berkeley, and Georgia Institute of Technology. Network operators simulate data-center fabrics inspired by Google and Facebook (company) architectures before deploying configurations to production hardware from vendors like Cisco Systems, Juniper Networks, and Arista Networks. Companies in cloud and virtualization ecosystems integrate Mininet into CI pipelines for controller projects developed with OpenStack, Kubernetes, and orchestration tools used at Amazon Web Services labs and Microsoft Research. Mininet also underpins public and private testbeds associated with programs at National Science Foundation and collaborative efforts with industrial partners.
Mininet excels at rapid prototyping but has limitations when modeling high-fidelity hardware-dependent behaviors such as wire-rate performance, ASIC offload features present in Cisco Systems or Barefoot Networks devices, and accurate queuing dynamics at extreme scale referenced in SIGCOMM performance studies. CPU sharing among host processes can affect latency and throughput, and scale beyond thousands of nodes requires distributed techniques or cluster-based extensions like Mininet-Cluster and integration with Emulab for larger topologies. Timing-sensitive experiments must account for virtualization-induced jitter compared to hardware testbeds used by Internet2 and carrier labs. Users often corroborate Mininet results with hardware prototypes from vendors at events like Interop or academic lab deployments at REN-ISAC.
Mininet is supported by a community of contributors from academia, industry, and open-source projects, with active development leveraging platforms such as GitHub, coordination through mailing lists and workshops at SIGCOMM, NSDI, and Open Networking Summit. Extensions include controller-centric toolkits, distributed emulation projects tied to Emulab and GENI, and research forks developed at UC Berkeley, Stanford University, and Princeton University. Educational materials, tutorials, and MOOC integrations originate from courses at Stanford University, UC Berkeley, and collaborations with organizations like CISCO Networking Academy. The ecosystem benefits from interoperability testing with OpenFlow certifications, vendor contributions, and adoption in academic curricula and industrial labs worldwide.
Category:Network emulation software