43
# ONOSProject ONOS Murat Parlakisik Intel Developer Zone NFV/DPDK 2016

ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

  • Upload
    hacong

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject

ONOS

Murat Parlakisik

Intel Developer Zone NFV/DPDK 2016

Page 2: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 2

Outline-Onos Introduction

What is onos ?Releases/RoadmapDeploymentsContribution

-Onos Architecture Distributed CoreSouthbound and NorthboundBuild Mechanism (Maven -- > Buck)

-Developing Onos Apps Creating Simple onos app Handling one ping message Deploying to onos cluster

Page 3: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 3

What is onos

• Open Network Operating System (ONOS) is an open source SDN network operating system .

• Our mission is to enable Service Providers to build real SDN/NFV Solutions.

Page 4: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 4

distributed core provides high-availability, scalability and performance

abstractions & models allow applications to configure and control the network

without becoming dependent on device specifics applications platform

allows developers to dynamically extend the base capabilities

Page 5: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 5

Releases

● Avocet (1.0.0) released 2014-12○ initial release of clean and modular code-base, protocol independence ● Blackbird (1.1.0) released 2015-03○ improved performance, scale-out, increased robustness ● Cardinal (1.2.0) released 2015-06○ new use-cases, additional core features, additional SB protocols ● Drake (1.3.0) released 2015-09○ platform enhancements, security, UI enhancements ● Emu (1.4.0) - released 2015-12○ CORD features, prototype of dynamic cluster scaling

Page 6: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 6

Releases

● Falcon (1.5.0) - released 2016-03 ○ dynamic cluster scaling, model extensibility, YANG compiler incubation ○ secure mode ONOS enhancements ○ new southbound protocols: OSPF, REST & SNMP ● Goldeneye (1.6.0) - released 2016-06 ○ distributed core enhancements ○ compiling intents to flow objectives ○ spring cleaning, YANG compiler incubation, GUI scaling, P4 PoC● Hummingbird (1.7.0) - released 2016-09 ○ new distributed primitives, Kafka & RabbitMQ integration ○ new GUI L&F, incubation of new GUI scalability features ○ build tooling migrated from Maven to Buck for faster builds

Page 7: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 7

Releases

Ibis (1.8.0) planned for 2016-12

● Dynamic Configuration of Devices and Services○ allow new YANG models for devices and services to be introduced at runtime so that applications can leverage new models and features without recompilation ● Virtualization○ provide SDN-capable virtual networks and virtualized services for each network; introduce virtual networks as a first class abstraction ● GUI Scalability Enhancements○ provide support for nested layouts & regions ● Intent Framework Enhancements ○ enhance existing intent framework to enable new deployments that require SDN-IP & VPLS capabilities

Page 8: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 8

OpenFlow

OpenFlow

OF

Q3 2015ONOS Deployment in Australia

OpenFlow

Q3 2015Korea announces the firstONOS deployment

Q4 2015ONOS deployed in Korea

Q4 2015First ONOS

production deploymentin South America

Q1-Q2 2015First ONOS DeploymentsSouth America, US, EU

Q4 2015 – New connectionsSidney – Seattle -MiamiSao Paolo – Amsterdam

Q1 2016NCTU / Taiwandeploys ONOS

Q1 2016 – New connectionsMiami - KoreaMiami - TaiwanKorea - Taiwan

Global SDN Deployment Powered by ONOS

Page 9: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 9

Global ONOS- based products

