The MidoNet Advantage

MidoNet is designed by visionaries and pioneers in distributed systems hailing from the likes of Amazon and Google. With experience in designing successful large scale technologies for the cloud, MidoNet was built for hyper scale and performance. As a result, our approach to network virtualization technology leads the pack, and enables a successful path to a production cloud.

Here is how MidoNet is different from other SDN solutions.

Fully distributed Controller and network services

MidoNet has a fully distributed architecture. It’s been built to handle massive scale, and provide optimum performance, so that you can get the most out of your physical network.

SDN : Centralized Controller Model

A traditional Network Virtualization Overlay (NVO) architecture (shown above) consists of a centralized controller to determine the operations for each flow, and programs virtual switches remotely. This puts a large strain on the centralized controllers as you scale out your cloud with more compute hosts.

Midonet Network Virtualization Distributed Model
In MidoNet, we’ve pushed the networking intelligence to the edge. MidoNet agents are installed on each hypervisor host.  MidoNet agents are acting as a distributed controller, instead of relying on a centralized controller. The agent determines the flow information and programs the flow on each host locally, wherever the packet comes into the system.  As new hypervisors are added, you seamlessly get more network processing power for your cloud.

On a new flow setup, the agents query the Network State Database (NSDB) cluster, which is responsible for storing the high level logical topology and handling data replication. In addition, the MidoNet agent caches relevant logical network state, to avoid unnecessary calls to the centralized network state database on subsequent flow setups. The NSDB is also responsible for informing the MidoNet agents of only relevant topology changes that may have occurred for flows that they are currently processing. This means that the MidoNet agents do not have to store and cache the entire network topology, allowing for even greater scale.

This distributed architecture means that you can scale your networking environment linearly, with commodity x86 servers. This unique approach to distributed networking is beneficial no matter what the size of your deployment is; From a few servers at the beginning, all the way up to tens of thousands of servers and beyond.

Single Virtual Hop for Better Performance and Efficiency


In the centralized controller approach, special service nodes and programs such as IPTables are required to handle higher layer networking services which Open vSwitch can not perform.  These service nodes provide functionality such as ARP broadcast, Floating IPs, Security Groups, NAT,  and Routing functionality.  While still all in software, this approach requires packets to traverse the physical network in order for higher layer networking services to be applied.  This can be slow, prone to failures, and inefficient.

MidoNet Distributed Edge Model

MidoNet’s approach involves a powerful yet light agent, which acts as a decentralized flow processor. It replaces Open vSwitch on the hypervisor, as well as the service nodes and programs, such as IPTables.  In addition to the L2 isolated switching capabilities previously performed in Open vSwitch, MidoNet Agents provide higher layer networking services such as:

Additional Capabilities Added to the Distributed Edge Agent:

  •  L3 Routing
  •  Control protocols such as ARP, ICMP
  •  Stateful NAT
  •  Security Groups and Floating IPs
  •  Firewall
  •  Layer 4 Load Balancing


Since MidoNet can provide more networking services than a traditional vSwitch, there’s no need to send traffic off the box to a service node such as a NAT box, router appliance, firewall, or load balancer. This means that less traffic is sent across the physical network.  Not only does this reduce the number of components to manage, but also  results in significant performance gain since all the networking services are handled in a single virtual hop.

Open Philosophy

MidoNet uses open standard interfaces for both our Northbound and Southbound APIs. For connecting to external networks, MidoNet uses standards such as eBGP for L3 connectivity to the outside world, as well as VLAN tagging and translation for connecting to L2 non-virtualized networks. MidoNet’s own API is also fronted by OpenStack Neutron’s northbound API, which is quickly becoming the standard for IaaS environments. On the physical network, MidoNet only requires IP forwarding, which means that there’s no vendor lock-in for physical networking gear, and you can start getting the full benefits from merchant silicon and white box switching.


Comments are closed.

Post Navigation