SlideShare una empresa de Scribd logo
1 de 91
Descargar para leer sin conexión
ONOS
Building a Distributed, Network Operating System
Madan Jampani & Brian O'Connor
BANV Meetup
3/16/2015
Outline
● A simple example as motivation
● ONOS Architecture
● Distributed primitives for managing state
● APIs and a template for implementation
● Intent Framework
● Live Demo
● Q/A
Problem: Set up a Flow
Topology Discovery
Path Computation
Path Selection
Switch FlowEntry
S1 ...
S2 ...
S3 ...
Compute Flow Mods
Switch FlowEntry
S1 ...
S2 ...
S3 ...
Install Flow Mods
Switch FlowEntry
S1 ...
S2 ...
S3 ...
Topology Monitoring
Flow Repair
Wishlist
● Global Network View
● Path Computation
● Flow Mod Computation / Installation
● Monitor and React to network events
Do all this with...
● High Availability
● At Scale
Wishlist
● Global Network View
● Path Computation
● Flow Mod Computation / Installation
● Monitor and React to network events
● High Availability and Scale
Support variety of
devices and protocols
Wishlist
● Global Network View
● Path Computation
● Flow Mod Computation/Installation
● Monitor and React to events
● High Availability and Scale
● Extensible and Abstracted Southbound
Managing Complexity
NAT
Firewall
Wishlist
● Global Network View
● Path Computation
● Flow Mod Computation/Installation
● Monitor and React to events
● High Availability and Scale
● Pluggable Southbound
● Modularity and Customizability
Note: We've also done this exercise on more complex, real-world use cases.
You can read more about them in the wiki: https://wiki.onosproject.org/display/ONOS/ONOS+Use+Cases
ONOS Architecture Tiers
Northbound - Application Intent Framework
(policy enforcement, conflict resolution)
OpenFlow NetConf . . .
AppsApps
Distributed Core
(scalability, availability, performance, persistence)
Southbound
(discover, observe, program, configure)
Distributed Core
● Distributed state management framework
○ built for high availability and scale-out
● Different types of state require different handling
○ fully replicated and eventually consistent
○ partitioned and strongly consistent
Distributed Core
● Global Network View
● Scaling strong consistency
“Tell me about your slice?”
Cache
“Tell me about your slice?”
Topology
Events
Distributed
Topology
Store
Write
Topology
State
Distributed
Topology
Store
Read
Topology
State
Cache
Distributed
Topology
Store
Read
Topology
State
Cache
Distributed
Topology
Store
Read
Topology
State
Topology as a State Machine
Events are Switch/Port/Link up/down
Current
Topology
Updated
Topology
apply event
E
E E
E
E
F
F E
C1C2C1
1 2 3
Switch Mastership Terms
We track this in a strongly
consistent store
2.1 2.2 2.3 2.4 2.5 2.61.41.2 1.31.1 3.2 3.33.12.7 2.8
C1C2C1
1 2 3
Switch Event Numbers
Partial Ordering of Topology Events
Each event has a unique logical timestamp
(Switch ID, Term Number, Event Number)
E (S1, 1, 2)
E E
E
(S1, 1, 2)
(S1, 1, 2)
(S1, 1, 2)
F
(S1, 2, 1)
F
F
(S1, 2, 1)
(S1, 2, 1)
F
F
(S1, 2, 1)
(S1, 2, 1) (S1, 1, 2)
E
F
F
(S1, 2, 1)
(S1, 2, 1) (S1, 1, 2)
E
To summarize
● Each instance has a full copy of network topology
● Events are timestamped on arrival and broadcasted
● Stale events are dropped on receipt
There is one additional step...
What about dropped messages?
Anti-Entropy
Lightweight, Gossip style, peer-to-peer
Quickly bootstraps newly joined nodes
A model for state tracking
If you are the observer, Eventual Consistency is the best
option
View should be consistent with the network, not with other
views
Hiding the complexity
EventuallyConsistentMap<K, V, T>
Plugin your own timestamp generation
Other Control Plane state...
● Switch to Controller mapping
● Resource Allocations
● Flows
● Various application generated state
In all case strong consistency is either required or highly
desirable
Consistency => Coordination
2PC
All participants need to be available
Consensus
Only a majority need to participate
State Consistency through Consensus
LOG
LOG LOG LOG LOG LOG LOG
Scaling Consistency
Scaling Consistency
Scaling Consistency
Consistency Cost
● Atomic updates within a shard are “cheap”
● Atomic updates spanning shards use 2PC
Hiding Complexity
ConsistentMap<K, V>
Outline
● A simple example as motivation
● ONOS Architecture
● Distributed primitives for managing state
● APIs and a template for implementation
● Intent Framework
● Live Demo
● Q/A
ONOS Architecture Tiers
Northbound - Application Intent Framework
(policy enforcement, conflict resolution)
OpenFlow NetConf . . .
AppsApps
Distributed Core
(scalability, availability, performance, persistence)
Southbound
(discover, observe, program, configure)
Northbound Abstraction:
- network graph
- application intents
Core:
- distributed
- protocol independent
Southbound Abstraction:
- generalized OpenFlow
- pluggable & extensible
ONOS Service APIs
"Southbound"
● Device
● Link
● Host
● Statistics
● Flow Rule
● Packet
● Resource
● Providers
"Northbound"
● Topology
● Path
● Intent
"Core"
● Core
● Application
● Cluster
● Communication
● Event Delivery
● Storage
● Leadership
● Mastership
...
Manager
Component
ONOS Core Subsystem Structure
Adapter
Component
Adapter
Component
App
Component
ServiceAdminService
Listener
notify
command
command
sync & persist
add & remove
query &
command
App
Component
Adapter
Component
Manager
Component
AdapterRegistry
Adapter
AdapterService
ServiceAdminService
Listener
notify
register & unregister
command
command
sensing
add & remove
query &
command
Store Store
Protocols
sync & persist
Adapter
Component
AdapterRegistry
Adapter
AdapterService
register & unregistersensing
Protocols
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
public final class HostToHostIntent extends ConnectivityIntent {
private final HostId one;
private final HostId two;
public HostToHostIntent(ApplicationId appId,
HostId one, HostId two);
public HostToHostIntent(ApplicationId appId, Key key,
HostId one, HostId two,
TrafficSelector selector,
TrafficTreatment treatment,
List<Constraint> constraints);
}
Intent Example
COMPILATION
Path IntentPath Intent
Host to Host Intent
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 Example
Host to Host Intent
public class HostToHostIntentCompiler extends ConnectivityIntentCompiler<HostToHostIntent> {
@Override
public List<Intent> compile(HostToHostIntent intent, ...) {
Host one = hostService.getHost(intent.one());
Host two = hostService.getHost(intent.two());
// compute paths
Set<Path> paths = pathService.getPaths(intent.one(), intent.two(), intent.constraints());
// select paths
Path pathOne = bestPath(intent, paths);
Path pathTwo = invertPath(pathOne); // reverse path using same links
// create intents
PathIntent fwdPath = createPathIntent(pathOne, one, two, intent);
PathIntent revPath = createPathIntent(pathTwo, two, one, intent);
return Arrays.asList(fwdPath, revPath);
}
}
Intent Example
COMPILATION
INSTALLATION
Flow Rule Batch Flow Rule Batch
Flow Rule BatchFlow Rule Batch
Path IntentPath Intent
Host to Host Intent
Intent Installers
• Transform Intents into device commands
• Allocate / deallocate network resources
• Define scheduling dependencies for workers
• “Stateless”
interface IntentInstaller<T extends Intent> {
List<Collection<FlowRuleOperation>> install(T intent);
List<Collection<FlowRuleOperation>> uninstall(T intent);
List<Collection<FlowRuleOperation>> replace(T oldIntent, T newIntent);
}
Intent Example
COMPILATION
Path IntentPath Intent
Host to Host Intent
public class PathIntentInstaller implements IntentInstaller<PathIntent> {
@Override
public List<Collection<FlowRuleOperation>> install(PathIntent intent) {
LinkResourceAllocations allocations = allocateResources(intent);
Set<FlowRuleOperation> rules = Sets.newHashSet();
for (Link link : intent.path().links()) {
FlowRule rule = createFlowRule(link, intent);
rules.add(new FlowRuleOperation(rule, FlowRuleOperation.Type.ADD));
}
return Lists.newArrayList(rules);
@Override
public List<Collection<FlowRuleOperation>> uninstall(PathIntent intent) {...}
@Override
public List<Collection<FlowRuleOperation>> replace(PathIntent oldIntent, PathIntent newIntent) {...}
}
Intent Framework Design
Southbound
Physical Network
Host to Host
Intent Compiler
Path Intent
Installer
Path Intent
Installer
Applications
Intent Service API
IntentExtension
ServiceAPI
Intent
Manager
Intent Store
Intent
Objective
Tracker
Intent
Worker
Core
Topology API Resource API …Flow Rule Service API
Intent Framework API
package org.onosproject.net.intent; // filepath: onos/core/api/net/intent/
public abstract class Intent {
private final IntentId id; // internal, unique ID
private final ApplicationId appId; // originating application
private final Key key; // user define key for this "policy"
private final Collection<NetworkResource> resources;
// constructors and getters
}
public interface IntentService {
void submit(Intent intent);
void withdraw(Intent intent);
Intent getIntent(Key key);
// other methods and listener registration
}
Intent Manager
package org.onosproject.net.intent.impl; // filepath: onos/core/net/intent/impl
@Component
@Service
public class IntentManager implements IntentService, IntentExtensionService {
// Dependencies
protected CoreService coreService; // used to generate blocks of unique, internal intent IDs
protected IntentStore store; // stores all intents in the system;
// delegates work to be be done to master
protected ObjectiveTrackerService trackerService; // listens to network events and
// triggers recomputation when required
protected EventDeliveryService eventDispatcher; // used for managing listeners and
// dispatching events
protected FlowRuleService flowRuleService; // responsible for installing flow rules and
// reporting success or failure
// ... implementation of service methods
}
Intent Store
• Key to HA and Scale-Out
• Work is delegated to specific cluster nodes
through logical partitions based on Intent key
• Execution steps designed to be idempotent
– However, when resources are required, duplicate
request will be detected and handled
• Failures can be detected by store, and work can
be reassigned by electing new leader for partition
Intent Store
package org.onosproject.store.intent.impl; // filepath: onos/core/store/dist/intent/impl
@Component
@Service
public class GossipIntentStore extends AbstractStore<IntentEvent, IntentStoreDelegate>
implements IntentStore {
private EventuallyConsistentMap<Key, IntentData> currentMap;
private EventuallyConsistentMap<Key, IntentData> pendingMap;
// Dependencies
protected ClusterService clusterService; // provides information about nodes in cluster
protected ClusterCommunicationService clusterCommunicator; // provides communication
// mechanism for map updates
protected PartitionService partitionService; // gets partition for Intent by key;
// elects and maintains leader for each partition
// ... implementation of IntentStore methods
}
Intent Subsystem Design
i
i
ii ii ii
(Batch) & Distribute
Delegate
(on key)
Batch & Process
compile & install
Update
submit / withdraw
add
process
Update
store write
store write
notify
i
i
i
i
App
StoreManager
Flow, Topology, etc.
Events
retry
Design Modularity
• Intents, Compilers, and Installers 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
What's Next?
● Join ONOS mailing lists
○ https://wiki.onosproject.org/display/ONOS/ONOS+Mailing+Lists
○ Don’t hesitate to engage with ONOS developers & community
● Try some of the tutorials
○ https://wiki.onosproject.org/display/ONOS/Tutorials+and+Walkthroughs
● Download the source code:
○ https://gerrit.onosproject.org/ (main developer repository)
○ https://github.com/opennetworkinglab/onos (read-only mirror)
● Check out the ONOS API Javadoc
○ http://api.onosproject.org/
● Fix (or file) a bug
○ https://jira.onosproject.org/
● Visit the main project page and wiki
○ http://onosproject.org/ and https://wiki.onosproject.org/
Outline
● A simple example as motivation
● ONOS Architecture
● Distributed primitives for managing state
● APIs and a template for implementation
● Intent Framework
● Live Demo
● Q/A
Live Demo
Outline
● A simple example as motivation
● ONOS Architecture
● Distributed primitives for managing state
● APIs and a template for implementation
● Intent Framework
● Live Demo
● Q/A

Más contenido relacionado

La actualidad más candente

Software Defined Networks
Software Defined NetworksSoftware Defined Networks
Software Defined NetworksShreeya Shah
 
Open vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NATOpen vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NATThomas Graf
 
Software-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief IntroductionSoftware-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief IntroductionJason TC HOU (侯宗成)
 
Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조Seung-Hoon Baek
 
NFV Management and Orchestration 분석
NFV Management and Orchestration 분석NFV Management and Orchestration 분석
NFV Management and Orchestration 분석rootfs32
 
Introduction to SDN and NFV
Introduction to SDN and NFVIntroduction to SDN and NFV
Introduction to SDN and NFVCoreStack
 
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124  | Las Vegas 2017Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124  | Las Vegas 2017
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017Bruno Teixeira
 
[MeetUp][2nd] 오리뎅이의_쿠버네티스_네트워킹_v1.2
[MeetUp][2nd] 오리뎅이의_쿠버네티스_네트워킹_v1.2[MeetUp][2nd] 오리뎅이의_쿠버네티스_네트워킹_v1.2
[MeetUp][2nd] 오리뎅이의_쿠버네티스_네트워킹_v1.2InfraEngineer
 
Introduction to SDN: Software Defined Networking
Introduction to SDN: Software Defined NetworkingIntroduction to SDN: Software Defined Networking
Introduction to SDN: Software Defined NetworkingAnkita Mahajan
 
GRE (Generic Routing Encapsulation)
GRE (Generic Routing Encapsulation)GRE (Generic Routing Encapsulation)
GRE (Generic Routing Encapsulation)NetProtocol Xpert
 
Sdn presentation
Sdn presentation Sdn presentation
Sdn presentation Frikha Nour
 
Software Defined Network (SDN)
Software Defined Network (SDN)Software Defined Network (SDN)
Software Defined Network (SDN)Ahmed Ayman
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & EcosystemKingston Smiler
 
Introduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFVIntroduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFVKingston Smiler
 
Mininet introduction
Mininet introductionMininet introduction
Mininet introductionVipin Gupta
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)Milson Munakami
 
