SDN(Software-Defined Networking) 과 ONOS, 가상화
글로벌 오픈 프론티어 4기 한상윤
sangyun628@gmail.com
경희대학교 컴퓨터공학과 연구원
ONOS Ambassador
2
Contents
• SDN(Software-Defined Networking)
• ONOS(Open Network Operating System)
• ONOS Network Virtualization
• QnA
3
4
SDN(Software-Defined Networking)
“소프트웨어로 네트워크를 관리 및 제어”
“네트워크를 프로그래밍 가능한 구조로 만들자”
“PC나 모바일처럼 특정 App만 설치하면 테넌트가 원하는대로
네트워크가 동작하도록 하자”
5
SDx
SDx(Software-Defined Everything)
https://www.sdxcentral.com/sdn/definitions/what-is-software-defined-compute/
6
Decoupling
7
Control plane & Data plane
[Brain/Control Plane]
행동을 위한 계산과 판단
(패킷 경로 설정, 제어 기능)
[Body/Data Plane]
실제적인 행동
(패킷 송수신/Forwarding)
8
Control plane & Data plane
9
How to enable SDN
Decoupling control plane and data plane
10
SDN Architecture
By ONF
11
SDN Architecture
By ONF
12
API for SDN - OpenFlow
출처 :
https://en.wikipedia.org/wiki/University_of_California,_Berkeley
https://en.wikipedia.org/wiki/Stanford_University
13
API for SDN - OpenFlow
• Open Interface (API)
• SDN controller와 OF-enable element 간 프로토콜
• Flow 정보를 제어하여 패킷의 전달 경로 및 방식 등을 결정
14
API for SDN OpenFlow
Flow entries can describe many forwarding behaviors
15
16
Introduction of ON.Lab
Non-profit, carrier and vendor neutral
Provide technical shepherding
Build community
Many organizations supports
17
Introduction of ON.Lab
Their mission is to enable Service Providers
to build real SDN/NFV solutions.
19
Introduction of ONOS
•오픈소스 SDN(Software-Defined Networking) 컨트롤러
•ONF(Open Networking Foundation) 인큐베이팅 With The Linux Foundation
•서비스 프로바이더와 벤더 등의 업체가 시장에 적용할 수 있는 Carrier Grade급 컨트롤러
개발이 목표
•High Availability, High Performance, High Scalability
20
Introduction of ONOS
•5G 기술의 핵심 기술 중 하나인 SDN을 위한 오픈소스 프로젝트
•현존하는 많은 SDN컨트롤러들은 SDN 기술의 테스트 및 연구 등의 목적으로 개발되어
서비스에 부적합
•ONOS는 상용 제품을 위한 설계 및 개발
•Automation, CD/CI, DevOps, Container와 엮이면서 시너지 효과
•OpenStack, Docker 등과 함께 Cloud, NFV, 데이터센터 분야의 중요한 역할을 할 것으로
예상
ONOS community
High Availability
•Multiple Instance Clustering
•Fault tolerance using Distributed Core
• Five Nines availability
High Availability High Performance
•High Throughput
•~500K-1M path setups/second
•High Volume
•~500GB-1TB state data
•Low Latency
•10~100ms
High Availability High Performance Scalability
•OSGi based OSS Karaf
è Deploy, Config
•Distributed Clustering
è Sync, Share
•Dynamic Clustering
Mobile Convergence Laboratory
High Availability High Performance Scalability White Box (Open)
Reference : ONOS wiki
High Availability High Performance Scalability White Box (Open)
ONOS Architecture
The changing history of architecture
Overall architecture
Subsystem Structure
Mobile Convergence Laboratory 28
ONOS Overall Architecture
Mobile Convergence Laboratory 29
Mobile Convergence Laboratory 30
구체적인 서비스를
위한 Application 계층
Mobile Convergence Laboratory 31
Application 계층에
네트워크 정보 전달,
하위 컴포넌트 제어를
위한 인터페이스 제공
(REST, gRPC, etc)
Mobile Convergence Laboratory 32
ONOS의 핵심적인
역할을 하며,
HA와 Scalability를 위한
분산 클러스터링 기능
Mobile Convergence Laboratory 33
네트워크 인프라 제어를
위한 인터페이스 제공
Network Element 추상화
Mobile Convergence Laboratory 34
Network Element
설정을 위한 프로토콜
OpenFlow : SDN
NetConf : Legacy
Mobile Convergence Laboratory 35
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 36
ONOS Subsystems Structure
Northbound
Core
Southbound
Mobile Convergence Laboratory 37
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
Scale-out / HA scenarios
Mobile Convergence Laboratory 38
Mobile Convergence Laboratory 39
Distributed
Core
Instance 1
Scale-out by Distributed Core (1)
Network Graph
Global network view
Mobile Convergence Laboratory 40
Distributed
Core
Instance 1 Instance 2 Instance 3
Scale-out by Distributed Core (2)
Network Graph
Global network view
Mobile Convergence Laboratory 41
Distributed
Core
Instance 1 Instance 2 Instance 3
HA by Distributed Core (1)
Network Graph
Global network view
Mobile Convergence Laboratory 42
Distributed
Core
Instance 1 Instance 2 Instance 3
HA by Distributed Core (2)
Network Graph
Global network view
Mobile Convergence Laboratory 43
Distributed
Core
Instance 1 Instance 2 Instance 3
HA by Distributed Core (3)
Network Graph
Global network view
44
45
Virtualization Brigade
• ONOS brigade model
46
What is a virtualization
47
Network Virtualization
Slice & Overlay
48
ONOS Network Virtualization
49
ONOS Network Virtualization
Topology Virtualization
Address Virtualization
Control function Virtualization
Virtual network snapshoting
(pausing, resume, migration)
50
ONOS Network Virtualization
Topology Virtualization
51
ONOS Network Virtualization
Topology Virtualization
52
ONOS Network Virtualization
Topology Virtualization
53
ONOS Network Virtualization
Address Virtualization
“테넌트가 할당받은 가상 네트워크 상에선 그들의 주소 체계 사용”
“ONOS가 Network Hypervisor로써 주소 체계 번역을 담당”
54
ONOS Network Virtualization
Control function Virtualization
“테넌트는 그들의 가상 네트워크에 별도의 SDN
controller(NOS)를 사용할 수 있다.”
55
ONOS Network Virtualization
Virtual network snapshoting
“네트워크를 가상머신처럼 사용”
“가상 네트워크의 특정 시점을 스냅샷, 중지, 재시작, 마이그레이션”
56
ONOS -- Building a Better Network
Please feel free to ask me any questions.

SDN, ONOS, and Network Virtualization