ONOS - Introduction
ONOS provides the control plane for a software-defined network (SDN), managing network components, such as switches and links, and running software programs or modules to provide communication services to end hosts and neighboring networks. ONOS applications and use cases often consist of customized communication routing, management, or monitoring services for software-defined networks.
ONOS can run as a distributed system across multiple servers, allowing it to use the CPU and memory resources of multiple servers while providing fault tolerance in the face of server failure and potentially supporting live/rolling upgrades of hardware and software without interrupting network traffic.
ONOS - Introduction:
ONOS Architecture Tenets
- High-availability, scalability and performance (required to sustain demands of service provider & enterprise networks)
- Strong abstractions and simplicity (required for development of apps and solutions)
- Protocol and device behaviour independence (avoid contouring and deformation due to protocol specifics)
- Separation of concerns and modularity (allow tailoring and customization without speciating the code-base)
References
- ONOS - Wiki
- opennetworkinglab/onos: Open Network Operating System
- ONOS Distributed Tutorial
- Appendix B: REST API - ONOS - Wiki
- Mininet and onos.py workflow
- Developer Quick Start
- Downloads - ONOS
- Introduction to the ONOS APIs
- Running ONOS with onos.py
- Building the ONOS Sample Apps - ONOS
- Managing ONOS applications