Open source sdn controllers comparison
Open source sdn controllers comparisonOpen source sdn controllers comparison
Open source sdn controllers comparisonYashaswi Jain
 
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 NetworkingThomas Graf
 

La actualidad más candente (20)

Software Defined Networks
Software Defined NetworksSoftware Defined Networks
Software Defined Networks
 
Open vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NATOpen vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NAT
 
Software-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief IntroductionSoftware-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief Introduction
 
Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조
 
SDN Presentation
SDN PresentationSDN Presentation
SDN Presentation
 
NFV Management and Orchestration 분석
NFV Management and Orchestration 분석NFV Management and Orchestration 분석
NFV Management and Orchestration 분석
 
Introduction to SDN and NFV
Introduction to SDN and NFVIntroduction to SDN and NFV
Introduction to SDN and NFV
 
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124  | Las Vegas 2017Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124  | Las Vegas 2017
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017
 
[MeetUp][2nd] 오리뎅이의_쿠버네티스_네트워킹_v1.2
[MeetUp][2nd] 오리뎅이의_쿠버네티스_네트워킹_v1.2[MeetUp][2nd] 오리뎅이의_쿠버네티스_네트워킹_v1.2
[MeetUp][2nd] 오리뎅이의_쿠버네티스_네트워킹_v1.2
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Introduction to SDN: Software Defined Networking
Introduction to SDN: Software Defined NetworkingIntroduction to SDN: Software Defined Networking
Introduction to SDN: Software Defined Networking
 
