ONOS

Last updated
ONOS (Open Network Operating System)
TypeOpen Source project under The Linux Foundation
HeadquartersMenlo Park, Calif.
Key people
Guru Parulkar, Executive Director
Website www.onosproject.org

The ONOS (Open Network Operating System) project is an open source community hosted by The Linux Foundation. The goal of the project is to create a software-defined networking (SDN) operating system for communications service providers that is designed for scalability, high performance and high availability.

Contents

History

On December 5, 2014, the Open Networking Lab (ON.Lab) along with other industry partners including AT&T and NTT Communications released the ONOS source code to start the open source community. [1] On October 14, 2015, the Linux Foundation announced that ONOS had joined the organization as one of its collaborative projects. [2]

The project was started around October 2012 under the leadership of Pankaj Berde, an architect at ON.Lab. The name ONOS was coined around end of 2012 by Berde. Early prototype was shown on April, 2013 [3] at Open Networking Summit (ONS) and journey [4] of initial iterations featured at ONS 2014.

Technology overview

The software is written in Java and provides a distributed SDN applications platform atop Apache Karaf OSGi container. The system is designed to operate as a cluster of nodes that are identical in terms of their software stack and can withstand failure of individual nodes without causing disruptions in its ability to control the network operation.

ONOS Software Stack ONOS-Tiers.png
ONOS Software Stack

While ONOS leans heavily on standard protocols and models, e.g. OpenFlow, NETCONF, OpenConfig, its system architecture is not directly tied to them. Instead, ONOS provides its own set of high-level abstractions and models, which it exposes to the application programmers. These models can be extended by the applications at run-time. To prevent the system from becoming tied to a specific configuration or control protocol, any software in direct contact with protocol-specific libraries and engaging in direct interactions with network environment is deliberately isolated into its own tier referred to as a provider or a driver. Likewise, any software in direct contact with intra-cluster communication protocols is deliberately isolated into its own tier referred to as a store.

The platform provides applications with a number of high-level abstractions, through which the applications can learn about the state of the network and through which they can control the flow of traffic through the network. The network graph abstraction provides information about the structure and topology of the network. The flow objective is a device-centric abstraction that allows applications to direct flow of traffic through a specific device without the need to be aware of the device table pipeline. Similarly, the intent is a network-centric abstraction that gives application programmers the ability to control network by specifying what they wish to accomplish rather than specifying how they want to accomplish it. This simplifies application development and at the same time provides the platform with added degrees of freedom to resolve what would normally be considered conflicting requests.

Applications (core extensions) can be loaded and unloaded dynamically, via REST API or GUI, and without the need to restart the cluster or its individual nodes. ONOS application management subsystem assumes the responsibility for distributing the application artifacts throughout the cluster to assure that all nodes are running the same application software. ONOS base distribution contains over 175 applications, which fall into numerous categories, e.g. traffic steering apps, device drivers, ready-to-use YANG models, utilities, monitoring apps.

The system provides REST API, CLI and an extensible, dynamic web-based GUI. gRPC interfaces for ONOS are under active development.

Use cases

The ONOS software has been used as a platform that applications have been written on top of or has been integrated into other projects. A number of use cases demonstrate how the software is being used today—including global research networking deployments, multilayer network control, and central office re-designed as a datacenter.

Releases

The following lists the different ONOS releases that are all named after different types of birds in alphabetical order:

Release NameRelease Date
AvocetDecember 5, 2014
BlackbirdFebruary 28, 2015
CardinalMay 31, 2015
DrakeSeptember 18, 2015
EmuDecember 18, 2015
FalconMarch 10, 2016
GoldeneyeJune 24, 2016
HummingbirdSeptember 23, 2016
IbisDecember 9, 2016
JuncoFebruary 28, 2017
KingfisherJune 5, 2017
LoonSeptember 8, 2017
Magpie (LTS)December 11, 2017
NightingaleMay 2, 2018
OwlSeptember 4, 2018
Peacock (LTS)November 29, 2018
QuailJanuary 18, 2019
RavenApril 29, 2019
SparrowAug 30, 2019
ToucanJan 27, 2020

Members

There are two tiers of membership for ONOS: Partner and Collaborator, with varying levels of commitment.

See also

Related Research Articles

In software engineering, multitier architecture is a client–server architecture in which presentation, application processing and data management functions are physically separated. The most widespread use of multitier architecture is the three-tier architecture.

<span class="mw-page-title-main">OSI model</span> Model of communication of seven abstraction layers

The Open Systems Interconnection model is a conceptual model from the International Organization for Standardization (ISO) that "provides a common basis for the coordination of standards development for the purpose of systems interconnection." In the OSI reference model, the communications between systems are split into seven different abstraction layers: Physical, Data Link, Network, Transport, Session, Presentation, and Application.

A network operating system (NOS) is a specialized operating system for a network device such as a router, switch or firewall.

freedesktop.org (fd.o), formerly X Desktop Group (XDG), is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body.

OpenSSI is an open-source single-system image clustering system. It allows a collection of computers to be treated as one large system, allowing applications running on any one machine access to the resources of all the machines in the cluster.

Linux Terminal Server Project (LTSP) is a free and open-source terminal server for Linux that allows many people to simultaneously use the same computer. Applications run on the server with a terminal known as a thin client handling input and output. Generally, terminals are low-powered, lack a hard disk and are quieter and more reliable than desktop computers because they do not have any moving parts.

