Search This Blog

Showing posts with label midokura. Show all posts
Showing posts with label midokura. Show all posts

Thursday, May 23, 2013

Midonet packet processing

The few slides below from Midokura account on slideshare.net show the internal architecture design and packet processing that is happening whey you deploy Midonet as a cloud virtualization engine.
  • Midonet is based on an IP overlay concept 

  • By implementing in IP encapsulation it can provide tenant isolation and more advance features

  •  By pushing the intelligence to the edge of the network (like hypervisors) it can handle the packet forwarding efficiently with out having to consult the with any external system
  • All Midonet processes built a single logical distributed system within each single Midonet node is capable of finding and implementing the right action for a packet
  •  As an example if VM tries to communicate with a peer that doesn't belong to the tenant the verification can be done at the edge without having to sent the packet out

References
  1. http://www.slideshare.net/midokura/12th-japan-cloudstack-user-group-meetup
  2. http://www.slideshare.net/midokura/cloudstack-collab-talk
  3. http://www.slideshare.net/midokura/midonet-us-launch-oct-15-14706786

Midokura Midonet software

The network virtualization movement is getting bigger and stronger. Looking how serious the VMware is looking into SDN concept ( VMware NSX Network Virtualization ) is is only a matter of time before we start seeing this on a regular basis in data centers.

With this message in mind let's take a look at one of the SDN vendors like Midokura and its software Midonet.
  1. General availability 

  2. During Openstack Summit in April 2013 Midokura sent a strong message that its Midonet software is available to download. Midonet is Midokura the SDN implementation of the cloud network virtualization concept.

  3. Software

  4. At the moment there is only a little bit of information what it is.

    MidoNet pushes intelligence to the edge of the network, as it takes an overlay-based approach to network virtualization and sits on top of any IP-connected network. [1]

    Its technology is functionally similar to VMware-backed Nicira's, but the approach is different: Midokura has a Level 3 network gateway, whereas Nicira is Level 2. Both companies offer distributed switching at Level 2 [2]

    Midokura uses a continuous-licensing basis for its network virtualization software. The technology is a 5-to-10MB download that runs on top of a JVM on standard server hardware. [2]

  5. Midonet network architecture
  6. Below, on the left we see the logical and on the right the physical topology.

    The main logical concept is based on having a virtual router that your VMs are talking to. As Midonet software is using/is based on Open vSwitch that pacifically means that there is going to be a virtual port attached to Virtual router and VM in Open vSwitch. That way the VM is directly (virtualy) connected to its virtual router / default gateway. The building layout of the physical topology seems to confirms that assumptions.

    The physical topology help us better understanding the Midonet distributed model as well: Midonet software architecture.

    The backend network is a standard IP base physical network infrastructure that aims to provide IP connectivity between the Midonet nodes. The power of Midonet comes from the way it manages its distributed NW State DB (network state data base). This is the critical part and place where is decided what to do with an Ethernet frame/IP packet from or to VM when there is no flow entry on the routers or hypervisor virtual switches.

    This is the link for a full Midokura Midonet presentation (in Japan).


References
  1. http://www.midokura.com/press-releases/midonet_launch_at_openstacksummit2013/
  2. http://www.theregister.co.uk/2013/04/02/midokura_sdn_funding/

Wednesday, May 8, 2013

SDN system software architecture

By reading about various companies like (Nicira, Midokura) that provide SDN solutions you hear various technology acronyms like Openflow, Openvswitch and others. After a while once you allow this knowledge to sink your appetite grows and you begin to ask more questions like:
  • How did they create this
  • What tread off and compromises exist in the architecture
  • What could be the limitations
  • How complex is the architecture and deployment
  • What software, languages etc.. did they use
  • How much operational intensive it is to support this 
It is hard and even impossible to answer all of them fully but I hope the little info below will help to fill some of the gaps.
Vendor advertised information 

There is no much info about internal architecture or deployment options on the vendor's home site. We can find only very generic descriptions like the ones below.

Nicira [1]

What is Nicira's architecture?
Nicira's Distributed Virtual Network Infrastructure (DVNI) is an architecture that builds on a distributed software system that decouples virtual services from the network hardware and works with any server hypervisor. 

How does the platform work?
The NVP Controller Cluster dynamically updates the state of tunnel connections between OVS switches through the physical network. These tunnels allow virtual networks to span across the data center, even between data centers. Data communications between workloads connected to virtual networks is encapsulated and traverses the physical network, enabling VM mobility across subnet boundaries, while maintaining L2 adjacency. The operational state of the network is computed algorithmically in the NVP Controller Cluster,

Midokura [2]

Fully Distributed Architecture with no single points of failure

Midokura has built MidoNet to be completely distributed and scalable. These advantages are key in building your infrastructure.

Furthermore, MidoNet is a completely distributed scale-out system, offering no single point of failure.


Architecture differences

But there is one thing that can be read between the lines. Although both vendors claim to offer SDN solution that is based on a distributed architecture is seems they interpret this in a different way.

It looks like that for Nicira the distributed attribute is mainly a property of its NVP cluster. NVP is a central place that holds all network (like flows, port, tenants, network ...) related information that is relevant to implement a control plane.

For Midokura the distributed attribute is a way they designed the whole solution they have. There is no single central component (in a form of a single or multi-server distributed cluster) that holds and manages all network information. It looks like that every Midonet node has limited knowledge but in the same time has enough information to perform tasks done normally by the control plane.

Comparison of the architecture types

Depending on the architecture type both companies facing different challenges that they need to solved. An interesting summary of types and problems that you may encounter can be found in this wiki article SDN deployment models. The article list following types that matching quite well above descriptions that should give us enough info to realize how different are both approaches:
  • Symmetric vs asymmetric
  • Floodless vs flood-based
  • Host-based vs Network-centric
References
  1. http://nicira.com/en/frequently-asked-questions
  2. http://www.midokura.com/midonet/openstack/
  3. http://www.midokura.com/for-enterprise-and-government/for-service-providers/
    http://www.midokura.com/for-enterprise-and-government/