GRE (Generic Routing Encapsulation)
GRE (Generic Routing Encapsulation)GRE (Generic Routing Encapsulation)
GRE (Generic Routing Encapsulation)
 
Sdn presentation
Sdn presentation Sdn presentation
Sdn presentation
 
Software Defined Network (SDN)
Software Defined Network (SDN)Software Defined Network (SDN)
Software Defined Network (SDN)
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & Ecosystem
 
Introduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFVIntroduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFV
 
Mininet introduction
Mininet introductionMininet introduction
Mininet introduction
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)
 
Open source sdn controllers comparison
Open source sdn controllers comparisonOpen source sdn controllers comparison
Open source sdn controllers comparison
 
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
 

Destacado

Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa RojasClash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa RojasOpenNebula Project
 
ONOS Platform Architecture
ONOS Platform ArchitectureONOS Platform Architecture
ONOS Platform ArchitectureOpenDaylight
 
Onos summit roadmap dec 9
Onos summit  roadmap dec 9Onos summit  roadmap dec 9
Onos summit roadmap dec 9ONOS Project
 
ONOS Open Network Operating System
ONOS Open Network Operating SystemONOS Open Network Operating System
ONOS Open Network Operating SystemON.Lab
 
ONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testsangyun han
 
Introduction of ONOS and core technology
Introduction of ONOS and core technologyIntroduction of ONOS and core technology
Introduction of ONOS and core technologysangyun han
 