Helios is a discontinued Unix-like operating system for parallel computers. It was developed and published by Perihelion Software. Its primary architecture is the Inmos Transputer. Helios' microkernel implements a distributed namespace and messaging protocol, through which services are accessed. A POSIX compatibility library enables the use of Unix application software, and the system provides most of the usual Unix utilities.

NX technology, commonly known as NX or NoMachine, is a remote access and remote control computer software, allowing remote desktop access and maintenance of computers. It is developed by the Luxembourg-based company NoMachine S.à r.l.. NoMachine is proprietary software and is free-of-charge for non-commercial use.

HAL is a software subsystem for UNIX-like operating systems providing hardware abstraction.

OpenSAF is an open-source service-orchestration system for automating computer application deployment, scaling, and management. OpenSAF is consistent with, and expands upon, Service Availability Forum (SAF) and SCOPE Alliance standards.

<span class="mw-page-title-main">Locator/Identifier Separation Protocol</span>

Locator/ID Separation Protocol (LISP) is a "map-and-encapsulate" protocol which is developed by the Internet Engineering Task Force LISP Working Group. The basic idea behind the separation is that the Internet architecture combines two functions, routing locators and identifiers in one number space: the IP address. LISP supports the separation of the IPv4 and IPv6 address space following a network-based map-and-encapsulate scheme. In LISP, both identifiers and locators can be IP addresses or arbitrary elements like a set of GPS coordinates or a MAC address.

The following outline is provided as an overview of and topical guide to software:

<span class="mw-page-title-main">Couchbase Server</span> Open-source NoSQL database

Couchbase Server, originally known as Membase, is a source-available, distributed multi-model NoSQL document-oriented database software package optimized for interactive applications. These applications may serve many concurrent users by creating, storing, retrieving, aggregating, manipulating and presenting data. In support of these kinds of application needs, Couchbase Server is designed to provide easy-to-scale key-value, or JSON document access, with low latency and high sustainability throughput. It is designed to be clustered from a single machine to very large-scale deployments spanning many machines.

Hewlett Packard Enterprise Networking is the networking products division of Hewlett Packard Enterprise (HPE). HPE Networking and its predecessor entities have a long history of developing and selling networking products. Today, it offers campus and small business networking products through its wholly owned company Aruba Networks which was acquired in 2015. Prior to this, HP Networking was the entity within HP offering networking products.

Software-defined networking (SDN) technology is an approach to network management that enables dynamic, programmatically efficient network configuration to improve network performance and monitoring, in a manner more akin to cloud computing than to traditional network management. SDN is meant to address the static architecture of traditional networks and may be employed to centralize network intelligence in one network component by disassociating the forwarding process of network packets from the routing process. The control plane consists of one or more controllers, which are considered the brains of the SDN network, where the whole intelligence is incorporated. However, centralization has certain drawbacks related to security, scalability and elasticity.

Software-defined storage (SDS) is a marketing term for computer data storage software for policy-based provisioning and management of data storage independent of the underlying hardware. Software-defined storage typically includes a form of storage virtualization to separate the storage hardware from the software that manages it. The software enabling a software-defined storage environment may also provide policy management for features such as data deduplication, replication, thin provisioning, snapshots and backup.

Network functions virtualization (NFV) is a network architecture concept that leverages IT virtualization technologies to virtualize entire classes of network node functions into building blocks that may connect, or chain together, to create and deliver communication services.

<span class="mw-page-title-main">Open vSwitch</span> Virtual network switch

Open vSwitch, sometimes abbreviated as OVS, is an open-source implementation of a distributed virtual multilayer switch. The main purpose of Open vSwitch is to provide a switching stack for hardware virtualization environments, while supporting multiple protocols and standards used in computer networks.

<span class="mw-page-title-main">Proxmox Virtual Environment</span> Linux distribution for server virtualization

Proxmox Virtual Environment is a hyper-converged infrastructure open-source software. It is a hosted hypervisor that can run operating systems including Linux and Windows on x64 hardware. It is a Debian-based Linux distribution with a modified Ubuntu LTS kernel and allows deployment and management of virtual machines and containers. Two types of virtualization are supported: container-based with LXC, and full virtualization with KVM. It includes a web-based management interface. There is also a mobile application available for controlling PVE environments.

The Friend OS or the Friend Unifying Platform is a network based Meta Operating System – a technology that can be used implementing a graphical user interface delivered through a browser, with a back-end that behaves like an operating system. This operating system connects resources and end-user software together in a seamless user experience that can be accessed anywhere. Additionally, it can be customized and prepped for any security requirements and is the first open source cloud operating system that aims to unify web applications and deliver an ecosystem for them to be used across all devices.

References

  1. "ON.Lab Delivers Software for New Open Source SDN Network Operating System - ONOS™". PR Newswire. 2014-12-04. Retrieved 2016-06-08.
  2. Talbot, Chris (2015-10-14). "ONOS becomes a Linux Foundation collaborative project". FierceWireless. Retrieved 2016-06-08.
  3. ON.LAB (2013-12-18). "ONOS: Open Network Operating System. An Open-Source Distributed SDN O…".{{cite journal}}: Cite journal requires |journal= (help)
  4. Berde, Pankaj. "ONOS early journey". Youtube.