SlideShare a Scribd company logo
ONOS
Open Network Operating System
An Open-Source Distributed SDN OS

Pankaj Berde, Jonathan Hart, Masayoshi Kobayashi, Pavlin Radoslavov, Pingping Lin, Rachel
Sverdlov, Suibin Zhang, William Snow, Guru Parulkar
Software Defined Network (SDN)
f ( Map)

f ( Map)

f ( Map)

Control
Program

Control
Program

Control
Program

Global Network Map

Network OS
Abstract
Forwarding
Model
(e.g. OpenFlow)

Packet
Forwarding

Packet
Forwarding
Packet
Forwarding

Packet
Forwarding
Packet
Forwarding
Match-Action Forwarding Abstraction
Action Primitives
1.
2.
3.
4.
5.
6.

“Plumbing primitives”

“Forward to ports 4 & 5”
“Push header Y after bit 12”
“Pop header bits 8-12”
“Decrement bits 13-18”
“Drop packet”
…

H’

H

Match Action
F

Action(F)

G

Action(G)

H

Action(H)
Software Defined Network (SDN)
firewall.c
…
if( TCP_port == SMTP)
Control
dropPacket();
Program
…

Control
Program

Control
Program

Global Network Map

Network OS
Match

Action

Match

B

Match

Action

Action(F)
Packet
Forwarding
G
Action(G)
F

H

Action(H)

Action(B)

Match

Action

C

Action(C)

X

Action(X)

Z

Action(Z)

Match

Action

A

Action(A)

D

Action(D)

Packet
G
Action(G)
Forwarding

Packet
Y
Action(Y)
Forwarding

Action

A

Packet
A
Action(A)
Forwarding

Action(A)

H

Action(H)

Packet
G
Action(G)
Forwarding
ONOS Use Cases For Service Provider
Networks
• WAN core backbone
– Multiprotocol Label Switching (MPLS) with Traffic Engineering (TE)

• Cellular access network
– LTE for a metro area

• Metro Ethernets
– Access network for enterprises

• Wired access/aggregation
– Access network for homes
– DSL/Cable

Cellular

Metro

Core

Access
5
WAN Traffic Engineering Use Case Scenario
ONOS instances
Single DC

• Single ONOS Cluster in a Data Center*
• 8-16 ONOS instances max for
storage/compute capacity

• Out-of-band connection between
ONOS and Switches
• O(10)ms delay

AT&T Backbone Network

(*) Other configurations possible with tradeoffs: e.g., ONOS cluster per region
6
WAN Traffic Engineering Use Case Scenario
ONOS instances
Single DC

• Single ONOS Cluster in a Data Center*
• 8-16 ONOS instances max

• Out-of-band connection between
ONOS and Switches
• O(10)ms delay

•
•
•
•

150 Core Switches (AT&T/Global Crossing)
300 Edge Switches (AT&T/Global Crossing)
AT&T Backbone Network
50K edge-to-edge tunnels (Global Crossing)
400K IP prefixes (current BGP table size)

(Numbers based on Stanford Ph.D thesis (Saurav Das) and interview with Google & Global Crossing)

7
Cellular Core Network Use Case*
(*) Based on Jen Rexford’s study at Princeton

ONOS nodes
Single DC
Base
O(1) ms delay
Station

Access Edge

~100 Switches, 1000 Base Stations

~1 million UEs
~10 million flows
~400 Gbps – 2 Tbps
Cellular Core Network

Gateway
Edge
~1K Ues per BS
~10K flows per BS
~1 – 10 Gbps per BS

Middle boxes
(firewall, IDS, etc.)

Internet

8
ONOS: Open Network OS
Routing

TE

Mobility

Global network view

Global Network View

Openflow

Scale-out
Design

Packet
Forwarding

Fault Tolerance
Packet
Forwarding

Programmable
Base Station
Packet
Forwarding
Prior Work
NOX, POX, Beacon, Floodlight, Trema controllers

Single
Instance

Helios, Midonet, Hyperflow, Maestro, Kandoo, …

Distributed control platform for large-scale networks

Distributed:
ONIX

ONIX: closed source; datacenter + virtualization focus

ONOS design influenced by ONIX

Community needs an open source distributed network OS
ONOS Phase 1: Goals
December 2012 – December 2013
 Demo Key Functionality
 Fault-Tolerance: Highly Available control plane
 Scale-out: Using distributed architecture
 Global Network View: Network Graph abstraction

 Non Goals
 Performance optimization
 Stress testing
ONOS – Architecture Overview
ONOS High Level Architecture
Control Application

Applications

Control Application

Network Graph

Distributed Network
Graph/State

Titan Graph DB

Eventually consistent

Cassandra In-Memory DHT
Distributed Registry
Strongly Consistent

Coordination

Instance 1

OpenFlow
Controller+

Scale-out

Zookeeper

Instance 2

OpenFlow
Controller+

Instance 3

OpenFlow
Controller+

Host

+Floodlight
Drivers

Host
Host
Scale-out & HA
ONOS Scale-Out
Network Graph
Global network view

Distributed
Network OS

Instance 1

Instance 2

Instance 3

Data plane

An instance is responsible for maintaining a part of network graph
Control capacity can grow with network size or application need
ONOS Control Plane Failover
Distributed
Registry

Master
Master
Switch AA==ONOS 1
Switch
NONE
Switch A = ONOS 2
Candidates = ONOS 2,
Candidates = ONOS 3
ONOS 3

Distributed
Network OS

Host

Master
Master
Switch AA = NONE
Switch = ONOS 1
Switch A = ONOS 2
Candidates = ONOS 2,
Candidates =
Candidates = ONOS 3
ONOS 3