Tools and Platforms for OpenFlow/SDN
Tools and Platforms for OpenFlow/SDNTools and Platforms for OpenFlow/SDN
Tools and Platforms for OpenFlow/SDNUmesh Krishnaswamy
 
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
 
Sdnds tw-meetup-2
Sdnds tw-meetup-2Sdnds tw-meetup-2
Sdnds tw-meetup-2Fei Ji Siao
 
ONOS Falcon planning presentation
ONOS Falcon planning presentationONOS Falcon planning presentation
ONOS Falcon planning presentationBill Snow
 
『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』Juniper Networks (日本)
 
Personal Cloud Operating Systems
Personal Cloud Operating SystemsPersonal Cloud Operating Systems
Personal Cloud Operating SystemsPhil Windley
 
OVNC 2015-Enabling Software-Defined Transformation of Service Provider Networks
OVNC 2015-Enabling Software-Defined Transformation of Service Provider NetworksOVNC 2015-Enabling Software-Defined Transformation of Service Provider Networks
OVNC 2015-Enabling Software-Defined Transformation of Service Provider NetworksNAIM Networks, Inc.
 
Inter-controller Traffic in ONOS Clusters for SDN Networks
Inter-controller Traffic in ONOS Clusters for SDN Networks Inter-controller Traffic in ONOS Clusters for SDN Networks
Inter-controller Traffic in ONOS Clusters for SDN Networks Paolo Giaccone
 
Tech Talk by Ben Pfaff: Open vSwitch - Part 2
Tech Talk by Ben Pfaff: Open vSwitch - Part 2Tech Talk by Ben Pfaff: Open vSwitch - Part 2
Tech Talk by Ben Pfaff: Open vSwitch - Part 2nvirters
 
2016 COSCUP SDN Introduction
2016 COSCUP SDN Introduction2016 COSCUP SDN Introduction
2016 COSCUP SDN IntroductionYi Tseng
 

Destacado (20)

Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa RojasClash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
 
ONOS
ONOSONOS
ONOS
 
ONOS Platform Architecture
ONOS Platform ArchitectureONOS Platform Architecture
ONOS Platform Architecture
 
Onos summit roadmap dec 9
Onos summit  roadmap dec 9Onos summit  roadmap dec 9
Onos summit roadmap dec 9
 
Open Network Operating System
Open Network Operating SystemOpen Network Operating System
Open Network Operating System
 
ONOS Open Network Operating System
ONOS Open Network Operating SystemONOS Open Network Operating System
ONOS Open Network Operating System
 
ONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and test
 
Introduction of ONOS and core technology
Introduction of ONOS and core technologyIntroduction of ONOS and core technology
Introduction of ONOS and core technology
 
Tools and Platforms for OpenFlow/SDN
Tools and Platforms for OpenFlow/SDNTools and Platforms for OpenFlow/SDN
Tools and Platforms for OpenFlow/SDN
 
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)
 
Sdnds tw-meetup-2
Sdnds tw-meetup-2Sdnds tw-meetup-2
Sdnds tw-meetup-2
 
ONOS Falcon planning presentation
ONOS Falcon planning presentationONOS Falcon planning presentation
ONOS Falcon planning presentation
 
『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』
 
Personal Cloud Operating Systems
Personal Cloud Operating SystemsPersonal Cloud Operating Systems
Personal Cloud Operating Systems
 
OVNC 2015-Enabling Software-Defined Transformation of Service Provider Networks
OVNC 2015-Enabling Software-Defined Transformation of Service Provider NetworksOVNC 2015-Enabling Software-Defined Transformation of Service Provider Networks
OVNC 2015-Enabling Software-Defined Transformation of Service Provider Networks
 
Inter-controller Traffic in ONOS Clusters for SDN Networks
Inter-controller Traffic in ONOS Clusters for SDN Networks Inter-controller Traffic in ONOS Clusters for SDN Networks
Inter-controller Traffic in ONOS Clusters for SDN Networks
 
Tech Talk by Ben Pfaff: Open vSwitch - Part 2
Tech Talk by Ben Pfaff: Open vSwitch - Part 2Tech Talk by Ben Pfaff: Open vSwitch - Part 2
Tech Talk by Ben Pfaff: Open vSwitch - Part 2
 
Operating system
Operating systemOperating system
Operating system
 
2016 COSCUP SDN Introduction
2016 COSCUP SDN Introduction2016 COSCUP SDN Introduction
2016 COSCUP SDN Introduction
 
Event Plan Template
Event Plan TemplateEvent Plan Template
Event Plan Template
 

Similar a Tech Talk: ONOS- A Distributed SDN Network Operating System

