Introduction of ONOS and core technology

Preview:

Citation preview

ONOS SDN Controller소스코드 분석 및 SDN 응용개발

Mobile Convergence Lab, Computer Engineering, Kyung Hee University

Sangyun Han

Email : sangyun0628@khu.ac.kr

SDN/NFV 이론, 실습, 최신동향

[ONOS 소개 및 최신동향]

Mobile Convergence Laboratory 2

목차A Table of Contents

etc…

ON.LAB

Open Networking Lab 소개 및 관련 프로젝트

ONOS

ONOS(Open Network Operating System) 소개, 아키텍처 분석

최신동향 및 Use-case기업 관련 UseCase, 방향성

Q&A

질의응답

Mobile Convergence Laboratory 3

Non-profitTools/Platforms for SDN community

Mobile Convergence Laboratory 4

• Non-profit, carrier and vendor neutral

• Provide technical shepherding

• Build community

• Many organizations supports

Mobile Convergence Laboratory 5

Mobile Convergence Laboratory 6

Mobile Convergence Laboratory 7

Mobile Convergence Laboratory 8

Supporting members

Mobile Convergence Laboratory 9

Projects

SDN Network Operating System & SDN Control Platform

Mobile Convergence Laboratory 10

• Carrier grade SDN OS for service providers

• SDN OS with scalability, high availability, high performance and right abstractions

• By

Mobile Convergence Laboratory 11

Mobile Convergence Laboratory 12

Their mission is to enable Service Providersto build real SDN/NFV solutions.

Mobile Convergence Laboratory 13

ONOS community

Mobile Convergence Laboratory 14

15Mobile Convergence Laboratory

ONOS의 목표는뭘까?

기존의 수많은SDN controller

Mobile Convergence Laboratory 16

C++/Python

C/C++

Python

Java

Mobile Convergence Laboratory 17

Mobile Convergence Laboratory 18

commercialproducts

Mobile Convergence Laboratory 19

commercialproducts

Mobile Convergence Laboratory 20

High Availability

• Multiple Instance Clustering

• Fault tolerance using Distributed Core

• Five Nines availability

Mobile Convergence Laboratory 21

High Availability High Performance

• High Throughput• ~500K-1M path setups/second

• High Volume• ~500GB-1TB state data

• Low Latency• 10~100ms

Mobile Convergence Laboratory 22

High Availability High Performance Scalability

• OSGi based OSS Karafè Deploy, Config• Distributed Clusteringè Sync, Share• Dynamic Clustering

Mobile Convergence Laboratory 23

High Availability High Performance Scalability White Box (Open)

Reference : ONOS wiki

Mobile Convergence Laboratory 24

High Availability High Performance Scalability White Box (Open)

Mobile Convergence Laboratory 25

Avocet Blackbird Cardinal Drake Emu Falcon Goldeneye H…

1.0.01.1.0

1.2.0

1.3.0 1.4.01.5.0

1.6.01.2.11.0.1 1.5.11.2.2

ONOS ArchitectureThe changing history of architecture

Overall architecture

Subsystem Structure

Mobile Convergence Laboratory 26

Architectural Tenets

Mobile Convergence Laboratory 27

• High availability, scalability and performance

• Strong abstractions and simplicity

• Protocol and device behavior independence

• Separation of concerns and modularity

Mobile Convergence Laboratory 28

The History of ONOS architecture

Founded - 2012

ONOS prototype 12013

(scalability, availability)

ONOS prototype 22013

(performance)

First OpenAvocet 1.0.02014.12.05

Mobile Convergence Laboratory 29

Prototype-1 (1G core)

Mobile Convergence Laboratory 30

Prototype-2 (2G core)

Mobile Convergence Laboratory 31

Clustering Synchronize Data Sharing

Avocet(v1.0) & Blackbird(v1.1) (3G core)

Mobile Convergence Laboratory 32

Cardinal(v1.2) (4G core)

• RAFT Consensus Algorithm• Copycat/Atomix OSS• ConsistentMap• CP system

• Gossip protocol based anti-entropy• EventuallyConsistentMap• AP system

ONOS Overall Architecture

Mobile Convergence Laboratory 33

ONOS Core Technology

Mobile Convergence Laboratory 34

Mobile Convergence Laboratory 35

구체적인 서비스를위한 Application 계층

Mobile Convergence Laboratory 36

Application 계층에네트워크 정보 전달,하위 컴포넌트 제어를위한 인터페이스 제공

Mobile Convergence Laboratory 37

ONOS의 핵심적인 역할을 하며, HA와 Scalability를 위한분산 클러스터링 기능

Mobile Convergence Laboratory 38

네트워크 인프라 제어를위한 인터페이스 제공Network Element 추상화

Mobile Convergence Laboratory 39

Network Element 설정을 위한 프로토콜OpenFlow : SDNNetConf : Legacy

Mobile Convergence Laboratory 40

ONOS Core Subsystems

Device Link Host

Topology

Flow Rule

Path

Packet

StatisticsIntent

Application

Leadership

Messaging

Storage Region

Mastership

Driver

Group

Security

Flow Objective

Event

OpenFlow NetConf OVSDB

Core Cluster

. . .

