blob: f50f24dd27713297bf8bcab3fa91ab28fe19cc11 [file] [log] [blame]
ONOS architecture is strictly segmented into a <em>protocol-agnostic system
core</em> tier and the <em>protocol-aware providers</em> tier as shown in
the figure below:<br>
<img src="doc-files/onos-tiers.png" alt="ONOS architecture tiers">
The <em>ONOS core</em> is responsible for tracking information about the
network environment and distributing it to the applications either
synchronously via query or asynchronously via listener callbacks. The
core is also responsible for persisting select state and synchronizing state
among the cluster peers.
The <em>protocol-aware providers</em> are responsible for interacting with
the network environment using various control and configuration protocols
and supplying such sensory data to the core. Some providers may also need to
accept control edicts from the core and apply them to the environment
using the appropriate protocol-specific means.
The following diagram describes a general structure of each ONOS subsystem:
<img src="doc-files/onos-subsystem.png" alt="ONOS subsystem structure"><br>
For example, the device-subsystem comprises of a core
which exposes a north-bound
{@link} through which applications or other core components
can learn about the global infrastructure device inventory and through
which they can also subscribe for asynchronous {@link}
notifications via the {@link} mechanism. A set of
administrative actions can be performed via {@link},
e.g. setting mastership role, removing a decommissioned device.
On the south-bound side, the core {@link}
exposes a {@link} through which any number of
{@link} entities can register and in turn obtain a
{@link}. Device and port information can then be
supplied to the core by each provider through the provider service issued
to them. When a provider unregisters, its {@link}
will be invalidated and can no longer be used for interacting with the
Within the core, the tasks of indexing, persisting and synchronizing the
global device and port state with the cluster peers falls on the
Similar structure applies to the link subsystem, host subsystem and others.
<em>More information to come later...</em>