Instance 1

A

Instance 2

Instance 3

E

C
B

Master
Master
Switch AA==ONOS 1
Switch
NONE
Switch A = ONOS 2
Candidates = ONOS 2,
ONOS 2,
Candidates = ONOS 3
ONOS 3

D
Host

F

Host
Network Graph
ONOS Network Graph Abstraction
Network Graph

Id: 106, Label

Id: 105, Label

Titan Graph DB

Id: 2
C

Id: 102, Label
Id: 101, Label

Id: 104, Label
Id: 103, Label

Cassandra
Key/Value Store

Id: 1
A

Id: 3
B
Network Graph
port
switch

on

port
port
host

port
link

port

on

port
host

device

device

 Network state is naturally represented as a graph
 Graph has basic network objects like switch, port, device and links
 Application writes to this graph & programs the data plane

switch
Example: Path Computation App on Network
Graph
flow

Flow entry

flow

Flow path

inport

Flow entry
outport

switch

switch
port

switch

on

port

port
link

port
host

device

port

on

switch

port
host

device

• Application computes path by traversing the links from source to destination
• Application writes each flow entry for the path
Thus path computation app does not need to worry about topology maintenance
Example: A simpler abstraction on network
graph?
Virtual network objects
Edge Port

Real network objects

Logical Crossbar

physical

physical
port

switch

Edge Port

on

port
port
host

device

port
link

port

on

switch

port

host

device

• App or service on top of ONOS
• Maintains mapping from simpler to complex
Thus makes applications even simpler and enables new abstractions
Network Graph and Switches
Network Graph: Switches

Switch Manager

OF
OF

Switch Manager

OF
OF

Switch Manager

OF
OF
Network Graph and Link Discovery
Network Graph: Links

Link Discovery
SM

LLDP

Link Discovery
SM

LLDP

Link Discovery
SM
Devices and Network Graph
Network Graph: Devices

Device Manager

Device Manager

Device Manager

SM

SM

SM

LD

LD

LD

PKTIN
Host

PKTIN
Host

PKTIN
Host
Path Computation with Network Graph
Path Computation

Path Computation

Path Computation

Network Graph: Flow Paths
Flow 1

Flow 2

Flow entries
Flow entries
Flow entries

Flow 3

Flow entries
Flow entries
Flow entries

Flow 4

Flow entries
Flow entries
Flow entries

Flow 5

Flow entries
Flow entries
Flow entries

Flow 6

Flow entries
Flow entries
Flow entries

Flow 7

SM

Flow entries
Flow entries
Flow entries

Flow entries
Flow entries
Flow entries

Flow 8

Flow entries
Flow entries
Flow entries

LD

DM

SM

LD

DM

SM

LD

DM

Host

Host
Host
Network Graph and Flow Manager
Path Computation

Path Computation

Path Computation

Network Graph: Flows
Flow 1

Flow entries
Flow entries
Flow entries

Flow 2

Flow entries
Flow entries
Flow entries

Flow 3

Flow entries
Flow entries
Flow entries

Flow 4

Flow entries
Flow entries
Flow entries

Flow 5

Flow entries
Flow entries
Flow entries

Flow 6

Flow entries
Flow entries
Flow entries

Flow 7

Flow entries
Flow entries
Flow entries

Flow 8

Flow entries
Flow entries
Flow entries

Flow Manager

Flowmod

Flow Manager

Flow Manager
Flowmod

SM

LD

DM

SM

LD

DM

SM

LD

DM

Host

Host
Host

Flowmod
ONOS High Level Architecture
Applications

Control Application

Control Application

Network Graph

Distributed Network
Graph/State

Titan Graph DB

Eventually consistent

Cassandra In-Memory DHT
Distributed Registry
Strongly Consistent

Coordination

Instance 1

OpenFlow
Controller+

Scale-out

Zookeeper

Instance 2

OpenFlow
Controller+

Instance 3

OpenFlow
Controller+

Host

+Floodlight
Drivers

Host
Host
Reflections/Lessons Learned:
Things we got right
 Control isolation (sharding)
 Divide network into parts and control them exclusively
 Load balancing -> we can do more

 Distributed data store
 That scales with controller nodes with HA -> though we need low
latency distributed data store

 Dynamic controller assignment to parts of network
 Dynamically assign which part of network is controlled by which
controller instance -> we can do better with sophisticated algorithms

 Graph abstraction of network state
 Easy to visualize and correlate with topology
 Enables several standard graph algorithms
28
Reflections/Lessons Learned: Limitations
 Performance
 Several layers of open source sw means lower performance
 Very little visibility under-the-hood
 Different types of network state treated the same way

 Debuggability
 Debugging for performance as well as correctness is difficult due to
lack of visibility

 Cannot customize to our needs
 Heavyweight building blocks

 Spectrum of use cases
 Routing, TE, and BGP are the only use cases tried – need more

 Features
 Meant to be a prototype and so didn’t consider config, measurements, …

29
Next Phase: Architectural Directions
• Optimize for different types of network state
 Identify different types of network state and usage patterns
 Quantify the requirements for each type of state
 Understand the performance needs and strategize for optimal usage

 Control over sharding
 Optimize for different types of network states
 Lockless concurrent operations on network state



Customize our data model to our sharding
 Maximize local reads/writes
 Reduce need for remote read/writes as far as possible

 Use lean and high performance open source if possible
 For example reduce dependency on general purpose open source DHT

 Engage network providers and vendors
 Feature set and use cases
