35
ONOS OVERVIEW Architecture, Abstractions & Application

ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

ONOS OVERVIEWArchitecture, Abstractions & Application

Page 2: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

WHAT IS ONOS?

Open Networking Operating System (ONOS) is an open source SDN network operating system (controller).

Mission: to enable Service Providers to build real SDN solutions.

2

Page 3: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ONOS UNIVERSE

3

Page 4: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ARCHITECTURE PRINCIPLES

High availability, scalability and performance

Strong abstractions and simplicity

Protocol and device behaviour independence

Separation of concerns and modularity

4

https://wiki.onosproject.org/display/ONOS/Overview+of+ONOS+architecture

Page 5: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ONOS ARCHITECTURE

5

Page 6: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ARCHITECTURE PRINCIPLES

High availability, scalability and performance

Strong abstractions and simplicity

Protocol and device behaviour independence

Separation of concerns and modularity

6

Page 7: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ONOS ARCHITECTURE

ONOS is partitioned into:

Protocol-aware network-facing modules that interact with the network

7

Page 8: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ONOS ARCHITECTURE

Protocols: contain implementation of all features needed by ONOS to communicate with real devices.

implement specific control and/or management protocols

Examples: OpenFlow, NETCONF, SNMP, etc.

Providers: abstract the low-level configuration, control and management operations associated to real devices.

execute requests originated from the core

process and notify the core about events originated from the infrastructure devices

8

Page 9: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ARCHITECTURE PRINCIPLES

High availability, scalability and performance

Strong abstractions and simplicity

Protocol and device behaviour independence

Separation of concerns and modularity

9

https://wiki.onosproject.org/display/ONOS/Overview+of+ONOS+architecture

Page 10: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ONOS ARCHITECTURE

ONOS is partitioned into:

Protocol-agnostic system core that tracks and serves information about network state

10

Page 11: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

CORE FUNCTIONALITY

A service is a unit of functionality.

A service is comprised of multiple components that reside at the different layers and create a vertical slice.

A service is used by applications to carry out application logic in the network.

Example: a segment routing application needs to use core services on topology discovery, flow rules installation, etc.

11

Page 12: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

CORE FUNCTIONALITY

Primary services:

Device Subsystem

Link Subsystem

Host Subsystem

12

Topology Subsystem

PathService

FlowRule Subsystem

Packet Subsystem

Page 13: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

CORE FUNCTIONALITY

ONOS defines several primary services:

Device Subsystem - Manages the inventory of infrastructure devices.

Link Subsystem - Manages the inventory of infrastructure links.

Host Subsystem - Manages the inventory of end-station hosts and their locations on the network.

Topology Subsystem - Manages time-ordered snapshots of network graph views.

PathService - Computes/finds paths between infrastructure devices or between end-station hosts using the most recent topology graph snapshot.

FlowRule Subsystem - Manages inventory of the match/action flow rules installed on infrastructure devices and provides flow metrics.

Packet Subsystem - Allows applications to listen for data packets received from network devices and to emit data packets out onto the network via one or more network devices.

X

Page 14: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

SERVICE STRUCTURE

13

Page 15: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

SERVICE STRUCTURE

Provider: responsible for interacting with the network environment using various control and configuration protocols, and supplying service-specific sensory data to the core.

interface with the network via protocol-specific libraries

interface with the core via the ProviderService

Manager: mediator between the providers (and the network) and the applications

Service interface: applications or other core components learn about a particular aspect of the network state

AdminService interface: handles administrative commands towards the network state or the system

ProviderRegistry interface: Providers can register with the manager

ProviderService interface: registered Providers can send and receive information to and from the manager

Listener: Applications consume and manipulate information aggregated by the managers via the AdminService and Service interfaces.

X

Page 16: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ONOS ARCHITECTURE

ONOS is partitioned into:

Applications that consume and act upon the information provided by the core

14

Page 17: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ARCHITECTURE PRINCIPLES

High availability, scalability and performance

Strong abstractions and simplicity

Protocol and device behaviour independence

Separation of concerns and modularity

15

https://wiki.onosproject.org/display/ONOS/Overview+of+ONOS+architecture

Page 18: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ONOS ARCHITECTURE

Interfaces

Southbound (provider) API: network-facing modules interact with the core

abstraction: protocol-neutral means to relay network state information to the core

16

Page 19: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ONOS ARCHITECTURE

Interfaces

Northbound (consumer) API: the core interacts with the applications

abstractions that describe network operation components

application logic expressed as a policy instead of mechanism

17

Page 20: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

NORTHBOUND INTERFACE

Global network topology view

directed, cyclic graph comprising of infrastructure devices, links and hosts

Intent

network-centric abstraction for programming data-plane in topology-dependent manner

