The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

ONOS Open Network Operating System APIs & Intent Framework Brian O'Connor [email protected]

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by , 2016-06-07 21:06:03

ONOS Open Network Operating System - ONS2013

ONOS Open Network Operating System APIs & Intent Framework Brian O'Connor [email protected]

ONOS

Open Network Operating System

APIs & Intent Framework

Brian O'Connor
[email protected]

ONOS Architecture

AAppppss

NB Core API

Distributed Core

(state management, notifications, high-availability & scale-out)

SB Core API

Adapters Adapters Adapters Adapters

Protocols Protocols Protocols Protocols

ONOS Service APIs

"Southbound" "Core" "Northbound"
● Device
● Link ● Core ● Topology
● Host
● Statistics ● Mastership ● Path
● Flow Rule
● Packet ● Clusters ● Intent
● Resource
● Providers ● Event Delivery

● Database

● Leadership

...

Intent Framework

• Programming Abstraction

– Intents
– Compilers
– Installers

• Execution Framework

– Intent Service
– Intent Store

Intents

• Provide high-level interface that focuses on
what should be done rather than how it is
specifically programmed

• Abstract network complexity from applications
• Extend easily to produce more complex

functionality through combinations of other
intents

Intent Example

Host to Host Intent

Intent Example

Host to Host Intent

COMPILATION

Path Intent Path Intent

Intent Example

Host to Host Intent

COMPILATION

Path Intent Path Intent

INSTALLATION Flow Rule Batch
Flow Rule Batch Flow Rule Batch

Flow Rule Batch

Intent Compilers

• Produce more specific Intents given the
environment

• Works on high-level network objects, rather than
device specifics

• “Stateless” – free from HA / distribution concerns

interface IntentCompiler<T extends Intent> {
List<Intent> compile(T intent);

}

Intent Installers

• Transform Intents into device commands
• Allocate / deallocate network resources
• Define scheduling dependencies for workers
• “Stateless”

Intent Framework

• Translates intents into device instructions (in
accordance with network state and policy)

• Coordinates and verifies installation of
instructions

• Reacts to changing network conditions
• Permits optimization across intent objects
• Extends dynamically to add or change

functionality (compilers or installers)

Intent Framework Design

Applications

Intent Service API

Host to Host Intent Extension Intent Intent Store
Intent Compiler Service API Manager

PPaatthhInIntetnetnt Intent Intent
IInnssttaallellrer Installation Objective
Tracker
Worker

Flow Rule Service API Topology API Resource API …

Core

Southbound

Physical Network

Intent Store

• Key to HA and Scale-Out
• Work is delegated to specific cluster nodes

through batch queue mechanism
• Execution steps designed to be idempotent

– However, when resources are required, duplicate
request will be detected and handled

• Failures can be detected by batch queue
mechanism, and work can be reassigned

Design Modularity

• Intents, Compilers, and Coordinators can be
defined and loaded dynamically

• Framework implements service API, so the
entire framework can be swapped out

• Each component also implements an internal
API, so they can be replaced as desired

Intents in ONOS 1.0.0

• Distributed Framework

– Backed by Hazelcast maps and queues

• Connectivity-Based

– Host to Host, Multi-Point to Single Point
• Supports constraints as policy

– Link type, bandwidth


Click to View FlipBook Version