Mininet creates scalable (up to hundreds of nodes, depending on your configuration) software-defined (e.g. OpenFlow) networks on a single PC by using Linux processes in network namespaces.
It allows you to quickly create, interact with, customize and share a software defined network prototype, and provides a smooth path to running on hardware.