Monday, February 16, 2015

SDN : MidoNet

http://docs.midonet.org/index.html

MidoNet is a distributed, de-centralized, software-defined virtual network platform for Infrastructure as a Service (IaaS).

MidoNet fully virtualizes the network functionality for IaaS products, such as OpenStack, providing functionally advanced, robust, scalable, and secure networks. MidoNet is an overlay network that runs software on standard x86 servers, and sits on top of any scalable network underlay (for example, physical servers and switches), pushing the intelligent network functions to the edge of the network, in software.

MidoNet sends virtual network traffic over tunnels created between the edges. The tunnels encapsulate the packets coming from virtual machines (VMs) and exterior ports, and decouple the virtual network traffic from the physical network. With this model, changes in the virtual network, for example, creating new virtual machines, don’t affect the state of the underlay network. In addition, this clear separation between the virtual and physical networks allows the administrator to more easily maintain the IaaS platform.

MidoNet key features

These are the key features of MidoNet:
  • Fully virtualized Layer 2 through 4 networking
  • VLAN-less VLANs – Virtual L2 distributed isolation and switching with virtually none of the limitations of conventional VLANs
  • Fully distributed architecture with no single points of failure
  • Virtual L3 distributed routing
  • Distributed load balancing and firewall services
  • Stateful and stateless NAT
  • Access Control Lists (ACLs)
  • Restful API
  • Monitoring of networking services
  • VXLAN support: VXLAN tunnel zones, VXLAN L2 Gateway
  • Zero-delay NAT connection tracking

MidoNet works very well with OpenStack, Icehouse release, taking over nearly all of the networking functions currently found in OpenStack, including Layer 2 network isolation, Layer 3 routing, security groups, floating IPs, and more.
MidoNet integrates with OpenStack by providing an OpenStack Networking plugin, as well as drivers for OpenStack Networking. End users can use the same OpenStack API, GUI, and CLI commands; MidoNet hooks into existing API calls and handles all the networking calls in a seamless manner.

A MidoNet Network State Database is a cluster of servers that stores MidoNet configuration, run-time state, and statistics data.

MidoNet stores configuration-state information in two different systems. MidoNet uses Apache™ Zookeeper™ and Cassandra™ for coordinating the operation between MidoNet Agents, as well as storing the network configuration and state (Network State Database nodes).

MidoNet uses Apache ZooKeeper to store critical path data about the virtual and physical network topology.
Examples of this type of data are: interconnects between virtual machines (VMs) and bridges and routers; Address Resolution Protocol (ARP) and ND tables; and host Universally Unique Identifier (UUID) and Internet Protocol (IP) address registrations. The MidoNet Agents and the MidoNet API Server manage the schema for ZooKeeper. Because of the nature of the information stored within ZooKeeper, the schema is optimized for integrity and consistency of the data across the cluster instead of speed.

MidoNet uses Apache Cassandra version 2.0 to store flow state information, for example NAT bindings, connection tracking information, and to support VM migration.
While, MidoNet leverages Cassandra’s durability, fault tolerance, timed expirations, and low-latency read/writes, it only uses Cassandra as a backup rather than the primary datasource.

No comments:

Post a Comment