Proxy ARPMobility L2 Forwarding

REST API GUI CLI

Network Cfg.

SDN IP / BGP Packet / Optical

Tunnel

. . .

OSGi / Apache Karaf

Network Virt.

Device Cfg.

Config

UI Extension

External Apps

Graph

Discovery Tenant . . .

Mobile Convergence Laboratory 41

ONOS Subsystems Structure

Northbound

Core

Southbound

Mobile Convergence Laboratory 42

ONOS Subsystems Structure

• Provider• Interface with the network via

protocol-specific library

• Manager• Receives information from

Providera and serves it to application and service

• Store• Synchronizing the information

received by the Manager

• Distrbuted• Set up as a cluster of instances

• Symmetric• Each instance runs identical software and configuration

• Fault-tolerant• Cluster remains operational in the face of node failures

• Location Transparent• A client can interact with any instance. The cluster presents the

abstraction of a single logical instance

• Dynamic• The cluster can be scaled up/down to meet usage demands

Mobile Convergence Laboratory 43

ONOS Distributed Architecture

Scale-out / HA scenarios

Mobile Convergence Laboratory 44

Mobile Convergence Laboratory 45

Distributed Core

Instance 1

Scale-out by Distributed Core (1)

Network GraphGlobal network view

Mobile Convergence Laboratory 46

Distributed Core

Instance 1 Instance 2 Instance 3

Scale-out by Distributed Core (2)

Network GraphGlobal network view

Mobile Convergence Laboratory 47

Distributed Core

Instance 1 Instance 2 Instance 3

HA by Distributed Core (1)

Network GraphGlobal network view

Mobile Convergence Laboratory 48

Distributed Core

Instance 1 Instance 2 Instance 3

HA by Distributed Core (2)

Network GraphGlobal network view

Mobile Convergence Laboratory 49

Distributed Core

Instance 1 Instance 2 Instance 3

HA by Distributed Core (3)

Network GraphGlobal network view

Mobile Convergence Laboratory 50

E

ONOS Application (1/3)

• Apps are delivered via ONOS App aRchive (.oar) files• pom.xml / features.xml / bundle 을 포함하여 .oar 파일 형태로 배포• OAR 파일은 maven으로 빌드할 때, onos-maven-plugin에 의해 생성

• ONOS application 종류• Bundle application

• Service Interface application

• Service Component application

Mobile Convergence Laboratory 51

ONOS Application (2/3)

• ONOS application 종류• Bundle application

• API를 제공하지 않고 자체적으로 모든 기능을 수행

• Service Interface application• 다른 app에서 접근가능한 API를 제공하는 형태 ex>CLI, REST api, GUI

• Service Component application• Activate/Deactivate 등 메소드를 가진 형태

Mobile Convergence Laboratory 52

ONOS Application (3/3)

• Maven을 이용한 ONOS app 프로젝트 생성 방법• maven template toolkit에 의해 skeleton code가 제공

• ONOS archetype• onos-bundle-archetype

• $onos-create-app bundle [groupId] [artifactId]

• onos-cli-archetype• $onos-create-app cli [groupId] [artifactId]

• onos-ui-archetype• $onos-create-app ui [groupId] [artifactId]

Mobile Convergence Laboratory 53

APIhttps://wiki.onosproject.org/display/ONOS/Download+packages+and+tutorial+VMshttp://api.onosproject.org/1.3.0/

Recent Trend of ONOSTrend

Use case

Mobile Convergence Laboratory 54

Mobile Convergence Laboratory 55

The center of SDN/NFV

Mobile Convergence Laboratory 56

ONOS Framework(ONOSFW)

Mobile Convergence Laboratory 57

ONOS as an SDN controller within the

VIM

Mobile Convergence Laboratory 58

ONOS with Linux Foundation

Mobile Convergence Laboratory 59http://opencord.org/

Central Office Re-architected as a Datacenter

Mobile Convergence Laboratory 60http://opencord.org/

Mobile Convergence Laboratory 61http://opencord.org/

Mobile Convergence Laboratory 62http://opencord.org/https://vimeo.com/148210802Webinar : ONOS CORD

Mobile Convergence Laboratory 63http://opencord.org/https://vimeo.com/148210802Webinar : ONOS CORD

Mobile Convergence Laboratory 64http://opencord.org/https://vimeo.com/148210802Webinar : ONOS CORD

Mobile Convergence Laboratory 65http://opencord.org/

M-CORD E-CORDR-CORD

Mobile Convergence Laboratory 66 /

OpenFlowSwitch

SDN-IP

Mobile Convergence Laboratory 67 / 22

1

2

3

4

eBGP

eBGP

Receive External router’s advertisement iBGP

TransformRouting information-> intent request

Translate request into OpenFlow entries

Mobile Convergence Laboratory 68

Pi only SDN (1/3)

Raspberry Pi

Mobile Convergence Laboratory 69

Pi only SDN (2/3)

ONOS controller

Pi Stack Switch(SDN Switch)

Mobile Convergence Laboratory 70

Pi only SDN (3/3)

Raspberry Pi Screen running ONOS

Mobile Convergence Laboratory 71

Use Cases Feature Proposals

Mobile Convergence Laboratory 72

Recommended