Search This Blog

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

No comments:

Post a Comment