72
ONOS SDN Controller 소스코드 분석 SDN 응용개발 Mobile Convergence Lab, Computer Engineering, Kyung Hee University Sangyun Han Email : [email protected] SDN/NFV 이론, 실습, 최신동향 [ONOS 소개 및 최신동향]

Introduction of ONOS and core technology

Embed Size (px)

Citation preview

Page 1: Introduction of ONOS and core technology

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

Mobile Convergence Lab, Computer Engineering, Kyung Hee University

Sangyun Han

Email : [email protected]

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

[ONOS 소개 및 최신동향]

Page 2: Introduction of ONOS and core technology

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

질의응답

Page 3: Introduction of ONOS and core technology

Mobile Convergence Laboratory 3

Non-profitTools/Platforms for SDN community

Page 4: Introduction of ONOS and core technology

Mobile Convergence Laboratory 4

• Non-profit, carrier and vendor neutral

• Provide technical shepherding

• Build community

• Many organizations supports

Page 5: Introduction of ONOS and core technology

Mobile Convergence Laboratory 5

Page 6: Introduction of ONOS and core technology

Mobile Convergence Laboratory 6

Page 7: Introduction of ONOS and core technology

Mobile Convergence Laboratory 7

Page 8: Introduction of ONOS and core technology

Mobile Convergence Laboratory 8

Supporting members

Page 9: Introduction of ONOS and core technology

Mobile Convergence Laboratory 9

Projects

Page 10: Introduction of ONOS and core technology

SDN Network Operating System & SDN Control Platform

Mobile Convergence Laboratory 10

Page 11: Introduction of ONOS and core technology

• Carrier grade SDN OS for service providers

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

• By

Mobile Convergence Laboratory 11

Page 12: Introduction of ONOS and core technology

Mobile Convergence Laboratory 12

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

Page 13: Introduction of ONOS and core technology

Mobile Convergence Laboratory 13

ONOS community

Page 14: Introduction of ONOS and core technology

Mobile Convergence Laboratory 14

Page 15: Introduction of ONOS and core technology

15Mobile Convergence Laboratory

ONOS의 목표는뭘까?

기존의 수많은SDN controller

Page 16: Introduction of ONOS and core technology

Mobile Convergence Laboratory 16

C++/Python

C/C++

Python

Java

Page 17: Introduction of ONOS and core technology

Mobile Convergence Laboratory 17

Page 18: Introduction of ONOS and core technology

Mobile Convergence Laboratory 18

commercialproducts

Page 19: Introduction of ONOS and core technology

Mobile Convergence Laboratory 19

commercialproducts

Page 20: Introduction of ONOS and core technology

Mobile Convergence Laboratory 20

High Availability

• Multiple Instance Clustering

• Fault tolerance using Distributed Core

• Five Nines availability

Page 21: Introduction of ONOS and core technology

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

Page 22: Introduction of ONOS and core technology

Mobile Convergence Laboratory 22

High Availability High Performance Scalability

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

Page 23: Introduction of ONOS and core technology

Mobile Convergence Laboratory 23

High Availability High Performance Scalability White Box (Open)

Reference : ONOS wiki

Page 24: Introduction of ONOS and core technology

Mobile Convergence Laboratory 24

High Availability High Performance Scalability White Box (Open)

Page 25: Introduction of ONOS and core technology

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

Page 26: Introduction of ONOS and core technology

ONOS ArchitectureThe changing history of architecture

Overall architecture

Subsystem Structure

Mobile Convergence Laboratory 26

Page 27: Introduction of ONOS and core technology

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

Page 28: Introduction of ONOS and core technology

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

Page 29: Introduction of ONOS and core technology

Mobile Convergence Laboratory 29

Prototype-1 (1G core)

Page 30: Introduction of ONOS and core technology

Mobile Convergence Laboratory 30

Prototype-2 (2G core)

Page 31: Introduction of ONOS and core technology

Mobile Convergence Laboratory 31

Clustering Synchronize Data Sharing

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

Page 32: Introduction of ONOS and core technology

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

Page 33: Introduction of ONOS and core technology

ONOS Overall Architecture

Mobile Convergence Laboratory 33

Page 34: Introduction of ONOS and core technology

ONOS Core Technology