software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllerssoftware defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllersIsaku Yamahata
 
Network visibility and control using industry standard sFlow telemetry
Network visibility and control using industry standard sFlow telemetryNetwork visibility and control using industry standard sFlow telemetry
Network visibility and control using industry standard sFlow telemetrypphaal
 
Software defined network and Virtualization
Software defined network and VirtualizationSoftware defined network and Virtualization
Software defined network and Virtualizationidrajeev
 
Serverless London 2019 FaaS composition using Kafka and CloudEvents
Serverless London 2019   FaaS composition using Kafka and CloudEventsServerless London 2019   FaaS composition using Kafka and CloudEvents
Serverless London 2019 FaaS composition using Kafka and CloudEventsNeil Avery
 
Taming Deployment With Smart Frog
Taming Deployment With Smart FrogTaming Deployment With Smart Frog
Taming Deployment With Smart FrogSteve Loughran
 
Jack Gudenkauf sparkug_20151207_7
Jack Gudenkauf sparkug_20151207_7Jack Gudenkauf sparkug_20151207_7
Jack Gudenkauf sparkug_20151207_7Jack Gudenkauf
 
A noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­tica
A noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­ticaA noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­tica
A noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­ticaData Con LA
 
Understanding Spark Structured Streaming
Understanding Spark Structured StreamingUnderstanding Spark Structured Streaming
Understanding Spark Structured StreamingKnoldus Inc.
 
Web Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdfWeb Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdfSamHoney6
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerHolger Winkelmann
 
CampusSDN2017 - Jawdat: SDN Technology Evolvement
CampusSDN2017 - Jawdat: SDN Technology EvolvementCampusSDN2017 - Jawdat: SDN Technology Evolvement
CampusSDN2017 - Jawdat: SDN Technology EvolvementJawdatTI
 
Threading Successes 03 Gamebryo
Threading Successes 03   GamebryoThreading Successes 03   Gamebryo
Threading Successes 03 Gamebryoguest40fc7cd
 
SDN Controller - Programming Challenges
SDN Controller - Programming ChallengesSDN Controller - Programming Challenges
SDN Controller - Programming Challengessnrism
 
Flink Forward SF 2017: Srikanth Satya & Tom Kaitchuck - Pravega: Storage Rei...
Flink Forward SF 2017: Srikanth Satya & Tom Kaitchuck -  Pravega: Storage Rei...Flink Forward SF 2017: Srikanth Satya & Tom Kaitchuck -  Pravega: Storage Rei...
Flink Forward SF 2017: Srikanth Satya & Tom Kaitchuck - Pravega: Storage Rei...Flink Forward
 
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes DownDebugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes DownAspen Mesh
 
Continuous Application with Structured Streaming 2.0
Continuous Application with Structured Streaming 2.0Continuous Application with Structured Streaming 2.0
Continuous Application with Structured Streaming 2.0Anyscale
 
Python Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkPython Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkAljoscha Krettek
 
Barista: Event-centric NOS Composition Framework for SDN
Barista: Event-centric NOS Composition Framework for SDNBarista: Event-centric NOS Composition Framework for SDN
Barista: Event-centric NOS Composition Framework for SDNBoanLabDKU
 
Introduction to Apache Heron
Introduction to Apache HeronIntroduction to Apache Heron
Introduction to Apache HeronStreamlio
 

Similar a Tech Talk: ONOS- A Distributed SDN Network Operating System (20)

software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllerssoftware defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllers
 
Network visibility and control using industry standard sFlow telemetry
Network visibility and control using industry standard sFlow telemetryNetwork visibility and control using industry standard sFlow telemetry
Network visibility and control using industry standard sFlow telemetry
 
Software defined network and Virtualization
Software defined network and VirtualizationSoftware defined network and Virtualization
Software defined network and Virtualization
 
Serverless London 2019 FaaS composition using Kafka and CloudEvents
Serverless London 2019   FaaS composition using Kafka and CloudEventsServerless London 2019   FaaS composition using Kafka and CloudEvents
Serverless London 2019 FaaS composition using Kafka and CloudEvents
 
Taming Deployment With Smart Frog
Taming Deployment With Smart FrogTaming Deployment With Smart Frog
Taming Deployment With Smart Frog
 
Jack Gudenkauf sparkug_20151207_7
Jack Gudenkauf sparkug_20151207_7Jack Gudenkauf sparkug_20151207_7
Jack Gudenkauf sparkug_20151207_7
 
A noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­tica
A noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­ticaA noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­tica
A noETL Parallel Streaming Transformation Loader using Spark, Kafka­ & Ver­tica
 
Understanding Spark Structured Streaming
Understanding Spark Structured StreamingUnderstanding Spark Structured Streaming
Understanding Spark Structured Streaming
 
Web Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdfWeb Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdf
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
 
CampusSDN2017 - Jawdat: SDN Technology Evolvement
CampusSDN2017 - Jawdat: SDN Technology EvolvementCampusSDN2017 - Jawdat: SDN Technology Evolvement
CampusSDN2017 - Jawdat: SDN Technology Evolvement
 
Threading Successes 03 Gamebryo
Threading Successes 03   GamebryoThreading Successes 03   Gamebryo
Threading Successes 03 Gamebryo
 
SDN Controller - Programming Challenges
SDN Controller - Programming ChallengesSDN Controller - Programming Challenges
SDN Controller - Programming Challenges
 
