We begin our Open Source Software Defined Networking (SDN) Controller comparison with the Open Network Operating System (ONOS). ONOS is designed to be distributed, stable and scalable with a focus on Service Provider networks.
The Open Network Operating System is the only SDN controller platform that supports the transition from legacy “brown field” networks to SDN “green field” networks. This enables exciting new capabilities, and disruptive deployment and operational cost points for network operators.
Architecture
ONOS is designed as a three-tier architecture as follows:
- Tier 1 comprises of modules related to protocols which communicate with the network devices (Southbound in the figure)
- Tier 2 composes of the core of ONOS and provides network state without relying on any particular protocol
- Tier 3 comprises of applications, ONOS apps, which use network state information presented by Tier 2
Modularity and Extensibility
ONOS has built-in mechanisms for connecting/disconnecting components while the controller is running. This allows a very flexible approach to adding functionality to the controller.
Scalability
ONOS is designed specifically to horizontally scale for performance and geo-redundancy across small regions.
- The cluster configuration is simple, with new controllers being able to join and leave dynamically, giving flexibility over time.
- The Atomix distributed datastore, which prioritises data consistency, should reduce the outages caused by cluster partitioning as all hosts are guaranteed to have the correct data.
- As a cluster grows however, communication and coordination activities rapidly increase, limiting performance gains per additional cluster member.
Architectural Scalability
- ONOS includes native BGP routing capabilities to coordinate traffic flows between the SDN islands.
- There are several documented instances of ONOS (e.g. ICONA, SDN-IP) being used successfully in a geo-redundant architecture for controlling large scale SD-WANs.
Interfaces
- Southbound: It supports an extensive list of Southbound interfaces including OpenFlow, P4, NETCONF, TL1, SNMP, BGP, RESTCONF and PCEP.
- Northbound: ONOS offers the largest set of northbound interfaces with gRPC and RESTful APIs.
- GUI: The ONOS GUI is a single-page web-application, providing a visual interface to the Open Network Operating System controller (or cluster of controllers).
- Intent-based framework: ONOS has the implementation of the inbuilt Intent based framework. By abstracting a network service into a set of criteria a flow should meet, the generation of the underlying OpenFlow (or P4) configuration is handled internally, with the client system specifying only what the functional outcome should be.
Telemetry
Telemetry feeds are available through pluggable modules that come with the software, with Influx DB and Grafana plug-ins included in the latest release.
Resilience and Fault Tolerance
ONOS has a very simple administration mechanism for clusters with native commands for adding and removing members.
The Open Network Operating System provides fault tolerance in the system with an odd number of SDN controllers. In the event of Master node failure, a new leader would be selected to take the control of the network.
Programming Language
ONOS is written in Java.
Community
The Open Network Operating System is supported under the Linux Foundation Networking umbrella and boasts a large developer and user community.
Your article is awesome! How long does it take to complete this article? I have read through other blogs, but they are cumbersome and confusing. I hope you continue to have such quality articles to share with everyone! I believe there will be many people who share my views when they read this article from you!
Hi, thank you for your praise. We have five more articles for SDN controllers comparison to come and hope you enjoy reading them as well. In addition to providing Cloud and Networking services (https://aptira.com/services/), we like to teach the community how to use these technologies for themselves. So every project we work on is documented, enabling us to easily publish case studies and tutorial so we can share our knowledge and experience with others. Stay tuned as there’s lots more to come!