Flow Objective

device-centric abstraction for programming data-plane flows in table pipeline

18

Page 21: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

NORTHBOUND INTERFACE

Intent: policy-based declaration of what the applications want the network to do

supported by the Intent Framework service

focus on what should be done rather than how it is programmed

abstracts unnecessary network complexity

19

Page 22: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

NORTHBOUND INTERFACE

Installable intent: actionable operations on the network environment

generated by the core via intent compilation

carried out by intent installation process

examples: provisioning tunnel links, installing flow rules

Built-in and user-defined intents

20

Page 23: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

NORTHBOUND INTERFACE

Flow objective:

supported by the Flow Objective service

focus on how traffic should be handled by a device (switch) rather than prescribing how the processing pipeline is built

abstracts device specific implementation of the data plane

drivers interpret flow objectives and map them to the tables pipeline, i.e., install flows accordingly

21

Page 24: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

ARCHITECTURE PRINCIPLES

High availability, scalability and performance

Strong abstractions and simplicity

Protocol and device behaviour independence

Separation of concerns and modularity

22

https://wiki.onosproject.org/display/ONOS/Overview+of+ONOS+architecture

Page 25: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

DISTRIBUTED ARCHITECTURE

High availability, scalability and performance

How to achieve that? > distributed system

How to keep simplicity of control? > centralized control plane

Combine the two

23

https://wiki.onosproject.org/display/ONOS/Cluster+Coordination

Page 26: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

DISTRIBUTED ARCHITECTURE

24

Page 27: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

DISTRIBUTED ARCHITECTUREDistributed

a cluster of instances represents the controller

Symmetric

instances run identical software and are configured the same

Fault-tolerant

node failures do not affect the operation of the cluster because load can be redistributed

Location transparent

the cluster looks like a single instance to the applications, which physical instance handles the request is hidden

Dynamic

the cluster can scale up/down to meet the usage demands of applications and traffic.

X

Page 28: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

DISTRIBUTED ARCHITECTURE

Each instance discovers the state of a subsection of the network.

Local state information is disseminated across the cluster as events.

Events are shared among nodes via a distributed store.

Consistency schemes

eventually consistent

strongly consistent

X

Page 29: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

DISTRIBUTED ARCHITECTURE

25

Page 30: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

DISTRIBUTED TOPOLOGY VIEW

In a distributed setting the topology view should ensure:

Completeness: controller instances should work together to ensure each instance's view reflects the state of the entire network.

Accuracy:

Low latency access:

26

Page 31: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

DISTRIBUTED TOPOLOGY VIEW

In a distributed setting the topology view should ensure:

Completeness: controller instances should work together to ensure each instance's view reflects the state of the entire network.

Accuracy: each instance’s network view should always expose the correct state and quickly change to reflect any changes in the underlying network.

Low latency access:

27

Page 32: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

DISTRIBUTED TOPOLOGY VIEW

In a distributed setting the topology view should ensure:

Completeness: controller instances should work together to ensure each instance's view reflects the state of the entire network.

Accuracy: each instance’s network view should always expose the correct state and quickly change to reflect any changes in the underlying network.

Low latency access: the network topology view is a heavily consumed piece of state and thus requires low latency access.

28

Page 33: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

DISTRIBUTED TOPOLOGY VIEW

Topology consistency is ensured via logical timestamps.

Logical timestamp = controller epoch + sequence number controller epoch is monotonically increasing number each time the master instance of a device changes (e.g., after failure)

sequence number is monotonically increasing number for a network event originating at a single device

29

https://wiki.onosproject.org/display/ONOS/Network+Topology+State

Page 34: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

DISTRIBUTED TOPOLOGY VIEW

Topology consistency is ensured via logical timestamps.

Logical timestamp = controller epoch + sequence number controller epoch is monotonically increasing number each time the master instance of a device changes (e.g., after failure)

sequence number is monotonically increasing number for a network event originating at a single device

The master instance sends out topology events and their logical timestamps

Other instances can detect changes in the topology they did know about.

30

https://wiki.onosproject.org/display/ONOS/Network+Topology+State

Page 35: ONOS OVERVIEW - Systems GroupSDN seminar 2017, Systems Group DISTRIBUTED TOPOLOGY VIEW In a distributed setting the topology view should ensure: Completeness: controller instances

SDN seminar 2017, Systems Group

SELF STUDY

31

Pick one primary service

Discover and understand its vertical slice (slide 25)

Propose an application that is build on top

What design requirements does your application have concerning:

performance (response time, bandwidth)

scalability

robustness to failures (availability)

Device Subsystem

Link Subsystem

Host Subsystem

Topology Subsystem

PathService

FlowRule Subsystem

Packet Subsystem