Flink Forward SF 2017: Srikanth Satya & Tom Kaitchuck - Pravega: Storage Rei...
Flink Forward SF 2017: Srikanth Satya & Tom Kaitchuck -  Pravega: Storage Rei...Flink Forward SF 2017: Srikanth Satya & Tom Kaitchuck -  Pravega: Storage Rei...
Flink Forward SF 2017: Srikanth Satya & Tom Kaitchuck - Pravega: Storage Rei...
 
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes DownDebugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
 
Continuous Application with Structured Streaming 2.0
Continuous Application with Structured Streaming 2.0Continuous Application with Structured Streaming 2.0
Continuous Application with Structured Streaming 2.0
 
Python Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkPython Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on Flink
 
Barista: Event-centric NOS Composition Framework for SDN
Barista: Event-centric NOS Composition Framework for SDNBarista: Event-centric NOS Composition Framework for SDN
Barista: Event-centric NOS Composition Framework for SDN
 
Introduction to Apache Heron
Introduction to Apache HeronIntroduction to Apache Heron
Introduction to Apache Heron
 

Más de nvirters

Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...
Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...
Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...nvirters
 
Tech Talk by Peng Li: Open Mobile Networks with NFV
Tech Talk by Peng Li: Open Mobile Networks with NFVTech Talk by Peng Li: Open Mobile Networks with NFV
Tech Talk by Peng Li: Open Mobile Networks with NFVnvirters
 
Tech Talk by Louis Fourie: SFC: technology, trend and implementation
Tech Talk by Louis Fourie: SFC: technology, trend and implementationTech Talk by Louis Fourie: SFC: technology, trend and implementation
Tech Talk by Louis Fourie: SFC: technology, trend and implementationnvirters
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNnvirters
 
Banv meetup-contrail
Banv meetup-contrailBanv meetup-contrail
Banv meetup-contrailnvirters
 
RouteFlow & IXPs
RouteFlow & IXPsRouteFlow & IXPs
RouteFlow & IXPsnvirters
 
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...nvirters
 
Tech Talk by Tim Van Herck: SDN & NFV for WAN
Tech Talk by Tim Van Herck: SDN & NFV for WANTech Talk by Tim Van Herck: SDN & NFV for WAN
Tech Talk by Tim Van Herck: SDN & NFV for WANnvirters
 
OpenFlow Data Center - A case Study by Pica8
OpenFlow Data Center - A case Study by Pica8OpenFlow Data Center - A case Study by Pica8
OpenFlow Data Center - A case Study by Pica8nvirters
 
Pyretic - A new programmer friendly language for SDN
Pyretic - A new programmer friendly language for SDNPyretic - A new programmer friendly language for SDN
Pyretic - A new programmer friendly language for SDNnvirters
 
Virt july-2013-meetup
Virt july-2013-meetupVirt july-2013-meetup
Virt july-2013-meetupnvirters
 

Más de nvirters (11)

Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...
Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...
Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...
 
Tech Talk by Peng Li: Open Mobile Networks with NFV
Tech Talk by Peng Li: Open Mobile Networks with NFVTech Talk by Peng Li: Open Mobile Networks with NFV
Tech Talk by Peng Li: Open Mobile Networks with NFV
 
Tech Talk by Louis Fourie: SFC: technology, trend and implementation
Tech Talk by Louis Fourie: SFC: technology, trend and implementationTech Talk by Louis Fourie: SFC: technology, trend and implementation
Tech Talk by Louis Fourie: SFC: technology, trend and implementation
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
 
Banv meetup-contrail
Banv meetup-contrailBanv meetup-contrail
Banv meetup-contrail
 
RouteFlow & IXPs
RouteFlow & IXPsRouteFlow & IXPs
RouteFlow & IXPs
 
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
 
Tech Talk by Tim Van Herck: SDN & NFV for WAN
Tech Talk by Tim Van Herck: SDN & NFV for WANTech Talk by Tim Van Herck: SDN & NFV for WAN
Tech Talk by Tim Van Herck: SDN & NFV for WAN
 
OpenFlow Data Center - A case Study by Pica8
OpenFlow Data Center - A case Study by Pica8OpenFlow Data Center - A case Study by Pica8
OpenFlow Data Center - A case Study by Pica8
 
Pyretic - A new programmer friendly language for SDN
Pyretic - A new programmer friendly language for SDNPyretic - A new programmer friendly language for SDN
Pyretic - A new programmer friendly language for SDN
 
Virt july-2013-meetup
Virt july-2013-meetupVirt july-2013-meetup
Virt july-2013-meetup
 