ONOS: Many Challenges Ahead …
Goal: Functionality with performance, visibility, customization
 Modular building blocks
 Swap-in and out with commercial or different open-source components
 Low latency distributed data store and state synchronization
 Low latency events and notifications

 Distributed state management
 Choice of consistency models for different network state
 CAP theorem implications on applications programming

 Sharding and replication of network state
 Optimize handling different types of network states (replicate/shard)
 Optimize data models for our purpose
 Lockless concurrent operation on the network states

 Northbound Abstraction
 Network Graph API for applications

• Hierarchical control - Recursive SDN (with Berkeley)

31
stay tuned…
onos.onlab.us
The ONOS team:







Pankaj Berde
Masayoshi Kobayashi
Brian O’Conner
Rachel Sverdlov
Naoki Shiota
William Snow








Pavlin Radoslavov
Jonathan Hart
Pingping Lin
Suibin Zhang
Yuta Higuchi
Guru Parulkar

More Related Content

What's hot

OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorial
openflow
 
Network Virtualization Architectural & Technological aspects
Network Virtualization Architectural & Technological aspectsNetwork Virtualization Architectural & Technological aspects
Network Virtualization Architectural & Technological aspects
deshpandeamrut
 
Cloud Network Virtualization with Juniper Contrail
Cloud Network Virtualization with Juniper ContrailCloud Network Virtualization with Juniper Contrail
Cloud Network Virtualization with Juniper Contrail
buildacloud
 
Software Defined WAN – SD-WAN
Software Defined WAN – SD-WANSoftware Defined WAN – SD-WAN
Software Defined WAN – SD-WAN
MarketingArrowECS_CZ
 
ONOS Platform Architecture
ONOS Platform ArchitectureONOS Platform Architecture
ONOS Platform Architecture
OpenDaylight
 
Trend Micro Big Data Platform and Apache Bigtop
Trend Micro Big Data Platform and Apache BigtopTrend Micro Big Data Platform and Apache Bigtop
Trend Micro Big Data Platform and Apache Bigtop
Evans Ye
 
Introduction to OpenDaylight & Application Development
Introduction to OpenDaylight & Application DevelopmentIntroduction to OpenDaylight & Application Development
Introduction to OpenDaylight & Application Development
Michelle Holley
 
Cloud Computing Using OpenStack
Cloud Computing Using OpenStack Cloud Computing Using OpenStack
Cloud Computing Using OpenStack
Bangladesh Network Operators Group
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting router
Shu Sugimoto
 
MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)
JuHwan Lee
 
OpenShift Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud
OpenShift  Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud OpenShift  Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud
OpenShift Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud
Hidetsugu Sugiyama
 
Introduction to Red Hat OpenShift 4
Introduction to Red Hat OpenShift 4Introduction to Red Hat OpenShift 4
Introduction to Red Hat OpenShift 4
HngNguyn748044
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
Bangladesh Network Operators Group
 
SD WAN
SD WANSD WAN
SD WAN
Bri Molina
 
Terraform
TerraformTerraform
Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)
Pulkit Gupta
 
Linux
LinuxLinux
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Rishabh Indoria
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
Thomas Graf
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
rajdeep
 

What's hot (20)

OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorial
 
Network Virtualization Architectural & Technological aspects
Network Virtualization Architectural & Technological aspectsNetwork Virtualization Architectural & Technological aspects
Network Virtualization Architectural & Technological aspects
 
Cloud Network Virtualization with Juniper Contrail
Cloud Network Virtualization with Juniper ContrailCloud Network Virtualization with Juniper Contrail
Cloud Network Virtualization with Juniper Contrail
 
Software Defined WAN – SD-WAN
Software Defined WAN – SD-WANSoftware Defined WAN – SD-WAN
Software Defined WAN – SD-WAN
 
ONOS Platform Architecture
ONOS Platform ArchitectureONOS Platform Architecture
ONOS Platform Architecture
 
Trend Micro Big Data Platform and Apache Bigtop
Trend Micro Big Data Platform and Apache BigtopTrend Micro Big Data Platform and Apache Bigtop
Trend Micro Big Data Platform and Apache Bigtop
 
Introduction to OpenDaylight & Application Development
Introduction to OpenDaylight & Application DevelopmentIntroduction to OpenDaylight & Application Development
Introduction to OpenDaylight & Application Development
 
Cloud Computing Using OpenStack
Cloud Computing Using OpenStack Cloud Computing Using OpenStack
Cloud Computing Using OpenStack
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting router
 
MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)
 
OpenShift Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud
OpenShift  Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud OpenShift  Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud
OpenShift Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud
 
Introduction to Red Hat OpenShift 4
Introduction to Red Hat OpenShift 4Introduction to Red Hat OpenShift 4
Introduction to Red Hat OpenShift 4
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
SD WAN
SD WANSD WAN
SD WAN
 
Terraform
TerraformTerraform
Terraform
 
Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)
 
Linux
LinuxLinux
Linux
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 

Viewers also liked

Back-End application for Distributed systems
Back-End application for Distributed systemsBack-End application for Distributed systems
Back-End application for Distributed systems
Atif Imam
 
Applications of Distributed Systems
Applications of Distributed SystemsApplications of Distributed Systems
Applications of Distributed Systems
sandra sukarieh
 
7 distributed and real systems
7 distributed and real systems7 distributed and real systems
7 distributed and real systems
myrajendra
 
Distributed Systems Real Life Applications
Distributed Systems Real Life ApplicationsDistributed Systems Real Life Applications
Distributed Systems Real Life Applications
Aman Srivastava
 
Onos summit roadmap dec 9
Onos summit  roadmap dec 9Onos summit  roadmap dec 9
Onos summit roadmap dec 9
ONOS Project
 