Mobile Convergence Laboratory 34

Page 35: Introduction of ONOS and core technology

Mobile Convergence Laboratory 35

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

Page 36: Introduction of ONOS and core technology

Mobile Convergence Laboratory 36

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

Page 37: Introduction of ONOS and core technology

Mobile Convergence Laboratory 37

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

Page 38: Introduction of ONOS and core technology

Mobile Convergence Laboratory 38

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

Page 39: Introduction of ONOS and core technology

Mobile Convergence Laboratory 39

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

Page 40: Introduction of ONOS and core technology

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 . . .

Page 41: Introduction of ONOS and core technology

Mobile Convergence Laboratory 41

ONOS Subsystems Structure

Northbound

Core

Southbound

Page 42: Introduction of ONOS and core technology

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

Page 43: Introduction of ONOS and core technology

• 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

Page 44: Introduction of ONOS and core technology

Scale-out / HA scenarios

Mobile Convergence Laboratory 44

Page 45: Introduction of ONOS and core technology

Mobile Convergence Laboratory 45

Distributed Core

Instance 1

Scale-out by Distributed Core (1)

Network GraphGlobal network view

Page 46: Introduction of ONOS and core technology

Mobile Convergence Laboratory 46

Distributed Core

Instance 1 Instance 2 Instance 3

Scale-out by Distributed Core (2)

Network GraphGlobal network view

Page 47: Introduction of ONOS and core technology

Mobile Convergence Laboratory 47

Distributed Core

Instance 1 Instance 2 Instance 3

HA by Distributed Core (1)

Network GraphGlobal network view

Page 48: Introduction of ONOS and core technology

Mobile Convergence Laboratory 48

Distributed Core

Instance 1 Instance 2 Instance 3

HA by Distributed Core (2)

Network GraphGlobal network view

Page 49: Introduction of ONOS and core technology

Mobile Convergence Laboratory 49

Distributed Core

Instance 1 Instance 2 Instance 3

HA by Distributed Core (3)

Network GraphGlobal network view

Page 50: Introduction of ONOS and core technology

Mobile Convergence Laboratory 50

E

Page 51: Introduction of ONOS and core technology

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

Page 52: Introduction of ONOS and core technology

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

Page 53: Introduction of ONOS and core technology

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/

Page 54: Introduction of ONOS and core technology

Recent Trend of ONOSTrend

Use case

Mobile Convergence Laboratory 54

Page 55: Introduction of ONOS and core technology

Mobile Convergence Laboratory 55

The center of SDN/NFV

Page 56: Introduction of ONOS and core technology

Mobile Convergence Laboratory 56

ONOS Framework(ONOSFW)

Page 57: Introduction of ONOS and core technology

Mobile Convergence Laboratory 57

ONOS as an SDN controller within the

VIM

Page 58: Introduction of ONOS and core technology

Mobile Convergence Laboratory 58

ONOS with Linux Foundation

Page 59: Introduction of ONOS and core technology

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

Central Office Re-architected as a Datacenter

Page 60: Introduction of ONOS and core technology

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

Page 61: Introduction of ONOS and core technology

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

Page 62: Introduction of ONOS and core technology

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

Page 63: Introduction of ONOS and core technology

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

Page 64: Introduction of ONOS and core technology

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

Page 65: Introduction of ONOS and core technology

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

M-CORD E-CORDR-CORD

Page 66: Introduction of ONOS and core technology

Mobile Convergence Laboratory 66 /

OpenFlowSwitch

SDN-IP

Page 67: Introduction of ONOS and core technology

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

Page 68: Introduction of ONOS and core technology

Mobile Convergence Laboratory 68

Pi only SDN (1/3)

Raspberry Pi

Page 69: Introduction of ONOS and core technology

Mobile Convergence Laboratory 69

Pi only SDN (2/3)

ONOS controller

Pi Stack Switch(SDN Switch)

Page 70: Introduction of ONOS and core technology

Mobile Convergence Laboratory 70

Pi only SDN (3/3)

Raspberry Pi Screen running ONOS

Page 71: Introduction of ONOS and core technology

Mobile Convergence Laboratory 71

Use Cases Feature Proposals

Page 72: Introduction of ONOS and core technology

Mobile Convergence Laboratory 72