-The Agile Controller 3.0, launched today at the Huawei Connect show, fits into the company’s theme of taking open source components and building products around them to deliver cloud-based services. The Agile Controller is based on the open source ONOS controller managed by the Linux Foundation(https://www.sdxcentral.com/articles/news/huawei-launches-commercial-sdn-controller/2016/09/)

-NTT Comm has decided to do a field trial in Tokyo of a very disruptive packet-optical network that is built using open-flow enabled disaggregated ROADMs and white box packet switches with ONOS based SDN control plane.

Page 10: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 10

The Federated Testbed Initiative

● Goal: Create a federated 5G playground for the industry. Experiment SDN, NFV and cloud technologies in a multi-domain, multi-vendor environment, looking forward to 5G.

● Based on the SoftFIRE testbed infrastructure

● Integration of ONOS and CORD○ Control of the infrastructure○ Act as platform to evaluate for Users

● Driven by EIT Digital

● First Participants:○ Deutsche Telekom○ Ericsson○ Fraunhofer FOKUS○ IEEE○ Politecnico di Torino○ TIM (JolNET)○ University of Surrey

Page 11: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 11

Roadmap Items

● Dynamic Configuration (in progress) ● Virtualization (in progress) ● GUI Scalability (in progress) ● In-Service Software Upgrade ● gRPC API ● Federation (hierarchical & peering) ● Intent Subsystem 2.0 (a.k.a Intent Domains) ● Distributed Platform & Network Core Seperation

Page 12: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 12

OSGI / Apache Karaf

ONOS distributed applications platform

ONOS networking core

ONOS applications

GUI REST APIC

omm

and Line

gRPC*

* experimental

Onos Architecture

Page 13: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 13

Page 14: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 14

Page 15: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 15

ManagerComponent

Manager Component

ONOS Core Subsystem Structure

ProviderComponent

ProviderComponent

App Component

Listener

notify

command

command

sync & persist

add & removequery &command

App Component

ProviderComponent

ManagerComponent

Manager Component

ProviderRegistry

Provider

ProviderService

ServiceAdminService

Listener

notify

register & unregister

command

command

sensing

add & removequery &command

Protocols

Store Store

ProviderComponent

ProviderRegistry

Provider

ProviderService

register & unregistersensing

Protocols

ServiceAdminService

Store Store

sync & persist

ProviderRegistry ProviderRegistry

ProviderProvider

ProviderServiceProviderService

AdminService AdminServiceService Service

ListenerListener

Page 16: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 16

Page 17: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 17

Page 18: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 18

Page 19: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 19

Page 20: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 20

Page 21: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 21

Page 22: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 22

Page 23: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 23

Abstract Stores

topology - devices, links, hostsdevice mastershipflow rulesintentsnetwork configurationdevice keysapplications. . .

Page 24: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 24

Distributed Primitives

•EventuallyConsistentMap<K, V>•ConsistentMap<K, V>•LeaderElector•DistributedSet<E>•AtomicCounter•AtomicValue<V>•WorkQueue<E> (new in Hummingbird)•Topic<T> (new in Hummingbird)

Page 25: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 25

tcp:9876

Page 26: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 26

Page 27: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 27

Distributed Stores & Primitives

topology - eventually consistent mapdevice mastership - leadership serviceflow rules - primary/backup replicationintents - consistent mapnetwork configuration - consistent mapdevice keys - consistent mapapplications - consistent map. . .

Page 28: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 28

Application Stores & Primitives

CORD Virtual Tenant NetworksCORD Optical Line TerminatorSegment RoutingOpenStack NetworkingService Function ChainingACL ManagementDHCP Server. . .

Page 29: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 29

Control plane state

• Topology View• Flows• Flow stats• Resource reservations• Intents• Application specific state

Page 30: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 30

ONOS1 ONOS2 ONOS3

Page 31: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 31

ONOS1 ONOS2 ONOS3

Page 32: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 32

ONOS1 ONOS2 ONOS3

Topology in ONOS

Page 33: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 33

Switch/LinkEvents

PeerNotifications

PeerNotifications

Topology State on a ONOS instance

EventuallyConsistentLogicaltimestampsforconsistentorderingLowlatencyread/writeaccess(under5ms)

Page 34: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 34

Closer look...

Page 35: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 35

Page 36: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 36

Page 37: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 37

Page 38: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 38

Page 39: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 39

Page 40: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 40

Page 41: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 41

Page 42: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 42

Page 43: ONOS - Meetupfiles.meetup.com/19623913/Day2DevLab_ONOS_TutorialPt1.pdf · Emu (1.4.0) - released 2015-12 ... -The Agile Controller 3.0, launched today at the Huawei Connect show,

#ONOSProject 43

“Tell me about your slice?”