Tech Talk: ONOS- A Distributed SDN Network Operating System
Tech Talk: ONOS- A Distributed SDN Network Operating SystemTech Talk: ONOS- A Distributed SDN Network Operating System
Tech Talk: ONOS- A Distributed SDN Network Operating System
nvirters
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
Rupsee
 
Understanding SDN
Understanding SDNUnderstanding SDN
Understanding SDN
Saurabh Agarwal
 
The History and Evolution of SDN
The History and Evolution of SDNThe History and Evolution of SDN
The History and Evolution of SDN
Napier University
 
System models for distributed and cloud computing
System models for distributed and cloud computingSystem models for distributed and cloud computing
System models for distributed and cloud computing
purplesea
 
OpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering ExplainedOpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering Explained
OpenDaylight
 
Database operation with nested transaction handling
Database operation with nested transaction handlingDatabase operation with nested transaction handling
Database operation with nested transaction handling
AshwinPoojary
 
Open Network Operating System
Open Network Operating SystemOpen Network Operating System
Open Network Operating System
Umesh Krishnaswamy
 
(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...
(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...
(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...
Naoki Shibata
 
Distributed Airline Reservation System
Distributed Airline Reservation SystemDistributed Airline Reservation System
Distributed Airline Reservation System
amanchaurasia
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
ishapadhy
 
ONOS(Open Network Operating System) V1.0 Avocet
ONOS(Open Network Operating System) V1.0 AvocetONOS(Open Network Operating System) V1.0 Avocet
ONOS(Open Network Operating System) V1.0 Avocet
rootfs32
 
ONOS - multiple instance setting(Distributed SDN Controller)
ONOS - multiple instance setting(Distributed SDN Controller)ONOS - multiple instance setting(Distributed SDN Controller)
ONOS - multiple instance setting(Distributed SDN Controller)
sangyun han
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
Harshad Umredkar
 
6.Distributed Operating Systems
6.Distributed Operating Systems6.Distributed Operating Systems
6.Distributed Operating Systems
Dr Sandeep Kumar Poonia
 

Viewers also liked (20)

Back-End application for Distributed systems
Back-End application for Distributed systemsBack-End application for Distributed systems
Back-End application for Distributed systems
 
Applications of Distributed Systems
Applications of Distributed SystemsApplications of Distributed Systems
Applications of Distributed Systems
 
7 distributed and real systems
7 distributed and real systems7 distributed and real systems
7 distributed and real systems
 
Distributed Systems Real Life Applications
Distributed Systems Real Life ApplicationsDistributed Systems Real Life Applications
Distributed Systems Real Life Applications
 
Onos summit roadmap dec 9
Onos summit  roadmap dec 9Onos summit  roadmap dec 9
Onos summit roadmap dec 9
 
Tech Talk: ONOS- A Distributed SDN Network Operating System
Tech Talk: ONOS- A Distributed SDN Network Operating SystemTech Talk: ONOS- A Distributed SDN Network Operating System
Tech Talk: ONOS- A Distributed SDN Network Operating System
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 
Understanding SDN
Understanding SDNUnderstanding SDN
Understanding SDN
 
The History and Evolution of SDN
The History and Evolution of SDNThe History and Evolution of SDN
The History and Evolution of SDN
 
System models for distributed and cloud computing
System models for distributed and cloud computingSystem models for distributed and cloud computing
System models for distributed and cloud computing
 
OpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering ExplainedOpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering Explained
 
Database operation with nested transaction handling
Database operation with nested transaction handlingDatabase operation with nested transaction handling
Database operation with nested transaction handling
 
Open Network Operating System
Open Network Operating SystemOpen Network Operating System
Open Network Operating System
 
(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...
(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...
(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...
 
Distributed Airline Reservation System
Distributed Airline Reservation SystemDistributed Airline Reservation System
Distributed Airline Reservation System
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
 
ONOS(Open Network Operating System) V1.0 Avocet
ONOS(Open Network Operating System) V1.0 AvocetONOS(Open Network Operating System) V1.0 Avocet
ONOS(Open Network Operating System) V1.0 Avocet
 
ONOS - multiple instance setting(Distributed SDN Controller)
ONOS - multiple instance setting(Distributed SDN Controller)ONOS - multiple instance setting(Distributed SDN Controller)
ONOS - multiple instance setting(Distributed SDN Controller)
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
 
6.Distributed Operating Systems
6.Distributed Operating Systems6.Distributed Operating Systems
6.Distributed Operating Systems
 

Similar to ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating System

Software Defined Networking: Primer
Software Defined Networking: Primer Software Defined Networking: Primer
Software Defined Networking: Primer
Bangladesh Network Operators Group
 
ONOS Open Network Operating System
ONOS Open Network Operating SystemONOS Open Network Operating System
ONOS Open Network Operating System
ON.Lab
 
SDN approach.pptx
SDN approach.pptxSDN approach.pptx
SDN approach.pptx
TrongMinhHoang1
 
An overview of SDN & Openflow
An overview of SDN & OpenflowAn overview of SDN & Openflow
An overview of SDN & Openflow
Peyman Faizian
 
Link_NwkingforDevOps
Link_NwkingforDevOpsLink_NwkingforDevOps
Link_NwkingforDevOps
Vikas Deolaliker
 
Software defined network and Virtualization
Software defined network and VirtualizationSoftware defined network and Virtualization
Software defined network and Virtualization
idrajeev
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
OpenSourceIndia
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
suniltomar04
 
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Cisco Canada
 
Lect12-13_MS_Networks.pptx
Lect12-13_MS_Networks.pptxLect12-13_MS_Networks.pptx
Lect12-13_MS_Networks.pptx
MuhammadMazharBashir
 
Software defined network
Software defined networkSoftware defined network
Software defined network
Bogamoga1
 
sdnppt.pdf
sdnppt.pdfsdnppt.pdf
sdnppt.pdf
AbhayDonde
 
Introduction to Software Defined Networking (SDN) presentation by Warren Finc...
Introduction to Software Defined Networking (SDN) presentation by Warren Finc...Introduction to Software Defined Networking (SDN) presentation by Warren Finc...
Introduction to Software Defined Networking (SDN) presentation by Warren Finc...
APNIC
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
Bangladesh Network Operators Group
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
Holger Winkelmann
 
Network programmability: an Overview
Network programmability: an Overview Network programmability: an Overview
Network programmability: an Overview
Aymen AlAwadi
 
Networking revolution
Networking revolutionNetworking revolution
Networking revolution
Nahian Chowdhury
 
OpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetupOpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetup
Eran Gampel
 
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale NetworkThe Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
Open Networking Summits
 
SDN: Situação do mercado e próximos movimentos
SDN: Situação do mercado e próximos movimentosSDN: Situação do mercado e próximos movimentos
SDN: Situação do mercado e próximos movimentos
Christian Esteve Rothenberg
 

Similar to ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating System (20)

Software Defined Networking: Primer
Software Defined Networking: Primer Software Defined Networking: Primer
Software Defined Networking: Primer
 
ONOS Open Network Operating System
ONOS Open Network Operating SystemONOS Open Network Operating System
ONOS Open Network Operating System
 
SDN approach.pptx
SDN approach.pptxSDN approach.pptx
SDN approach.pptx
 
An overview of SDN & Openflow
An overview of SDN & OpenflowAn overview of SDN & Openflow
An overview of SDN & Openflow
 
Link_NwkingforDevOps
Link_NwkingforDevOpsLink_NwkingforDevOps
Link_NwkingforDevOps
 
Software defined network and Virtualization
Software defined network and VirtualizationSoftware defined network and Virtualization
Software defined network and Virtualization
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
 
Lect12-13_MS_Networks.pptx
Lect12-13_MS_Networks.pptxLect12-13_MS_Networks.pptx
Lect12-13_MS_Networks.pptx
 
Software defined network
Software defined networkSoftware defined network
Software defined network
 
sdnppt.pdf
sdnppt.pdfsdnppt.pdf
sdnppt.pdf
 
Introduction to Software Defined Networking (SDN) presentation by Warren Finc...
Introduction to Software Defined Networking (SDN) presentation by Warren Finc...Introduction to Software Defined Networking (SDN) presentation by Warren Finc...
Introduction to Software Defined Networking (SDN) presentation by Warren Finc...
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
 
Network programmability: an Overview
Network programmability: an Overview Network programmability: an Overview
Network programmability: an Overview
 
Networking revolution
Networking revolutionNetworking revolution
Networking revolution
 
OpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetupOpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetup
 
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale NetworkThe Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
 
SDN: Situação do mercado e próximos movimentos
SDN: Situação do mercado e próximos movimentosSDN: Situação do mercado e próximos movimentos
SDN: Situação do mercado e próximos movimentos
 

Recently uploaded

GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 

Recently uploaded (20)

GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 

ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating System

  • 1. ONOS Open Network Operating System An Open-Source Distributed SDN OS Pankaj Berde, Jonathan Hart, Masayoshi Kobayashi, Pavlin Radoslavov, Pingping Lin, Rachel Sverdlov, Suibin Zhang, William Snow, Guru Parulkar
  • 2. Software Defined Network (SDN) f ( Map) f ( Map) f ( Map) Control Program Control Program Control Program Global Network Map Network OS Abstract Forwarding Model (e.g. OpenFlow) Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding
  • 3. Match-Action Forwarding Abstraction Action Primitives 1. 2. 3. 4. 5. 6. “Plumbing primitives” “Forward to ports 4 & 5” “Push header Y after bit 12” “Pop header bits 8-12” “Decrement bits 13-18” “Drop packet” … H’ H Match Action F Action(F) G Action(G) H Action(H)
  • 4. Software Defined Network (SDN) firewall.c … if( TCP_port == SMTP) Control dropPacket(); Program … Control Program Control Program Global Network Map Network OS Match Action Match B Match Action Action(F) Packet Forwarding G Action(G) F H Action(H) Action(B) Match Action C Action(C) X Action(X) Z Action(Z) Match Action A Action(A) D Action(D) Packet G Action(G) Forwarding Packet Y Action(Y) Forwarding Action A Packet A Action(A) Forwarding Action(A) H Action(H) Packet G Action(G) Forwarding
  • 5. ONOS Use Cases For Service Provider Networks • WAN core backbone – Multiprotocol Label Switching (MPLS) with Traffic Engineering (TE) • Cellular access network – LTE for a metro area • Metro Ethernets – Access network for enterprises • Wired access/aggregation – Access network for homes – DSL/Cable Cellular Metro Core Access 5
  • 6. WAN Traffic Engineering Use Case Scenario ONOS instances Single DC • Single ONOS Cluster in a Data Center* • 8-16 ONOS instances max for storage/compute capacity • Out-of-band connection between ONOS and Switches • O(10)ms delay AT&T Backbone Network (*) Other configurations possible with tradeoffs: e.g., ONOS cluster per region 6
  • 7. WAN Traffic Engineering Use Case Scenario ONOS instances Single DC • Single ONOS Cluster in a Data Center* • 8-16 ONOS instances max • Out-of-band connection between ONOS and Switches • O(10)ms delay • • • • 150 Core Switches (AT&T/Global Crossing) 300 Edge Switches (AT&T/Global Crossing) AT&T Backbone Network 50K edge-to-edge tunnels (Global Crossing) 400K IP prefixes (current BGP table size) (Numbers based on Stanford Ph.D thesis (Saurav Das) and interview with Google & Global Crossing) 7
  • 8. Cellular Core Network Use Case* (*) Based on Jen Rexford’s study at Princeton ONOS nodes Single DC Base O(1) ms delay Station Access Edge ~100 Switches, 1000 Base Stations ~1 million UEs ~10 million flows ~400 Gbps – 2 Tbps Cellular Core Network Gateway Edge ~1K Ues per BS ~10K flows per BS ~1 – 10 Gbps per BS Middle boxes (firewall, IDS, etc.) Internet 8
  • 9. ONOS: Open Network OS Routing TE Mobility Global network view Global Network View Openflow Scale-out Design Packet Forwarding Fault Tolerance Packet Forwarding Programmable Base Station Packet Forwarding
  • 10. Prior Work NOX, POX, Beacon, Floodlight, Trema controllers Single Instance Helios, Midonet, Hyperflow, Maestro, Kandoo, … Distributed control platform for large-scale networks Distributed: ONIX ONIX: closed source; datacenter + virtualization focus ONOS design influenced by ONIX Community needs an open source distributed network OS
  • 11. ONOS Phase 1: Goals December 2012 – December 2013  Demo Key Functionality  Fault-Tolerance: Highly Available control plane  Scale-out: Using distributed architecture  Global Network View: Network Graph abstraction  Non Goals  Performance optimization  Stress testing
  • 13. ONOS High Level Architecture Control Application Applications Control Application Network Graph Distributed Network Graph/State Titan Graph DB Eventually consistent Cassandra In-Memory DHT Distributed Registry Strongly Consistent Coordination Instance 1 OpenFlow Controller+ Scale-out Zookeeper Instance 2 OpenFlow Controller+ Instance 3 OpenFlow Controller+ Host +Floodlight Drivers Host Host
  • 15. ONOS Scale-Out Network Graph Global network view Distributed Network OS Instance 1 Instance 2 Instance 3 Data plane An instance is responsible for maintaining a part of network graph Control capacity can grow with network size or application need
  • 16. ONOS Control Plane Failover Distributed Registry Master Master Switch AA==ONOS 1 Switch NONE Switch A = ONOS 2 Candidates = ONOS 2, Candidates = ONOS 3 ONOS 3 Distributed Network OS Host Master Master Switch AA = NONE Switch = ONOS 1 Switch A = ONOS 2 Candidates = ONOS 2, Candidates = Candidates = ONOS 3 ONOS 3 Instance 1 A Instance 2 Instance 3 E C B Master Master Switch AA==ONOS 1 Switch NONE Switch A = ONOS 2 Candidates = ONOS 2, ONOS 2, Candidates = ONOS 3 ONOS 3 D Host F Host
  • 18. ONOS Network Graph Abstraction Network Graph Id: 106, Label Id: 105, Label Titan Graph DB Id: 2 C Id: 102, Label Id: 101, Label Id: 104, Label Id: 103, Label Cassandra Key/Value Store Id: 1 A Id: 3 B
  • 19. Network Graph port switch on port port host port link port on port host device device  Network state is naturally represented as a graph  Graph has basic network objects like switch, port, device and links  Application writes to this graph & programs the data plane switch
  • 20. Example: Path Computation App on Network Graph flow Flow entry flow Flow path inport Flow entry outport switch switch port switch on port port link port host device port on switch port host device • Application computes path by traversing the links from source to destination • Application writes each flow entry for the path Thus path computation app does not need to worry about topology maintenance
  • 21. Example: A simpler abstraction on network graph? Virtual network objects Edge Port Real network objects Logical Crossbar physical physical port switch Edge Port on port port host device port link port on switch port host device • App or service on top of ONOS • Maintains mapping from simpler to complex Thus makes applications even simpler and enables new abstractions
  • 22. Network Graph and Switches Network Graph: Switches Switch Manager OF OF Switch Manager OF OF Switch Manager OF OF
  • 23. Network Graph and Link Discovery Network Graph: Links Link Discovery SM LLDP Link Discovery SM LLDP Link Discovery SM
  • 24. Devices and Network Graph Network Graph: Devices Device Manager Device Manager Device Manager SM SM SM LD LD LD PKTIN Host PKTIN Host PKTIN Host
  • 25. Path Computation with Network Graph Path Computation Path Computation Path Computation Network Graph: Flow Paths Flow 1 Flow 2 Flow entries Flow entries Flow entries Flow 3 Flow entries Flow entries Flow entries Flow 4 Flow entries Flow entries Flow entries Flow 5 Flow entries Flow entries Flow entries Flow 6 Flow entries Flow entries Flow entries Flow 7 SM Flow entries Flow entries Flow entries Flow entries Flow entries Flow entries Flow 8 Flow entries Flow entries Flow entries LD DM SM LD DM SM LD DM Host Host Host
  • 26. Network Graph and Flow Manager Path Computation Path Computation Path Computation Network Graph: Flows Flow 1 Flow entries Flow entries Flow entries Flow 2 Flow entries Flow entries Flow entries Flow 3 Flow entries Flow entries Flow entries Flow 4 Flow entries Flow entries Flow entries Flow 5 Flow entries Flow entries Flow entries Flow 6 Flow entries Flow entries Flow entries Flow 7 Flow entries Flow entries Flow entries Flow 8 Flow entries Flow entries Flow entries Flow Manager Flowmod Flow Manager Flow Manager Flowmod SM LD DM SM LD DM SM LD DM Host Host Host Flowmod
  • 27. ONOS High Level Architecture Applications Control Application Control Application Network Graph Distributed Network Graph/State Titan Graph DB Eventually consistent Cassandra In-Memory DHT Distributed Registry Strongly Consistent Coordination Instance 1 OpenFlow Controller+ Scale-out Zookeeper Instance 2 OpenFlow Controller+ Instance 3 OpenFlow Controller+ Host +Floodlight Drivers Host Host
  • 28. Reflections/Lessons Learned: Things we got right  Control isolation (sharding)  Divide network into parts and control them exclusively  Load balancing -> we can do more  Distributed data store  That scales with controller nodes with HA -> though we need low latency distributed data store  Dynamic controller assignment to parts of network  Dynamically assign which part of network is controlled by which controller instance -> we can do better with sophisticated algorithms  Graph abstraction of network state  Easy to visualize and correlate with topology  Enables several standard graph algorithms 28
  • 29. Reflections/Lessons Learned: Limitations  Performance  Several layers of open source sw means lower performance  Very little visibility under-the-hood  Different types of network state treated the same way  Debuggability  Debugging for performance as well as correctness is difficult due to lack of visibility  Cannot customize to our needs  Heavyweight building blocks  Spectrum of use cases  Routing, TE, and BGP are the only use cases tried – need more  Features  Meant to be a prototype and so didn’t consider config, measurements, … 29
  • 30. Next Phase: Architectural Directions • Optimize for different types of network state  Identify different types of network state and usage patterns  Quantify the requirements for each type of state  Understand the performance needs and strategize for optimal usage  Control over sharding  Optimize for different types of network states  Lockless concurrent operations on network state  Customize our data model to our sharding  Maximize local reads/writes  Reduce need for remote read/writes as far as possible  Use lean and high performance open source if possible  For example reduce dependency on general purpose open source DHT  Engage network providers and vendors  Feature set and use cases
  • 31. ONOS: Many Challenges Ahead … Goal: Functionality with performance, visibility, customization  Modular building blocks  Swap-in and out with commercial or different open-source components  Low latency distributed data store and state synchronization  Low latency events and notifications  Distributed state management  Choice of consistency models for different network state  CAP theorem implications on applications programming  Sharding and replication of network state  Optimize handling different types of network states (replicate/shard)  Optimize data models for our purpose  Lockless concurrent operation on the network states  Northbound Abstraction  Network Graph API for applications • Hierarchical control - Recursive SDN (with Berkeley) 31
  • 33. onos.onlab.us The ONOS team:       Pankaj Berde Masayoshi Kobayashi Brian O’Conner Rachel Sverdlov Naoki Shiota William Snow       Pavlin Radoslavov Jonathan Hart Pingping Lin Suibin Zhang Yuta Higuchi Guru Parulkar

Editor's Notes

  1. Introduction:Acronym ONOS -> Open Network Operating System -> Platform to open networks to realize pure SDN
  2. OpenFlow provides a simple forwarding abstraction by create rules on the data plane. A packet is matched against a rule and action of the rule is determined. The packet takes the path determined by the this simple match/action rules.
  3. ----- Meeting Notes (11/20/13 22:24) -----The focus for ONOS has been service provider networks.A service provider network is has a core back bone network and various access networks attached to them.The typical WAN core backbone is programmed using MPLS and a application to allocate resources and capacity to various traffic needs is called Traffic Engineering.Similarly the various access networks like cellular, metro or wired access network have their own characteristics and applications.For this discussion we will drill down a bit on Traffic Engineering
  4. ----- Meeting Notes (11/20/13 23:20) -----This is a picture of AT&T backbone networkHere you see various metro regions are connected with high bandwidth connectivity. Lets assume that we are controlling the complete core network using a single cluster of ONOS servers. Typically we will need 8-16 servers to control similar network. ONOS controls the core switches using an out-of-band connection. Typical latency between the switch and ONOS is around 10-50 ms.
  5. ----- Meeting Notes (11/20/13 23:20) -----Lets see some sizing information on a core backbone bases on prior research on AT&T and Global Crossing's core networks.
  6. ----- Meeting Notes (11/20/13 23:20) -----Just like the Core network we are trying to understand the control plane needs for a Cellular core network. We are working closely with Jen Rexford and her student from Princeton.Based on their study we can show a cellular core network and how ONOS would control it. On a cellular network the end devices are shown as user agents on this network which initiate all the requests. The user agent or the end devices connect to a base station and intiates the traffic request. There are several base stations spread across the metro and these base stations aggregate into a cellular cell network which forwards the traffic out to internet on edge gateways. All the traffic eventually aggregates into these gateway edges. ONOS can control all these swtiches using a single cluster with out-of-band connection to the swtiches.Here are some effort to size this network.
  7. This is a clean SDN reference architecture. There are three questions we still need to answer. Number 1, will the Network OS become a performance bottleneck? Or can we scale the Network OS horizontally as we need more horse power? Number 2, will the Network OS become a single point of failure? Or can we make the Network OS and the control plane fault tolerant? The third question has to do with Northbound API. What is the best abstraction the Network OS can offer to application writers that enables reusable and pluggable network control and management applications? ONOS attempts to address exactly these issues…
  8. ONIX did attempt to solve these issues. There are few more efforts. To enable more research in this area community needs an open distributed NOS.
  9. Started in December with a primary goal to demonstrate we can build ONOS with scale-out distributed architecture which has high-availability and global network view as network graph.----- Meeting Notes (11/20/13 17:23) -----reactive flows should be dropped
  10. Built on two distributed data constructs1> Network Graph which is the global network view containing the network state represented as a graph which is eventually consistent2> Distributed Registry is the global cluster management state stored in Zookeeper using transactional consistency.Multiple instances of ONOS control different parts of network and help realize a single global network view by cooperatively using these two distributed data constructs.----- Meeting Notes (5/15/13 14:21) -----Distribruted Registry keeps information on who is in control of the switch objects and has write permissions to update the network graph. In general it stores the resource ownership in a strongly consistent way.----- Meeting Notes (7/29/13 12:57) -----order animationremove floodlight
  11. A part of network is solely controlled by a single ONOS instance and the same instance is also solely responsible for maintaining the state of the partition into the network graph. [We also refer this as Control isolation.] This enables simpler scale-out design. As the network grows beyond the control capacity one can add another instance which will be responsible for a new part of network . As this part is realized into Network Graph, applications will get a global network view.----- Meeting Notes (7/29/13 12:57) -----Fix animation
  12. Switch A is being controlled by Instance 1 and the registry shows it as master for switch A.Instance 1 has a failure and dies.Registry detects that instance 1 is down and release the mastership for Switch A. Remaining candidates join the mastership election within registry. Lets say Instance 2 wins the election and is marked in registry as the master for Switch A.The channel with Instance 2 becomes the active channel and other channel becomes passive.This enables a quick failover of switch when there is a control plane failure.----- Meeting Notes (7/29/13 12:57) -----Mention strong consistency and elegent coordination
  13. Network graph is organized as a graph database. Vertices as network objects and connected by edges as relation between the vertices.We use Titan as graph DB with Cassandra as its backend. Cassandra is eventually consistent
  14. Network is naturally a graph with switches, ports, devices as objects as vertices. Similarly links and attachment points are modeled as edges.Applications can traverse and write to this graph to program the data plane. How? Lets look at this example application
  15. Path Computation is an application which is using Network Graph. The application can find a path from source to destination by traversing links and program this path with flow entries to create a flow-path. These flow-entries are translated by ONOS core into flow table rules and pushed onto the topology. Last bullet: Application is made simple and stateless. It does not need to worry about topology maintenance.----- Meeting Notes (5/14/13 14:16) -----start without text. Bring in text at end and make one point
  16. Network graph simplifies applications but can it be used to accelerate innovations of simpler abstractions in control plane?Here is an example of Logical Crossbar. The complexity of network state and topology is hidden. One can build hierarchy of these abstractions further hiding the complexity. Last bullet: We feel network graph will unlock innovations.7 minute Marker
  17. Let us see how ONOS builds the network graph. Each ONOS node has a switch manager. When switches connect, switches and ports are get added as switches register with an ONOS node. When switches disconnect, they get marked as inactive in the network graph.
  18. Each node sends out LLDP on the switches connected to it. Links with source and destination port controlled by different ONOS nodes can also be discovered using the network graph.
  19. Host packet Ins are used to learn about devices, their attachment points. The network graph is updated with this information.
  20. Flow paths are provisioned in ONOS.The source dpid of a flow is used to partition which node will compute the path. Computed paths and flow entries are also stored in the network graph.Flow entries have relationship to the switches.
  21. Each flow manager programs the switches connected to it using the state in the network graph.When a link fails, PC will recompute a new path and Flow Manager will push new flow entries.
  22. Built on two distributed data constructs1> Network Graph which is the global network view containing the network state represented as a graph which is eventually consistent2> Distributed Registry is the global cluster management state stored in Zookeeper using transactional consistency.Multiple instances of ONOS control different parts of network and help realize a single global network view by cooperatively using these two distributed data constructs.----- Meeting Notes (5/15/13 14:21) -----Distribruted Registry keeps information on who is in control of the switch objects and has write permissions to update the network graph. In general it stores the resource ownership in a strongly consistent way.----- Meeting Notes (7/29/13 12:57) -----order animationremove floodlight
  23. ----- Meeting Notes (11/20/13 23:20) -----We got few things right. Partitioning the network into parts to be controlled exclusively helps in basic load balancing. And ofcourse we could do better.Scalability and HA was weill handled using distributed data stores.Dynamic fail-over and assignment of part of network to controller helps very well in HA. We could have done better using sophisticated algorithms.Network Graph as northbound abstraction is appealing to many and we can do better by formalizing a graph model for ONOS.
  24. ----- Meeting Notes (11/20/13 17:49) -----Limitations:1> Performance2> Debuggability3> Lack of use cases4> several features are miissingNext phase:architectural directions1> state usage pattern2> control over sharding3> Customizing to data model to our sharding (Maximize local reads/writes)3> Using lean and high perfomance open source4> Engaging network providers and vendors for use cases----- Meeting Notes (11/20/13 23:20) -----ONOS has few limitationsFirst we have several features missing and as we learn we will add them.Open source tools are good for rapid prototype but do not help in customizng to our performance needs.While designing and developing we lacked several use cases and may have incorrect assumptions on network state. Now we are investigating different types of network states and their usage patterns.Debugging ONOS is not easy due to lack of visibility of open source tools under-the-hood.
  25. Started in December with a primary goal to demonstrate we can build ONOS with scale-out distributed architecture which has high-availability and global network view as network graph.----- Meeting Notes (11/20/13 17:33) -----drop the non-goalsdemonstrate service provider use cases
  26. ----- Meeting Notes (11/20/13 17:49) -----hierarchical control plane at the endcombine under-> Modular building blocks-> Distributed state management-> Sharding and repllication-> Northbound abstraction
  27. In this demo we will create isolated virtual networks, each with their own topology. Each virtual network is connected to its own network operating system. Finally, we show demonstrate the resiliency features of OVX.