Último

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Último (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Tech Talk: ONOS- A Distributed SDN Network Operating System

  • 1. ONOS Building a Distributed, Network Operating System Madan Jampani & Brian O'Connor BANV Meetup 3/16/2015
  • 2. Outline ● A simple example as motivation ● ONOS Architecture ● Distributed primitives for managing state ● APIs and a template for implementation ● Intent Framework ● Live Demo ● Q/A
  • 7. Switch FlowEntry S1 ... S2 ... S3 ... Compute Flow Mods
  • 8. Switch FlowEntry S1 ... S2 ... S3 ... Install Flow Mods
  • 9. Switch FlowEntry S1 ... S2 ... S3 ... Topology Monitoring
  • 11. Wishlist ● Global Network View ● Path Computation ● Flow Mod Computation / Installation ● Monitor and React to network events
  • 12. Do all this with... ● High Availability ● At Scale
  • 13. Wishlist ● Global Network View ● Path Computation ● Flow Mod Computation / Installation ● Monitor and React to network events ● High Availability and Scale
  • 14. Support variety of devices and protocols
  • 15. Wishlist ● Global Network View ● Path Computation ● Flow Mod Computation/Installation ● Monitor and React to events ● High Availability and Scale ● Extensible and Abstracted Southbound
  • 17. Wishlist ● Global Network View ● Path Computation ● Flow Mod Computation/Installation ● Monitor and React to events ● High Availability and Scale ● Pluggable Southbound ● Modularity and Customizability Note: We've also done this exercise on more complex, real-world use cases. You can read more about them in the wiki: https://wiki.onosproject.org/display/ONOS/ONOS+Use+Cases
  • 18. ONOS Architecture Tiers Northbound - Application Intent Framework (policy enforcement, conflict resolution) OpenFlow NetConf . . . AppsApps Distributed Core (scalability, availability, performance, persistence) Southbound (discover, observe, program, configure)
  • 19. Distributed Core ● Distributed state management framework ○ built for high availability and scale-out ● Different types of state require different handling ○ fully replicated and eventually consistent ○ partitioned and strongly consistent
  • 20. Distributed Core ● Global Network View ● Scaling strong consistency
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. “Tell me about your slice?”
  • 30. Cache “Tell me about your slice?”
  • 35. Topology as a State Machine Events are Switch/Port/Link up/down Current Topology Updated Topology apply event
  • 36.
  • 37.
  • 38. E
  • 39. E E E
  • 40. E
  • 41. F
  • 42. F E
  • 43.
  • 44.
  • 45. C1C2C1 1 2 3 Switch Mastership Terms We track this in a strongly consistent store
  • 46. 2.1 2.2 2.3 2.4 2.5 2.61.41.2 1.31.1 3.2 3.33.12.7 2.8 C1C2C1 1 2 3 Switch Event Numbers
  • 47. Partial Ordering of Topology Events Each event has a unique logical timestamp (Switch ID, Term Number, Event Number)
  • 48. E (S1, 1, 2)
  • 49. E E E (S1, 1, 2) (S1, 1, 2) (S1, 1, 2)
  • 52. F F (S1, 2, 1) (S1, 2, 1) (S1, 1, 2) E
  • 53. F F (S1, 2, 1) (S1, 2, 1) (S1, 1, 2) E
  • 54. To summarize ● Each instance has a full copy of network topology ● Events are timestamped on arrival and broadcasted ● Stale events are dropped on receipt
  • 55. There is one additional step... What about dropped messages?
  • 56. Anti-Entropy Lightweight, Gossip style, peer-to-peer Quickly bootstraps newly joined nodes
  • 57. A model for state tracking If you are the observer, Eventual Consistency is the best option View should be consistent with the network, not with other views
  • 58. Hiding the complexity EventuallyConsistentMap<K, V, T> Plugin your own timestamp generation
  • 59. Other Control Plane state... ● Switch to Controller mapping ● Resource Allocations ● Flows ● Various application generated state In all case strong consistency is either required or highly desirable
  • 60. Consistency => Coordination 2PC All participants need to be available Consensus Only a majority need to participate
  • 61. State Consistency through Consensus LOG LOG LOG LOG LOG LOG LOG
  • 65. Consistency Cost ● Atomic updates within a shard are “cheap” ● Atomic updates spanning shards use 2PC
  • 67. Outline ● A simple example as motivation ● ONOS Architecture ● Distributed primitives for managing state ● APIs and a template for implementation ● Intent Framework ● Live Demo ● Q/A
  • 68. ONOS Architecture Tiers Northbound - Application Intent Framework (policy enforcement, conflict resolution) OpenFlow NetConf . . . AppsApps Distributed Core (scalability, availability, performance, persistence) Southbound (discover, observe, program, configure) Northbound Abstraction: - network graph - application intents Core: - distributed - protocol independent Southbound Abstraction: - generalized OpenFlow - pluggable & extensible
  • 69. ONOS Service APIs "Southbound" ● Device ● Link ● Host ● Statistics ● Flow Rule ● Packet ● Resource ● Providers "Northbound" ● Topology ● Path ● Intent "Core" ● Core ● Application ● Cluster ● Communication ● Event Delivery ● Storage ● Leadership ● Mastership ...
  • 70. Manager Component ONOS Core Subsystem Structure Adapter Component Adapter Component App Component ServiceAdminService Listener notify command command sync & persist add & remove query & command App Component Adapter Component Manager Component AdapterRegistry Adapter AdapterService ServiceAdminService Listener notify register & unregister command command sensing add & remove query & command Store Store Protocols sync & persist Adapter Component AdapterRegistry Adapter AdapterService register & unregistersensing Protocols
  • 71. Intent Framework • Programming Abstraction – Intents – Compilers – Installers • Execution Framework – Intent Service – Intent Store
  • 72. 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
  • 73. Intent Example Host to Host Intent
  • 74. Intent Example Host to Host Intent public final class HostToHostIntent extends ConnectivityIntent { private final HostId one; private final HostId two; public HostToHostIntent(ApplicationId appId, HostId one, HostId two); public HostToHostIntent(ApplicationId appId, Key key, HostId one, HostId two, TrafficSelector selector, TrafficTreatment treatment, List<Constraint> constraints); }
  • 75. Intent Example COMPILATION Path IntentPath Intent Host to Host Intent
  • 76. 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); }
  • 77. Intent Example Host to Host Intent public class HostToHostIntentCompiler extends ConnectivityIntentCompiler<HostToHostIntent> { @Override public List<Intent> compile(HostToHostIntent intent, ...) { Host one = hostService.getHost(intent.one()); Host two = hostService.getHost(intent.two()); // compute paths Set<Path> paths = pathService.getPaths(intent.one(), intent.two(), intent.constraints()); // select paths Path pathOne = bestPath(intent, paths); Path pathTwo = invertPath(pathOne); // reverse path using same links // create intents PathIntent fwdPath = createPathIntent(pathOne, one, two, intent); PathIntent revPath = createPathIntent(pathTwo, two, one, intent); return Arrays.asList(fwdPath, revPath); } }
  • 78. Intent Example COMPILATION INSTALLATION Flow Rule Batch Flow Rule Batch Flow Rule BatchFlow Rule Batch Path IntentPath Intent Host to Host Intent
  • 79. Intent Installers • Transform Intents into device commands • Allocate / deallocate network resources • Define scheduling dependencies for workers • “Stateless” interface IntentInstaller<T extends Intent> { List<Collection<FlowRuleOperation>> install(T intent); List<Collection<FlowRuleOperation>> uninstall(T intent); List<Collection<FlowRuleOperation>> replace(T oldIntent, T newIntent); }
  • 80. Intent Example COMPILATION Path IntentPath Intent Host to Host Intent public class PathIntentInstaller implements IntentInstaller<PathIntent> { @Override public List<Collection<FlowRuleOperation>> install(PathIntent intent) { LinkResourceAllocations allocations = allocateResources(intent); Set<FlowRuleOperation> rules = Sets.newHashSet(); for (Link link : intent.path().links()) { FlowRule rule = createFlowRule(link, intent); rules.add(new FlowRuleOperation(rule, FlowRuleOperation.Type.ADD)); } return Lists.newArrayList(rules); @Override public List<Collection<FlowRuleOperation>> uninstall(PathIntent intent) {...} @Override public List<Collection<FlowRuleOperation>> replace(PathIntent oldIntent, PathIntent newIntent) {...} }
  • 81. Intent Framework Design Southbound Physical Network Host to Host Intent Compiler Path Intent Installer Path Intent Installer Applications Intent Service API IntentExtension ServiceAPI Intent Manager Intent Store Intent Objective Tracker Intent Worker Core Topology API Resource API …Flow Rule Service API
  • 82. Intent Framework API package org.onosproject.net.intent; // filepath: onos/core/api/net/intent/ public abstract class Intent { private final IntentId id; // internal, unique ID private final ApplicationId appId; // originating application private final Key key; // user define key for this "policy" private final Collection<NetworkResource> resources; // constructors and getters } public interface IntentService { void submit(Intent intent); void withdraw(Intent intent); Intent getIntent(Key key); // other methods and listener registration }
  • 83. Intent Manager package org.onosproject.net.intent.impl; // filepath: onos/core/net/intent/impl @Component @Service public class IntentManager implements IntentService, IntentExtensionService { // Dependencies protected CoreService coreService; // used to generate blocks of unique, internal intent IDs protected IntentStore store; // stores all intents in the system; // delegates work to be be done to master protected ObjectiveTrackerService trackerService; // listens to network events and // triggers recomputation when required protected EventDeliveryService eventDispatcher; // used for managing listeners and // dispatching events protected FlowRuleService flowRuleService; // responsible for installing flow rules and // reporting success or failure // ... implementation of service methods }
  • 84. Intent Store • Key to HA and Scale-Out • Work is delegated to specific cluster nodes through logical partitions based on Intent key • Execution steps designed to be idempotent – However, when resources are required, duplicate request will be detected and handled • Failures can be detected by store, and work can be reassigned by electing new leader for partition
  • 85. Intent Store package org.onosproject.store.intent.impl; // filepath: onos/core/store/dist/intent/impl @Component @Service public class GossipIntentStore extends AbstractStore<IntentEvent, IntentStoreDelegate> implements IntentStore { private EventuallyConsistentMap<Key, IntentData> currentMap; private EventuallyConsistentMap<Key, IntentData> pendingMap; // Dependencies protected ClusterService clusterService; // provides information about nodes in cluster protected ClusterCommunicationService clusterCommunicator; // provides communication // mechanism for map updates protected PartitionService partitionService; // gets partition for Intent by key; // elects and maintains leader for each partition // ... implementation of IntentStore methods }
  • 86. Intent Subsystem Design i i ii ii ii (Batch) & Distribute Delegate (on key) Batch & Process compile & install Update submit / withdraw add process Update store write store write notify i i i i App StoreManager Flow, Topology, etc. Events retry
  • 87. Design Modularity • Intents, Compilers, and Installers 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
  • 88. What's Next? ● Join ONOS mailing lists ○ https://wiki.onosproject.org/display/ONOS/ONOS+Mailing+Lists ○ Don’t hesitate to engage with ONOS developers & community ● Try some of the tutorials ○ https://wiki.onosproject.org/display/ONOS/Tutorials+and+Walkthroughs ● Download the source code: ○ https://gerrit.onosproject.org/ (main developer repository) ○ https://github.com/opennetworkinglab/onos (read-only mirror) ● Check out the ONOS API Javadoc ○ http://api.onosproject.org/ ● Fix (or file) a bug ○ https://jira.onosproject.org/ ● Visit the main project page and wiki ○ http://onosproject.org/ and https://wiki.onosproject.org/
  • 89. Outline ● A simple example as motivation ● ONOS Architecture ● Distributed primitives for managing state ● APIs and a template for implementation ● Intent Framework ● Live Demo ● Q/A
  • 91. Outline ● A simple example as motivation ● ONOS Architecture ● Distributed primitives for managing state ● APIs and a template for implementation ● Intent Framework ● Live Demo ● Q/A