Upload
sangyun-han
View
949
Download
1
Embed Size (px)
Citation preview
ONOS SDN Controller소스코드 분석 및 SDN 응용개발
Mobile Convergence Lab, Computer Engineering, Kyung Hee University
Sangyun Han
Email : [email protected]
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