SlideShare a Scribd company logo
1 of 93
Download to read offline
ONOS
(Open Network Operating System)
V1.0 Avocet
2015. 03. 11
㈜파이오링크
SDN개발실 이준 (jun.lee@piolink.com)
© PIOLINK, Inc. SDN No.1
Index
 What is ONOS ?
 ONOS Release
 ONOS Architecture
 Key Elements of ONOS
- Distributed Core
- Northbound abstraction
- Southbound abstraction
- Software Modularity
 Conclusions
 References
 Appendix A
- Installing and Running ONOS
 Appendix B
- ONOS Northbound API
 Appendix C
- ONOS V1.1.0 Blackbird 소개
2
© PIOLINK, Inc. SDN No.1
What is ONOS?
 ONOS (Open Networking Operating System)
-스탠포드, UC 버클리, AT&T 등 학계 및 통신사업자가 주도하고 있는 프로젝트, 최근 국
내 이동통신사 SKT 참여
• ODL (OpenDayLight)과 경쟁관계
• Service Provider를 위한 캐리어급 오픈소스 SDN 운영체제 개발을 목표로 함
-Distributed Network OS for Large Scale Networks
• Wan core backbone: 200-500 routers, 5K-10K ports
• Metro networks: 10K-50K routers, 2M-3M+ ports
• Cellular access network: 20K-100K devices, 100K-10M+ ports
• Wired access/aggregation: 10K-50K devices, 100K-1M ports
-Large Scale Networks 를 관리하기 위한 Distributed Network OS
• Scale-out
• High Performance
• High Availability
- Here distributed does not mean geo-distributed, but a single cluster of 5-25 co-
located physical servers
3
© PIOLINK, Inc. SDN No.1
ONOS Release
4
Name Version Date Description
Avocet 1.0.0 Dec. 5, 2014 First open source ONOS release
1.0.1 Jan. 22, 2015 Maintenance Release 1
Blackbird 1.1.0-rc1 February 28th, 2015 Not available yet
© PIOLINK, Inc. SDN No.1
 ONOS Architecture
5
© PIOLINK, Inc. SDN No.1
ONOS General Architecture
6
 ONOS 는 위 그림과 같이 계층(Layer) 구조로 되어 있음
 Network Element 설정을 위한 Protocol(openflow, netconf), ONOS 에서 Protocol 제어를 위한 Provider, ONOS
에서 Network Element 의 포워딩 제어 및 정보수집을 위한 Southbound Interface, ONOS 의 핵심인 Distributed
Core, 응용계층에 정보 제공을 위한 Northbound Interface, 서비스 제공을 위한 응용프로그램 계층
Network
Elements
© PIOLINK, Inc. SDN No.1
ONOS Distributed Architecture
7
 분산처리를 위해 여러 개의 ONOS 를 Cluster 형태로 묶어 운영이 가능 함
© PIOLINK, Inc. SDN No.1
ONOS Distributed Architecture
8
 ONOS 에는 두 가지 종류의 Control Channel 이 존재 함
 Cluster 구성 시 Instance 사이에 정보를 교환하는 Control Channel (The control network)
 Network Device 와 ONOS 사이에 정보를 교환하는 Control Channel (The network control channel)
© PIOLINK, Inc. SDN No.1
ONOS Architecture
9
 ONOS 에서 Service 와 Subsystem 의 정의
 각 Layer 에 위치한 Component 들이 모여 하나의 Service 를 구성
 ONOS Architecture 에서 Service 와 Subsystem 은 동일한 개념
 만약 OpenFlow 프로토콜을 이용해서, Flow 테이블을 추가하는 서비스를 구성하고 싶을 경우, Providers,
Distributed Core, Apps 에 Component 를 추가 해야 함
© PIOLINK, Inc. SDN No.1
ONOS Architecture
 ONOS defines several primary subsystems (services)
- Device Subsystem: Device 들을 관리하는 역할
- Link Subsystem: Link 들을 관리하는 역할
- Host Subsystem: Host 와 Host 의 위치를 관리하는 역할
- Topology Subsystem: Network Graph View 를 관리하는 역할
- PathService: Topology Graph 를 이용하여 Device 와 Host 들 사이의 경로를 찾고 계
산하는 역할
- FlowRule Subsystem: Device 에 Install 된 Flow rule 들을 관리하는 역할
- Packet Subsystem: Application 들이 Network Device로 부터 수신하는 데이터 패킷을
모니터링하고 생성하는 역할
10
© PIOLINK, Inc. SDN No.1
ONOS Architecture
 Subsystem Structure
11
 ONOS 에서 Subsystem 의 상세 구조
 Provider Component 와 App Component 는 Distributed Core 의 Manager Component에 등록하여, Provider 에
서 오는 정보를 App 이 수신하고, App 에서 Provider 로 명령 전달이 가능 함
© PIOLINK, Inc. SDN No.1
ONOS Architecture
 ONOS에서 Event 와 Description 의 정의
- ONOS 내부에서 전달되는 정보(information) 를 의미 함
- Description
• Southbound API 를 통해 전달되는 Network Element 의 정보(information)를 의미
- ex) HostDescription 은 Host 의 MAC, IP주소와 네트워크 상의 위치를 의미함
(vlan or device에 연결된 port)
- Event
• Store 에서 분산처리를 위해 사용
• Manager 에서 Listener로 네트워크 상태변화와 같은 정보를 알리기 위해 사용
- ex) DeviceEvent: DEVICE_ADD, DEVICE_REMOVED, DEVICE_UPDATED
12
© PIOLINK, Inc. SDN No.1
ONOS Architecture
13
 ONOS에서 Event 와 Description 의 정의
 네트워크 상에 OpenFlow 스위치가 활성화 될 경우, OpenFlow Provider 를 통해 Description 형태로, 스위치 정보
전달
 Component Manager 에 스위치 정보가 저장되고, 스위치 정보는 Event 형태로 동일한 Service 의 Application 이
나 다른 Application 으로 전달
© PIOLINK, Inc. SDN No.1
 Key Elements of ONOS
14
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
15
 ONOS 의 핵심은 다음과 같이 요약 가능
- Scale-out, High Availability, Performance, North-bound Abstraction. South-bound Abstraction
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Distributed Core
- Performance
- Scale-out
- High Availability
- State Management
16
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Distributed Core
-여러 개의 ONOS Instance 를 묶어 Cluster 형태로 운영 가능
17
Instance 1 Instance 2
Distributed
Network OS
Network
Elements
172.17.0.2 172.17.0.3
 Cluster 형태로 운영하기 위해서 ONOS 에서 Clustering 설정이 필요 함
 Custer 구성 시 각 Switch 들은 Instance 1 과 Instance 2 로 연결을 수행 해야 함
- Switch 가 등록될 경우 Switch 의 상태 정보는 Instance 1과 Instance 2 에 모두 저장 됨
OF: 1 OF: 3 OF: 5
OF: 2 OF: 4 OF: 6
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Distributed Core
18
 클러스터 구성 시 ONOS GUI 실행 모습
 GUI 를 통해 Instance1(172.17.0.2) 와 Instance2(172.17.0.3) 의 네트워크 상태정보 확인이 가능
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Distributed Core
19
 Switch 1, 4, 5, 6 은 Instance 1 에 연결, Switch 2, 3 은 Instance 2 에 연결
 각 Switch 들은 두개의 Instance 에 연결을 하지만, Instance 들 사이에서 하나의 Master Instance 를 설정하
여, 서비스를 제공 받음
- ex) 사용자가 OF1 에 Flow Table 을 추가할 경우 Instance1(172.17.0.2) 에서 추가해야 하지만, 추가된 Flow Table 정보는
Instance2(172.17.0.3) 에도 저장
OF: 1
OF: 2
OF: 3
OF: 4
OF: 5
OF: 6
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Distributed Core
Instance 1 Instance 2
Distributed
Network OS
Network
Elements
172.17.0.2 172.17.0.3
OF: 1
Switch 1 : Master Switch 1: Standby
Distributed
Registry
 Master Election 알고리즘을 통해 Master 와 Standby Instance 를 선정
 Master 를 통해 서비스를 제공 받다가 Master 에 장애가 발생할 경우 Standby Instance 가 Master 로 변경되
어 짐
 Master 는 한 개지만, Standby Instance 는 두 개 이상
- ex> Master 가 Instance1 이고 Standby 가 Instance2, Instance3, Instance4 …
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Distributed Core
21
 Instance1(172.17.0.2) 은 네트워크 상에 파란색으로 표시되는 Switch 들의 Master
 Instance2(172.17.0.3) 은 네트워크 상에 갈색으로 표시되는 Switch 들의 Master
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Distributed Core
22
• 명령어를 통해 Master Instance 재설정이 가능
• 앞 페이지와 Instance 당 스위치 수 비교: Cluster 로 구성된 Instance 들 사이의 관리 Switch 를 적절하게 분배
OF: 1
OF: 2
OF: 3
OF: 4
OF: 5
OF: 6
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Distributed Core
- Performance
- Scale-out
- High Availability
- State Management
23
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Performance : Key Performance Requirements
24
 Large Network 를 관리하기 위해서 고성능을 요구함
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Distributed Core
- Performance
- Scale-out
- High Availability
- State Management
25
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Scale-out
26
 각 Instance 는 Network 의 한 부분을 구축하고 관리하는 역할을 담당
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Scale-out
27
 네트워크 규모가 커짐에 따라 Control Capacity 증가 가능
-
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Distributed Core
- Performance
- Scale-out
- High Availability
- State Management
28
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 High Availability
29
 ONOS 는 클러스터 형태로도 운영이 가능 (Single Instance or Multiple Instance)
- 각기 다른 서버들을 하나로 묶어서 하나의 시스템 같이 동작하게 함
 Network Device 에서는 Single Instance 인지 Multiple Instance 인지 인식하지 못함
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 High Availability
30
 서버 클러스터로 운영 시 Network Device 는 한 개의 Master Instance 로 서비스를 제공 받음
 클러스터로 연결된 Instance 들 사이에 Leader election Mechanism 을 통해 하나의 Master Instance 를 선정
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 High Availability: Fault-tolerance using Distributed Registry
31
 Network Element 에 High Availability 서비스를 제공
 클러스터의 Master Instance 에서 장애가 발생할 경우…
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 High Availability: Fault-tolerance using Distributed Registry
32
 클러스터로 묶인 다른 마스터 후보 (정상적인 서버)와 재 연결
 Network Device 들에게 지속적이고, 끊기지 않게 서비스 이용 가능
- 클러스터 운영 시 Switch 의 정보는 Instance1, Instance2, Instance3 에 동기화 되어 있음
- 다른 Instance 에 연결되어도 정상적인 서비스 가능
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 High Availability Example: Fault-tolerance using Distributed Registry
33
 최초 설정 시 Instance 1은 Switch 4, 5, 6 의 Master, Instance 2 는 Standby
 최초 설정 시 Instance 2는 Switch 1, 2, 3 의 Master, Instance 1 은 Standby
OF: 1
OF: 2
OF: 3
OF: 4
OF: 5
OF: 6
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 High Availability Example: Fault-tolerance using Distributed Registry
34
 Instance 2 를 강제로 종료 할 경우, Switch 4, 5, 6 의 Master 가 Instance 1 으로 변경
OF: 1
OF: 2
OF: 3
OF: 4
OF: 5
OF: 6
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Distributed Core
- Performance
- Scale-out
- High Availability
- State Management
35
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
36
 State Management
 Distributed Core 의 주된 역할은 State Management (Intents, Topology, Flow Tables)
 클러스터로 묶인 서버에 저장되어 있는 State 들에 대한 동기화 필요
 각 state 들이 사이즈, read/write pattern, 지속시간 등이 다르기 때문에 각 state에 최적화된 동기화 메커니즘이
필요 함
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
37
 State Management : Example #01
 Switch A 가 네트워크에 연결될 경우 Instance1 이 Switch A의 Master 로 설정됨
 Instance2, Instance3 는 Switch A의 Standby 가 됨
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
38
 State Management : Example #01
 Instance1 의 저장소에 Switch A의 Master 는 Instance1 이라는 정보를 저장하려고 할 때 , Instance1 은
Standby 의 저장소에 해당 정보를 바로 동기화 함
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
39
 State Management : Example #01
 Instance1, Instance2, Instance3 의 분산저장소에 동시에 Lock, Store(switch A의 Master 정보), Unlock 을 진행
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
40
 State Management : Example #02
 Instance1 에 연결된 Switch A의 상태가 비활성화(Inactive) 에서 활성화(Active) 상태로 변경됨
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
41
 State Management: Example #02
 Instance1 의 저장소에 Switch A의 상태가 Active 라는 정보를 저장한 후 , Instance1 은 Standby 의 저장소에 해
당 정보를 동기화 함
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
42
 State Management : Example #02
 Instance1 의 저장소에 Switch A의 상태가 Active 라는 정보를 저장한 후 , Instance1 은 Standby 의 저장소에 해
당 정보를 동기화 함
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Master Election: Strong Consistency
-정보를 저장하려고 할 때, 바로 동기화 함
-즉각적이고 정확한 Consistency 를 보장 (Write 에 대한 일관성을 보장)
- 정확한 Consistency 를 보장하지 않을 경우, 여러 개의 Master를 인식할 가능성이 존
재
 Network State: Eventual Consistency
- 정보를 저장한 후, 동기화 함
- 즉각적이고 정확한 Consistency 를 보장하지 않지만, 시스템 부하를 줄임
- 네트워크 상태는 수시로 변경됨으로, 실시간으로 반영하기 어려움
43
 각 State의 특징에 맞는 Consistency 모델 필요
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
-Application Intents
• Strongly consistent
44
172.16.0.0 172.17.0.0 172.18.0.0
- Flow Rules, Flow Stats
• Eventually consistent
- Network Topology
• Eventually consistent
Intent Intent Intent
 State Management
 ONOS 는 서비스 제공을 위해 Intent, Network Topology, Flow Rule 등 다양한 상태정보를 저장하고 있음
 상태정보의 특성에 맞는 Consistent 알고리즘이 필요
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
Northbound Abstractions
- Intent Framework
- Global Network View
45
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Northbound Abstractions
- Northbound Interface 추상화를 통해 서비스 개발 및 설정, 관리가 용이하도록 함
46
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
Northbound Abstractions
- Intent Framework
- Global Network View
47
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Intent Framework
- Intent 프로그래밍
• Application specifies high-level intents (not low-level rules)
• How 가 아닌 What 에 초점을 맞춘 Programming
- 상세 설정은 ONOS 에서…
- Examples:
• Host A 와 Host B 를 연결
• Switch X 와 Switch Y 사이에 Z 의 Bandwidth 를 가지는 최적의 Path 설정
• Host A 와 Host B 사이 트래픽을 차단
48
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Intent Framework Design
49
 Intent Framework 는 위와 같은 구조로 되어 있음
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Intents in ONOS 1.0.0
-Connectivity-Based
• Host to Host, Multi-Point to Single Point
- Supports Constraints as policy
• Link type, bandwidth
50
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Northbound Abstractions: Intent Example
 Application 에서 Intent 를 설정 할 경우 ONOS 에서 Compile, Install 과정을 거쳐 Network Device 에 맞는
Protocol 로 변경되어 전달 됨
51
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Northbound Abstractions: Intent Example
- Intent: Set up connection between Host A and Host B
52
Host A Host B
Connection
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Northbound Abstractions: Intent Example
- Intent: Set up connection between Host A and Host B
53
Host A Host B
Connection
Host A Host B Host A Host B
Compilation
Host to Host Intent
Path Intent Path Intent
Compile 을 통해 두개의 Path Intent 로 변환
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Northbound Abstractions: Intent Example
54
Host A Host B Host A Host B
Install
Path Intent Path Intent
Flow Rule Batch Flow Rule Batch
Install 시 Network Device 에 적합한 형태로 변환
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Intent Example : Connectivity-Based (Host to Host)
55
GUI 를 이용해, 연결을 원하는 호스트 클릭
 Host 1(10.0.0.1) 에서 Host 2 (10.0.0.2) 로 가는 Path 를 설정하고 싶을 경우
 Host 1, Host 2를 순서대로 클릭 (Network 의 Switch 는 클릭하지 않음)
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Intent Example : Connectivity-Based (Host to Host)
56
 Host1, Host2 사이의 최적화된 경로를 찾아 ONOS 에서 Flow Path 를 생성 함
 ONOS 에서 각 스위치에 Flow Table 을 추가 함
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Intent Example : Connectivity-Based (Host to Host)
57
 ONOS 에서 명령어를 이용해, Intent 와 Flow Table 을 확인
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Intent Example : Connectivity-Based (Multi-point to Single point)
58
 여러 개의 Host 를 클릭할 경우 Multi-Source Flow 생성이 가능 함
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
Northbound Abstractions
- Intent Framework
- Global Network View
59
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Global Network View
- Application 에게 ONOS 가 관리하는 Network 의 Global View를 제공
• Host, switch, link, network utilization 변수로 사용될 수 있는 상태 값
- Application 에서는 Northbound API 를 통해 Application 에 적합한 Network View를
Program이 가능함
• Network View 를 통해 최적화된 경로를 찾는 Application
• 네트워크 모니터링을 통한 동적인 트래픽 부하분산 Application
• 보안검사 수행을 위한 트래픽 경로변경 Application
60
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Network View: Model Object Types
61
 ONOS 에서는 GUI를 통해 Network View 를 제공 함. Network Elements 들을 하나의 Object 로 단순화 하여 표
현
- Switch, router, access-point 는 종류에 관계 없이 하나의 Device Object 로 표현
 Object 와 Link 로 Network View 를 제공, 자동으로 인식하고 사용자가 직접 추가 가능
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
62
 Network Graph and Switches
 네트워크 상에 OpenFlow 를 지원하는 스위치가 있을 경우, OpenFlow 프로토콜을 이용하여 ONOS 의 Switch
Manager 에서 Switch 정보 수집
 Switch Manager 에 저장된 정보를 이용하여 Network Graph 에서 Switch 정보를 표현
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Network Graph and Switches
63
 네트워크에 6개의 OpenFlow 스위치가 존재 할 경우 ONOS에서 Network View
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
64
 Network Graph: Links
 ONOS 의 Link Discovery 모듈에서 네트워크에 존재하는 Device 간 Link 정보를 수집
 Link Discovery 에 저장된 정보를 이용하여 Network Graph 에서 Device 들이 연결된 link 정보를 표현
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Network Graph: Links
65
 네트워크에 6개의 OpenFlow 스위치 사이에 Link 가 생성될경우 ONOS에서 Network View
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
66
 Network Graph: Devices
 네트워크 상에 존재하는 Host 에서 패킷이 발생될 경우 ONOS 의 Device Manager 에서 Device 들의 정보 수집
- MAC, IP 주소, Link 정보
 Device Manager 에 저장된 정보를 이용하여 Network Graph 에서 Host 정보를 표현
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Network Graph: Devices
67
 네트워크에 3개의 Host 를 추가하고, ping 명령어를 이용해 패킷을 발생 시킬 경우 ONOS에서 Network View
 Host 에서 패킷이 발생되지 않을 경우 ONOS 는 해당 Host 를 인식하지 못함
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Southbound Abstraction
68
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Southbound Abstraction
-ONOS 가 서로 다른 프로토콜을 사용하는 (OpenFlow, NetConf, etc)다양한 종류의 디
바이스들을 제어하고 관리할 수 있도록 지원 (device -agnostic)
• ONOS는 Southbound Abstraction 을 통해 Network Elements 들을 하나의 Object
로 로 표현
-Pluggable Southbound: 새로운 종류의 디바이스와 프로토콜 추가 가능
69
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Southbound Abstraction
70
 Bring Your Own Provider: ONOS 를 이용하여 Network Device 를 제어 할때 ONOS 에서 제공하는 OpenFlow,
NetConf 외에 새로운 프로토콜이 필요할 경우
 사용자가 새로운 Provider Component를 개발하여 ONOS 모듈에 추가 가능
- 사용자가 원하는 프로토콜 확장이 가능함
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Provider Lifecycle
71
OpenFlow
Provider
NetConf
Provider
Provider
Component
Provider
Core
Provider Service Provider Registry
1. register
4. unregister
2. sensing
3. command
1. Provider 는 Provider Registry 를 통해 Core 에 등록
2. Provider 는 Core 에 새로운 이벤트(Device connected, Packet in)를 알리기 위해서 Provider Service
모듈을 이용
3. Core 는 Provider 가 관리하는 Network Element로 명령을 내리기 위해 Provider 를 이용
4. Provider 는 Provider Registry 를 통해 Core 에 등록 삭제
 ONOS에 새로운 Provider Component 를 추가하는 방법은 다음과 같음
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 OpenFlow Specific Provider
- Device Provider
- Packet Provider
- Flow Provider
 Generic Provider
- LLDP Provider
- Host Provider
72
 현재 ONOS V1.0.0 에서 제공하고 있는 Provider Component
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
Software Modularity
73
© PIOLINK, Inc. SDN No.1
Key Elements of ONOS
 Software Modularity
- Software System 으로써 ONOS 개발, 디버깅, 통합 및 수정이 용이하도록 모듈화
-Java 언어 기반의 OSGi framework (karaf 사용)
• 재부팅 없이 동적으로 Component 추가 삭제가 가능함
-모듈화 구조를 통해 기능확장이 용이 함
74
© PIOLINK, Inc. SDN No.1
Conclusions
 오픈소스 네트워크 운영체제
- 개방성과 비용절감
 확장성, 높은 가용성, 성능
- 서비스 제공업체와 기업들의 요구를 충족 시킬 수 있는 SDN 컨트롤러
- 새롭고 차별화된 서비스 개발을 가능하게 함
 Southbound, Northbound API 기능과 모듈 구성
- 서비스 개발이 쉽고 다양한 서비스 개발이 가능
75
대규모 네트워크 환경에 필요한 캐리어급 SDN 컨트롤러
© PIOLINK, Inc. SDN No.1
References
 http://onosproject.org/resources/
 http://wiki.onosproject.org
 ONOS: Open Network Operating System, Pankaj Berde, Open Networking Laboratory
 ONOS: Towards an Open, Distributed SDN OS, Pankaj Berde
76
© PIOLINK, Inc. SDN No.1
Appendix A
 Installing and Running ONOS
77
© PIOLINK, Inc. SDN No.1
Appendix A: Installing and Running ONOS
1. Git 설치
78
2. Karaf 3.0.2 와 Maven 3.2.2 binaries 다운로드
build:~$ sudo apt-get install git-core
build:~$ cd; mkdir Downloads Applications
build:~$ cd Downloads
build:~$ wget http://download.nextag.com/apache/karaf/3.0.2/apache-karaf-3.0.2.tar.gz
build:~$ wget http://www.apache.org/dist/maven/binaries/apache-maven-3.2.2-bin.tar.gz
build:~$ tar -zxvf apache-karaf-3.0.2.tar.gz -C ../Applications/
build:~$ tar -zxvf apache-maven-3.2.2-bin.tar.gz -C ../Applications/
© PIOLINK, Inc. SDN No.1
Appendix A: Installing and Running ONOS
3. Oracle Java 8 설치
79
build:~$ sudo apt-get install software-properties-common -y
build:~$ sudo add-apt-repository ppa:webupd8team/java -y
build:~$ sudo apt-get update
build:~$ sudo apt-get install oracle-java8-installer oracle-java8-set-default -y
4. Git 을 이용하여, ONOS 소스 Home Directory 로 복사
build:~$ git clone
https://gerrit.onosproject.org/onos -b 1.0.0
5. ~/.profile 에 아래 내용 추가
. ~/onos/tools/dev/bash_profile
6. 명령어 수행
build:~$ . ~/.profile
© PIOLINK, Inc. SDN No.1
Appendix A: Installing and Running ONOS
7. Karaf 설정 파일 featureRepositories 부분에 아래 내용 추가
80
build:~$ vi ~/Applications/apache-karaf-3.0.2/etc/org.apache.karaf.features.cfg
mvn:org.onosproject/onos-features/1.0.0-SNAPSHOT/xml/features
8. Maven 을 이용하여 ONOS 빌드
build:~$ cd ~/onos
build:~$ mvn clean install # or use the alias 'mci'
© PIOLINK, Inc. SDN No.1
Appendix A: Installing and Running ONOS
9. cell definition 파일 생성 (ONOS 에서 사용하는 환경변수 파일)
81
build:~$ vi ~/onos/tools/test/cells/tutorial
# ONOS from Scratch tutorial cell
# the address of the VM to install the package onto
export OC1="192.168.56.101"
# the default address used by ONOS utilities when none are supplied
export OCI="192.168.56.101"
# the ONOS apps to load at startup
export ONOS_FEATURES="onos-api,onos-core-trivial,onos-cli,onos-openflow,onos-
app-ifwd"
# the Mininet VM (if you have one)
export OCN="192.168.56.102"
# pattern to specify which address to use for inter-ONOS node communication (not
used with single-instance core)
export ONOS_NIC="192.168.56.*"
10. cell 적용
build:~$ cell tutorial
© PIOLINK, Inc. SDN No.1
Appendix A: Installing and Running ONOS
82
11. 사용자 계정 비밀번호 설정
build:~$ onos-push-keys 192.168.56.101
sdn@192.168.56.101's password:
sdn@192.168.56.101's password:
12. ONOS 패키지 생성
build:~$ onos-package
-rw-rw-r-- 1 onosuser onosuser 33395409 Dec 4 16:12 /tmp/onos-1.0.0.onosuser.tar.gz
13. ONOS 패키지 설치
build:~$ onos-install -f $OC1
onos start/running, process 2028
© PIOLINK, Inc. SDN No.1
Appendix A: Installing and Running ONOS
83
14. ONOS 실행
build:~$ onos $OC1
Logging in as karaf
Welcome to Open Network Operating System (ONOS)!
____ _ ______ ____
/ __ / |/ / __ / __/
/ /_/ / / /_/ / 
____/_/|_/____/___/
Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown ONOS.
onos>
15. GUI bundle 로드
onos> feature:install onos-gui
16. GUI 실행 확인 (웹브라우져에서 실행)
http://localhost:8181/onos/ui/index.html
17. ONOS 명령어 확인
onos> --help
© PIOLINK, Inc. SDN No.1
Appendix B
 ONOS Northbound API
84
© PIOLINK, Inc. SDN No.1
Appendix B: ONOS Northbound API
 ONOS Northbound API
- ONOS 에서는 App 에서 Network Elements 들을 관리/제어 할 수 있는 API 를 제공
- ONOS V1.0.0 기준이며 향후 변경 가능성 존재 함
- REST API 형태로 제공
• Device
• Link
• Host
• Topology
• Path
• Flow
• Intent
85
© PIOLINK, Inc. SDN No.1
Appendix B: ONOS Northbound API
 ONOS Northbound API
86
GET /devices Lists all infrastructure devices.
GET /devices/{deviceId} Lists details of a specific infrastructure device.
GET /devices/{deviceId}/ports Lists ports of a specific infrastructure device.
POST /devices Creates a new infrastructure device into inventory (future).
PUT /devices/{deviceId} Updates a device - attributes, availability, mastership.
DELETE /devices/{deviceId} Deletes an infrastructure device from inventory
GET /links Lists all infrastructure links.
GET /links?{device=deviceId}{port=portNumber}{direc
tion=[ALL,INGRESS,EGRESS]}
Lists details of a link.
POST /links Creates a new infrastructure link into inventory (future).
PUT /links/{linkId} Updates a link - attributes, e.g. type.
DELETE /link/{linkId} Deletes an infrastructure link from inventory.
Device
Link
© PIOLINK, Inc. SDN No.1
Appendix B: ONOS Northbound API
 ONOS Northbound API
87
GET /hosts Lists all end-stations hosts.
GET /hosts/{hostId}
Lists details of a specific end-station host specified by the h
ost ID.
GET /hosts/{mac}/{vlan}
Lists details of a specific end-station host specified by the h
ost MAC address and VLan Id.
POST /hosts Creates a new end-station host into inventory (future).
PUT /hosts/{hostId} Updates an end-station host - attributes, e.g. IP, location.
DELETE /hosts/{hostId} Deletes an end-station host from inventory.
GET /paths/{elementId}/{elementId}
Gets set of pre-computed shortest paths between the speci
fied source and destination network elements.
Host
Path
© PIOLINK, Inc. SDN No.1
Appendix B: ONOS Northbound API
 ONOS Northbound API
88
GET /topology Gets overview of the current topology.
GET /topology/clusters Gets list of topology cluster overviews.
GET /topology/cluster/{clusterId} Gets overview of a specific topology cluster.
GET /topology/cluster/{clusterId}/devices
Gets infrastructure devices that belong to the specified top
ology cluster.
GET /topology/cluster/{clusterId}/links
Gets infrastructure links that belong to the specified topolo
gy cluster.
GET /topology/broadcast/{connectPoint} Gets indication whether the given point permits broadcast.
GET /topology/infrastructure/{connectPoint}
Gets indication whether the given point belongs to network
infrastructure.
Topology
© PIOLINK, Inc. SDN No.1
Appendix B: ONOS Northbound API
 ONOS Northbound API
89
GET /intent/{intent-id} Gets the details for the given Intent object.
GET /intents
Gets a collection containing all the Intent objects currently i
n the system.
POST /intent Creates a new Intent object.
POST /intents
Creates a batch of Intent objects (pending -may not be incl
uded in finalized API).
DELETE /intent/{Intent-id} Removes an intent from the system.
Intent
© PIOLINK, Inc. SDN No.1
Appendix B: ONOS Northbound API
 ONOS Northbound API
90
GET /flows/{deviceId}
Gets list of flow rules applied to the specified infrastructure
device.
GET /flows/{deviceId}/{flowId} Gets details of a specified flow rule.
GET /flows Gets details of all flow rules in the system.
POST /flows/
Applies batch of flow rule operations; this includes add/rem
ove operations.
POST /flows/{deviceId} Applies a new flow rule on the specified device.
DELETE /flows/{deviceId}/{flowId} Deletes a flow rule from the specified device.
GET /flows/link/{linkId}
Gets aggregate statistics for all flows traversing the given li
nk.
Flow
© PIOLINK, Inc. SDN No.1
Appendix C
 ONOS V1.1.0 Blackbird 소개
91
© PIOLINK, Inc. SDN No.1
Appendix C: ONOS V1.1.0 Blackbird 소개
 Feb 28th, 2015 Release 예정
 ONOS V1.1 의 Main Theme 는 Stability and Performance
- ONOS V1.0 에서 Perf/Scale-out 은 Target 이 아니었음
 ONOS V1.1.0 Release
- ONOS V1.0(Avocet) 에서 발견된 Bug 수정
- Performance and Scale
• 실제 하드웨어(Commodity Bare-metal Servers) 기반 Performance, Scale 테스트
• Clustering 성능평가를 위한 기준 값 제시
• Distributed Core 를 Hazelcast 에서 RAFT 를 이용한 구현으로 변경
- HA 부분 개선
- Use Case 내용 추가: SDN-IP at Internet2
- UI 개선
- Test Framework 개선
 다음 Release 는 Cardinal (May 31st, 2015 예정)
92
감사합니다.
㈜파이오링크
서울시 금천구 가산디지털2로 98
(가산동 550-1) IT캐슬 1동 401호
TEL: 02-2025-6900
FAX: 02-2025-6901
www.PIOLINK.com
93

More Related Content

What's hot

20150818 jun lee_openstack kilo release 내용 분석
20150818 jun lee_openstack kilo release 내용 분석20150818 jun lee_openstack kilo release 내용 분석
20150818 jun lee_openstack kilo release 내용 분석rootfs32
 
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험Seung-Hoon Baek
 
Open vSwitch의 Vendor Extension 구현
Open vSwitch의 Vendor Extension 구현Open vSwitch의 Vendor Extension 구현
Open vSwitch의 Vendor Extension 구현Seung-Hoon Baek
 
Brocade Vyatta Controller Overview
Brocade Vyatta Controller OverviewBrocade Vyatta Controller Overview
Brocade Vyatta Controller OverviewSeung-Hoon Baek
 
Mininet
MininetMininet
Mininetymtech
 
20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)rootfs32
 
20161110 cmlee opnfv_colorado1.0_분석
20161110 cmlee opnfv_colorado1.0_분석20161110 cmlee opnfv_colorado1.0_분석
20161110 cmlee opnfv_colorado1.0_분석Cheolmin Lee
 
NFV Management and Orchestration 분석
NFV Management and Orchestration 분석NFV Management and Orchestration 분석
NFV Management and Orchestration 분석rootfs32
 
20151030 jun lee_vnf 의 reliabilityavailability 제공을 위한 방법 (최종)
20151030 jun lee_vnf 의 reliabilityavailability 제공을 위한 방법 (최종)20151030 jun lee_vnf 의 reliabilityavailability 제공을 위한 방법 (최종)
20151030 jun lee_vnf 의 reliabilityavailability 제공을 위한 방법 (최종)rootfs32
 
OpenFlow 1.5.1
OpenFlow 1.5.1OpenFlow 1.5.1
OpenFlow 1.5.1jungbh
 
Network virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center NetworkNetwork virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center NetworkInho Kang
 
Mastering devops with oracle 강인호
Mastering devops with oracle 강인호Mastering devops with oracle 강인호
Mastering devops with oracle 강인호Inho Kang
 
[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개
[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개
[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개OpenStack Korea Community
 
ONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testsangyun han
 
클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)
클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)
클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)Laehyoung Kim
 
K8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postK8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postInho Kang
 
OpenWRT/Hostapd with ONOS
OpenWRT/Hostapd with ONOSOpenWRT/Hostapd with ONOS
OpenWRT/Hostapd with ONOSsangyun han
 
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Nanha Park
 

What's hot (20)

20150818 jun lee_openstack kilo release 내용 분석
20150818 jun lee_openstack kilo release 내용 분석20150818 jun lee_openstack kilo release 내용 분석
20150818 jun lee_openstack kilo release 내용 분석
 
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험
 
Open vSwitch의 Vendor Extension 구현
Open vSwitch의 Vendor Extension 구현Open vSwitch의 Vendor Extension 구현
Open vSwitch의 Vendor Extension 구현
 
OpenDaylight 소개
OpenDaylight 소개OpenDaylight 소개
OpenDaylight 소개
 
Brocade Vyatta Controller Overview
Brocade Vyatta Controller OverviewBrocade Vyatta Controller Overview
Brocade Vyatta Controller Overview
 
OCP Switch Overview
OCP Switch OverviewOCP Switch Overview
OCP Switch Overview
 
Mininet
MininetMininet
Mininet
 
20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)
 
20161110 cmlee opnfv_colorado1.0_분석
20161110 cmlee opnfv_colorado1.0_분석20161110 cmlee opnfv_colorado1.0_분석
20161110 cmlee opnfv_colorado1.0_분석
 
NFV Management and Orchestration 분석
NFV Management and Orchestration 분석NFV Management and Orchestration 분석
NFV Management and Orchestration 분석
 
20151030 jun lee_vnf 의 reliabilityavailability 제공을 위한 방법 (최종)
20151030 jun lee_vnf 의 reliabilityavailability 제공을 위한 방법 (최종)20151030 jun lee_vnf 의 reliabilityavailability 제공을 위한 방법 (최종)
20151030 jun lee_vnf 의 reliabilityavailability 제공을 위한 방법 (최종)
 
OpenFlow 1.5.1
OpenFlow 1.5.1OpenFlow 1.5.1
OpenFlow 1.5.1
 
Network virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center NetworkNetwork virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center Network
 
Mastering devops with oracle 강인호
Mastering devops with oracle 강인호Mastering devops with oracle 강인호
Mastering devops with oracle 강인호
 
[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개
[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개
[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개
 
ONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and test
 
클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)
클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)
클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)
 
K8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postK8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_post
 
OpenWRT/Hostapd with ONOS
OpenWRT/Hostapd with ONOSOpenWRT/Hostapd with ONOS
OpenWRT/Hostapd with ONOS
 
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
 

Viewers also liked

대신리포트_마켓 브라우저_140327
대신리포트_마켓 브라우저_140327대신리포트_마켓 브라우저_140327
대신리포트_마켓 브라우저_140327DaishinSecurities
 
4th SDN Interest Group Seminar-Session 2-1(130313)
4th SDN Interest Group Seminar-Session 2-1(130313)4th SDN Interest Group Seminar-Session 2-1(130313)
4th SDN Interest Group Seminar-Session 2-1(130313)NAIM Networks, Inc.
 
Tech Talk by Ben Pfaff: Open vSwitch - Part 2
Tech Talk by Ben Pfaff: Open vSwitch - Part 2Tech Talk by Ben Pfaff: Open vSwitch - Part 2
Tech Talk by Ben Pfaff: Open vSwitch - Part 2nvirters
 
Chapter 11(cash flow budgeting)
Chapter 11(cash flow budgeting)Chapter 11(cash flow budgeting)
Chapter 11(cash flow budgeting)Rione Drevale
 
XOS in open CORD project
XOS in open CORD projectXOS in open CORD project
XOS in open CORD projectsangyun han
 
Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)sangyun han
 
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...ON.LAB
 
Under the Hood: Open vSwitch & OpenFlow in XCP & XenServer
Under the Hood: Open vSwitch & OpenFlow in XCP & XenServerUnder the Hood: Open vSwitch & OpenFlow in XCP & XenServer
Under the Hood: Open vSwitch & OpenFlow in XCP & XenServerThe Linux Foundation
 
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발sangyun han
 
NFV VNF Architecture
NFV VNF ArchitectureNFV VNF Architecture
NFV VNF Architecturejungbh
 
Open VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needsOpen VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needsrranjithrajaram
 
OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석Yongyoon Shin
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitchSim Janghoon
 
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchThe Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchTe-Yen Liu
 
Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서Yongyoon Shin
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Cisco DevNet
 
NFV Architectural Framework
NFV Architectural FrameworkNFV Architectural Framework
NFV Architectural FrameworkSeung-Hoon Baek
 

Viewers also liked (18)

대신리포트_마켓 브라우저_140327
대신리포트_마켓 브라우저_140327대신리포트_마켓 브라우저_140327
대신리포트_마켓 브라우저_140327
 
Chap010
Chap010Chap010
Chap010
 
4th SDN Interest Group Seminar-Session 2-1(130313)
4th SDN Interest Group Seminar-Session 2-1(130313)4th SDN Interest Group Seminar-Session 2-1(130313)
4th SDN Interest Group Seminar-Session 2-1(130313)
 
Tech Talk by Ben Pfaff: Open vSwitch - Part 2
Tech Talk by Ben Pfaff: Open vSwitch - Part 2Tech Talk by Ben Pfaff: Open vSwitch - Part 2
Tech Talk by Ben Pfaff: Open vSwitch - Part 2
 
Chapter 11(cash flow budgeting)
Chapter 11(cash flow budgeting)Chapter 11(cash flow budgeting)
Chapter 11(cash flow budgeting)
 
XOS in open CORD project
XOS in open CORD projectXOS in open CORD project
XOS in open CORD project
 
Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)
 
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...
 
Under the Hood: Open vSwitch & OpenFlow in XCP & XenServer
Under the Hood: Open vSwitch & OpenFlow in XCP & XenServerUnder the Hood: Open vSwitch & OpenFlow in XCP & XenServer
Under the Hood: Open vSwitch & OpenFlow in XCP & XenServer
 
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
 
NFV VNF Architecture
NFV VNF ArchitectureNFV VNF Architecture
NFV VNF Architecture
 
Open VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needsOpen VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needs
 
OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitch
 
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchThe Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitch
 
Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
 
NFV Architectural Framework
NFV Architectural FrameworkNFV Architectural Framework
NFV Architectural Framework
 

Similar to ONOS(Open Network Operating System) V1.0 Avocet

2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)NAIM Networks, Inc.
 
[OpenStack Day in Korea 2015] Track 2-4 - Towards Programmable Network (Conce...
[OpenStack Day in Korea 2015] Track 2-4 - Towards Programmable Network (Conce...[OpenStack Day in Korea 2015] Track 2-4 - Towards Programmable Network (Conce...
[OpenStack Day in Korea 2015] Track 2-4 - Towards Programmable Network (Conce...OpenStack Korea Community
 
1st SDN Interest Group Seminar - Session1 (121017)
1st SDN Interest Group Seminar - Session1 (121017)1st SDN Interest Group Seminar - Session1 (121017)
1st SDN Interest Group Seminar - Session1 (121017)NAIM Networks, Inc.
 
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solutionOpenStack Korea Community
 
CEIC 2016 테스트베드 구축
CEIC 2016 테스트베드 구축CEIC 2016 테스트베드 구축
CEIC 2016 테스트베드 구축BoanLabDKU
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0Ji-Woong Choi
 
1st SDN Interest Group Seminar - Session2 (121017)
1st SDN Interest Group Seminar - Session2 (121017)1st SDN Interest Group Seminar - Session2 (121017)
1st SDN Interest Group Seminar - Session2 (121017)NAIM Networks, Inc.
 
시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬
시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬
시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬위키북스
 
[OpenInfra Days Korea 2018] (Track 3) - SDN/NFV enabled Openstack Platform : ...
[OpenInfra Days Korea 2018] (Track 3) - SDN/NFV enabled Openstack Platform : ...[OpenInfra Days Korea 2018] (Track 3) - SDN/NFV enabled Openstack Platform : ...
[OpenInfra Days Korea 2018] (Track 3) - SDN/NFV enabled Openstack Platform : ...OpenStack Korea Community
 
SDN입문 (Overlay and Underlay)
SDN입문 (Overlay and Underlay)SDN입문 (Overlay and Underlay)
SDN입문 (Overlay and Underlay)NAIM Networks, Inc.
 
SDN - 2018 Zeropage Devil's Camp
SDN - 2018 Zeropage Devil's CampSDN - 2018 Zeropage Devil's Camp
SDN - 2018 Zeropage Devil's CampMookeunJi
 
Wiki academy sysadmin 1_day
Wiki academy sysadmin 1_dayWiki academy sysadmin 1_day
Wiki academy sysadmin 1_dayJo Hoon
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가VMware Tanzu Korea
 
3rd SDN Interest Group Seminar-Session 3 (130123)
3rd SDN Interest Group Seminar-Session 3 (130123)3rd SDN Interest Group Seminar-Session 3 (130123)
3rd SDN Interest Group Seminar-Session 3 (130123)NAIM Networks, Inc.
 
Kubernetes & Istio in Multi-Cloud
Kubernetes & Istio in Multi-Cloud Kubernetes & Istio in Multi-Cloud
Kubernetes & Istio in Multi-Cloud Sangwon Seo
 
5th SDN Interest Group Seminar-Session2 (130605)
5th SDN Interest Group Seminar-Session2 (130605)5th SDN Interest Group Seminar-Session2 (130605)
5th SDN Interest Group Seminar-Session2 (130605)NAIM Networks, Inc.
 
ACI Netflow 구성 가이드
ACI Netflow 구성 가이드ACI Netflow 구성 가이드
ACI Netflow 구성 가이드Woo Hyung Choi
 
국내외 Io t 기술 표준
국내외 Io t 기술 표준국내외 Io t 기술 표준
국내외 Io t 기술 표준남억 김
 
Cisco IoT presentation 20140807
Cisco IoT presentation 20140807Cisco IoT presentation 20140807
Cisco IoT presentation 20140807Youngsam Khee
 

Similar to ONOS(Open Network Operating System) V1.0 Avocet (20)

2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)
 
[OpenStack Day in Korea 2015] Track 2-4 - Towards Programmable Network (Conce...
[OpenStack Day in Korea 2015] Track 2-4 - Towards Programmable Network (Conce...[OpenStack Day in Korea 2015] Track 2-4 - Towards Programmable Network (Conce...
[OpenStack Day in Korea 2015] Track 2-4 - Towards Programmable Network (Conce...
 
1st SDN Interest Group Seminar - Session1 (121017)
1st SDN Interest Group Seminar - Session1 (121017)1st SDN Interest Group Seminar - Session1 (121017)
1st SDN Interest Group Seminar - Session1 (121017)
 
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
 
CEIC 2016 테스트베드 구축
CEIC 2016 테스트베드 구축CEIC 2016 테스트베드 구축
CEIC 2016 테스트베드 구축
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
 
1st SDN Interest Group Seminar - Session2 (121017)
1st SDN Interest Group Seminar - Session2 (121017)1st SDN Interest Group Seminar - Session2 (121017)
1st SDN Interest Group Seminar - Session2 (121017)
 
시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬
시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬
시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬
 
[OpenInfra Days Korea 2018] (Track 3) - SDN/NFV enabled Openstack Platform : ...
[OpenInfra Days Korea 2018] (Track 3) - SDN/NFV enabled Openstack Platform : ...[OpenInfra Days Korea 2018] (Track 3) - SDN/NFV enabled Openstack Platform : ...
[OpenInfra Days Korea 2018] (Track 3) - SDN/NFV enabled Openstack Platform : ...
 
SDN입문 (Overlay and Underlay)
SDN입문 (Overlay and Underlay)SDN입문 (Overlay and Underlay)
SDN입문 (Overlay and Underlay)
 
SDN - 2018 Zeropage Devil's Camp
SDN - 2018 Zeropage Devil's CampSDN - 2018 Zeropage Devil's Camp
SDN - 2018 Zeropage Devil's Camp
 
Wiki academy sysadmin 1_day
Wiki academy sysadmin 1_dayWiki academy sysadmin 1_day
Wiki academy sysadmin 1_day
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가
 
3rd SDN Interest Group Seminar-Session 3 (130123)
3rd SDN Interest Group Seminar-Session 3 (130123)3rd SDN Interest Group Seminar-Session 3 (130123)
3rd SDN Interest Group Seminar-Session 3 (130123)
 
Kubernetes & Istio in Multi-Cloud
Kubernetes & Istio in Multi-Cloud Kubernetes & Istio in Multi-Cloud
Kubernetes & Istio in Multi-Cloud
 
5th SDN Interest Group Seminar-Session2 (130605)
5th SDN Interest Group Seminar-Session2 (130605)5th SDN Interest Group Seminar-Session2 (130605)
5th SDN Interest Group Seminar-Session2 (130605)
 
ACI Netflow 구성 가이드
ACI Netflow 구성 가이드ACI Netflow 구성 가이드
ACI Netflow 구성 가이드
 
국내외 Io t 기술 표준
국내외 Io t 기술 표준국내외 Io t 기술 표준
국내외 Io t 기술 표준
 
Cisco IoT presentation 20140807
Cisco IoT presentation 20140807Cisco IoT presentation 20140807
Cisco IoT presentation 20140807
 
IRIS
IRISIRIS
IRIS
 

Recently uploaded

캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 

Recently uploaded (6)

캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 

ONOS(Open Network Operating System) V1.0 Avocet

  • 1. ONOS (Open Network Operating System) V1.0 Avocet 2015. 03. 11 ㈜파이오링크 SDN개발실 이준 (jun.lee@piolink.com)
  • 2. © PIOLINK, Inc. SDN No.1 Index  What is ONOS ?  ONOS Release  ONOS Architecture  Key Elements of ONOS - Distributed Core - Northbound abstraction - Southbound abstraction - Software Modularity  Conclusions  References  Appendix A - Installing and Running ONOS  Appendix B - ONOS Northbound API  Appendix C - ONOS V1.1.0 Blackbird 소개 2
  • 3. © PIOLINK, Inc. SDN No.1 What is ONOS?  ONOS (Open Networking Operating System) -스탠포드, UC 버클리, AT&T 등 학계 및 통신사업자가 주도하고 있는 프로젝트, 최근 국 내 이동통신사 SKT 참여 • ODL (OpenDayLight)과 경쟁관계 • Service Provider를 위한 캐리어급 오픈소스 SDN 운영체제 개발을 목표로 함 -Distributed Network OS for Large Scale Networks • Wan core backbone: 200-500 routers, 5K-10K ports • Metro networks: 10K-50K routers, 2M-3M+ ports • Cellular access network: 20K-100K devices, 100K-10M+ ports • Wired access/aggregation: 10K-50K devices, 100K-1M ports -Large Scale Networks 를 관리하기 위한 Distributed Network OS • Scale-out • High Performance • High Availability - Here distributed does not mean geo-distributed, but a single cluster of 5-25 co- located physical servers 3
  • 4. © PIOLINK, Inc. SDN No.1 ONOS Release 4 Name Version Date Description Avocet 1.0.0 Dec. 5, 2014 First open source ONOS release 1.0.1 Jan. 22, 2015 Maintenance Release 1 Blackbird 1.1.0-rc1 February 28th, 2015 Not available yet
  • 5. © PIOLINK, Inc. SDN No.1  ONOS Architecture 5
  • 6. © PIOLINK, Inc. SDN No.1 ONOS General Architecture 6  ONOS 는 위 그림과 같이 계층(Layer) 구조로 되어 있음  Network Element 설정을 위한 Protocol(openflow, netconf), ONOS 에서 Protocol 제어를 위한 Provider, ONOS 에서 Network Element 의 포워딩 제어 및 정보수집을 위한 Southbound Interface, ONOS 의 핵심인 Distributed Core, 응용계층에 정보 제공을 위한 Northbound Interface, 서비스 제공을 위한 응용프로그램 계층 Network Elements
  • 7. © PIOLINK, Inc. SDN No.1 ONOS Distributed Architecture 7  분산처리를 위해 여러 개의 ONOS 를 Cluster 형태로 묶어 운영이 가능 함
  • 8. © PIOLINK, Inc. SDN No.1 ONOS Distributed Architecture 8  ONOS 에는 두 가지 종류의 Control Channel 이 존재 함  Cluster 구성 시 Instance 사이에 정보를 교환하는 Control Channel (The control network)  Network Device 와 ONOS 사이에 정보를 교환하는 Control Channel (The network control channel)
  • 9. © PIOLINK, Inc. SDN No.1 ONOS Architecture 9  ONOS 에서 Service 와 Subsystem 의 정의  각 Layer 에 위치한 Component 들이 모여 하나의 Service 를 구성  ONOS Architecture 에서 Service 와 Subsystem 은 동일한 개념  만약 OpenFlow 프로토콜을 이용해서, Flow 테이블을 추가하는 서비스를 구성하고 싶을 경우, Providers, Distributed Core, Apps 에 Component 를 추가 해야 함
  • 10. © PIOLINK, Inc. SDN No.1 ONOS Architecture  ONOS defines several primary subsystems (services) - Device Subsystem: Device 들을 관리하는 역할 - Link Subsystem: Link 들을 관리하는 역할 - Host Subsystem: Host 와 Host 의 위치를 관리하는 역할 - Topology Subsystem: Network Graph View 를 관리하는 역할 - PathService: Topology Graph 를 이용하여 Device 와 Host 들 사이의 경로를 찾고 계 산하는 역할 - FlowRule Subsystem: Device 에 Install 된 Flow rule 들을 관리하는 역할 - Packet Subsystem: Application 들이 Network Device로 부터 수신하는 데이터 패킷을 모니터링하고 생성하는 역할 10
  • 11. © PIOLINK, Inc. SDN No.1 ONOS Architecture  Subsystem Structure 11  ONOS 에서 Subsystem 의 상세 구조  Provider Component 와 App Component 는 Distributed Core 의 Manager Component에 등록하여, Provider 에 서 오는 정보를 App 이 수신하고, App 에서 Provider 로 명령 전달이 가능 함
  • 12. © PIOLINK, Inc. SDN No.1 ONOS Architecture  ONOS에서 Event 와 Description 의 정의 - ONOS 내부에서 전달되는 정보(information) 를 의미 함 - Description • Southbound API 를 통해 전달되는 Network Element 의 정보(information)를 의미 - ex) HostDescription 은 Host 의 MAC, IP주소와 네트워크 상의 위치를 의미함 (vlan or device에 연결된 port) - Event • Store 에서 분산처리를 위해 사용 • Manager 에서 Listener로 네트워크 상태변화와 같은 정보를 알리기 위해 사용 - ex) DeviceEvent: DEVICE_ADD, DEVICE_REMOVED, DEVICE_UPDATED 12
  • 13. © PIOLINK, Inc. SDN No.1 ONOS Architecture 13  ONOS에서 Event 와 Description 의 정의  네트워크 상에 OpenFlow 스위치가 활성화 될 경우, OpenFlow Provider 를 통해 Description 형태로, 스위치 정보 전달  Component Manager 에 스위치 정보가 저장되고, 스위치 정보는 Event 형태로 동일한 Service 의 Application 이 나 다른 Application 으로 전달
  • 14. © PIOLINK, Inc. SDN No.1  Key Elements of ONOS 14
  • 15. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS 15  ONOS 의 핵심은 다음과 같이 요약 가능 - Scale-out, High Availability, Performance, North-bound Abstraction. South-bound Abstraction
  • 16. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Distributed Core - Performance - Scale-out - High Availability - State Management 16
  • 17. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Distributed Core -여러 개의 ONOS Instance 를 묶어 Cluster 형태로 운영 가능 17 Instance 1 Instance 2 Distributed Network OS Network Elements 172.17.0.2 172.17.0.3  Cluster 형태로 운영하기 위해서 ONOS 에서 Clustering 설정이 필요 함  Custer 구성 시 각 Switch 들은 Instance 1 과 Instance 2 로 연결을 수행 해야 함 - Switch 가 등록될 경우 Switch 의 상태 정보는 Instance 1과 Instance 2 에 모두 저장 됨 OF: 1 OF: 3 OF: 5 OF: 2 OF: 4 OF: 6
  • 18. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Distributed Core 18  클러스터 구성 시 ONOS GUI 실행 모습  GUI 를 통해 Instance1(172.17.0.2) 와 Instance2(172.17.0.3) 의 네트워크 상태정보 확인이 가능
  • 19. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Distributed Core 19  Switch 1, 4, 5, 6 은 Instance 1 에 연결, Switch 2, 3 은 Instance 2 에 연결  각 Switch 들은 두개의 Instance 에 연결을 하지만, Instance 들 사이에서 하나의 Master Instance 를 설정하 여, 서비스를 제공 받음 - ex) 사용자가 OF1 에 Flow Table 을 추가할 경우 Instance1(172.17.0.2) 에서 추가해야 하지만, 추가된 Flow Table 정보는 Instance2(172.17.0.3) 에도 저장 OF: 1 OF: 2 OF: 3 OF: 4 OF: 5 OF: 6
  • 20. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Distributed Core Instance 1 Instance 2 Distributed Network OS Network Elements 172.17.0.2 172.17.0.3 OF: 1 Switch 1 : Master Switch 1: Standby Distributed Registry  Master Election 알고리즘을 통해 Master 와 Standby Instance 를 선정  Master 를 통해 서비스를 제공 받다가 Master 에 장애가 발생할 경우 Standby Instance 가 Master 로 변경되 어 짐  Master 는 한 개지만, Standby Instance 는 두 개 이상 - ex> Master 가 Instance1 이고 Standby 가 Instance2, Instance3, Instance4 …
  • 21. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Distributed Core 21  Instance1(172.17.0.2) 은 네트워크 상에 파란색으로 표시되는 Switch 들의 Master  Instance2(172.17.0.3) 은 네트워크 상에 갈색으로 표시되는 Switch 들의 Master
  • 22. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Distributed Core 22 • 명령어를 통해 Master Instance 재설정이 가능 • 앞 페이지와 Instance 당 스위치 수 비교: Cluster 로 구성된 Instance 들 사이의 관리 Switch 를 적절하게 분배 OF: 1 OF: 2 OF: 3 OF: 4 OF: 5 OF: 6
  • 23. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Distributed Core - Performance - Scale-out - High Availability - State Management 23
  • 24. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Performance : Key Performance Requirements 24  Large Network 를 관리하기 위해서 고성능을 요구함
  • 25. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Distributed Core - Performance - Scale-out - High Availability - State Management 25
  • 26. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Scale-out 26  각 Instance 는 Network 의 한 부분을 구축하고 관리하는 역할을 담당
  • 27. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Scale-out 27  네트워크 규모가 커짐에 따라 Control Capacity 증가 가능 -
  • 28. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Distributed Core - Performance - Scale-out - High Availability - State Management 28
  • 29. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  High Availability 29  ONOS 는 클러스터 형태로도 운영이 가능 (Single Instance or Multiple Instance) - 각기 다른 서버들을 하나로 묶어서 하나의 시스템 같이 동작하게 함  Network Device 에서는 Single Instance 인지 Multiple Instance 인지 인식하지 못함
  • 30. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  High Availability 30  서버 클러스터로 운영 시 Network Device 는 한 개의 Master Instance 로 서비스를 제공 받음  클러스터로 연결된 Instance 들 사이에 Leader election Mechanism 을 통해 하나의 Master Instance 를 선정
  • 31. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  High Availability: Fault-tolerance using Distributed Registry 31  Network Element 에 High Availability 서비스를 제공  클러스터의 Master Instance 에서 장애가 발생할 경우…
  • 32. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  High Availability: Fault-tolerance using Distributed Registry 32  클러스터로 묶인 다른 마스터 후보 (정상적인 서버)와 재 연결  Network Device 들에게 지속적이고, 끊기지 않게 서비스 이용 가능 - 클러스터 운영 시 Switch 의 정보는 Instance1, Instance2, Instance3 에 동기화 되어 있음 - 다른 Instance 에 연결되어도 정상적인 서비스 가능
  • 33. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  High Availability Example: Fault-tolerance using Distributed Registry 33  최초 설정 시 Instance 1은 Switch 4, 5, 6 의 Master, Instance 2 는 Standby  최초 설정 시 Instance 2는 Switch 1, 2, 3 의 Master, Instance 1 은 Standby OF: 1 OF: 2 OF: 3 OF: 4 OF: 5 OF: 6
  • 34. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  High Availability Example: Fault-tolerance using Distributed Registry 34  Instance 2 를 강제로 종료 할 경우, Switch 4, 5, 6 의 Master 가 Instance 1 으로 변경 OF: 1 OF: 2 OF: 3 OF: 4 OF: 5 OF: 6
  • 35. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Distributed Core - Performance - Scale-out - High Availability - State Management 35
  • 36. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS 36  State Management  Distributed Core 의 주된 역할은 State Management (Intents, Topology, Flow Tables)  클러스터로 묶인 서버에 저장되어 있는 State 들에 대한 동기화 필요  각 state 들이 사이즈, read/write pattern, 지속시간 등이 다르기 때문에 각 state에 최적화된 동기화 메커니즘이 필요 함
  • 37. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS 37  State Management : Example #01  Switch A 가 네트워크에 연결될 경우 Instance1 이 Switch A의 Master 로 설정됨  Instance2, Instance3 는 Switch A의 Standby 가 됨
  • 38. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS 38  State Management : Example #01  Instance1 의 저장소에 Switch A의 Master 는 Instance1 이라는 정보를 저장하려고 할 때 , Instance1 은 Standby 의 저장소에 해당 정보를 바로 동기화 함
  • 39. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS 39  State Management : Example #01  Instance1, Instance2, Instance3 의 분산저장소에 동시에 Lock, Store(switch A의 Master 정보), Unlock 을 진행
  • 40. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS 40  State Management : Example #02  Instance1 에 연결된 Switch A의 상태가 비활성화(Inactive) 에서 활성화(Active) 상태로 변경됨
  • 41. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS 41  State Management: Example #02  Instance1 의 저장소에 Switch A의 상태가 Active 라는 정보를 저장한 후 , Instance1 은 Standby 의 저장소에 해 당 정보를 동기화 함
  • 42. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS 42  State Management : Example #02  Instance1 의 저장소에 Switch A의 상태가 Active 라는 정보를 저장한 후 , Instance1 은 Standby 의 저장소에 해 당 정보를 동기화 함
  • 43. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Master Election: Strong Consistency -정보를 저장하려고 할 때, 바로 동기화 함 -즉각적이고 정확한 Consistency 를 보장 (Write 에 대한 일관성을 보장) - 정확한 Consistency 를 보장하지 않을 경우, 여러 개의 Master를 인식할 가능성이 존 재  Network State: Eventual Consistency - 정보를 저장한 후, 동기화 함 - 즉각적이고 정확한 Consistency 를 보장하지 않지만, 시스템 부하를 줄임 - 네트워크 상태는 수시로 변경됨으로, 실시간으로 반영하기 어려움 43  각 State의 특징에 맞는 Consistency 모델 필요
  • 44. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS -Application Intents • Strongly consistent 44 172.16.0.0 172.17.0.0 172.18.0.0 - Flow Rules, Flow Stats • Eventually consistent - Network Topology • Eventually consistent Intent Intent Intent  State Management  ONOS 는 서비스 제공을 위해 Intent, Network Topology, Flow Rule 등 다양한 상태정보를 저장하고 있음  상태정보의 특성에 맞는 Consistent 알고리즘이 필요
  • 45. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS Northbound Abstractions - Intent Framework - Global Network View 45
  • 46. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Northbound Abstractions - Northbound Interface 추상화를 통해 서비스 개발 및 설정, 관리가 용이하도록 함 46
  • 47. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS Northbound Abstractions - Intent Framework - Global Network View 47
  • 48. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Intent Framework - Intent 프로그래밍 • Application specifies high-level intents (not low-level rules) • How 가 아닌 What 에 초점을 맞춘 Programming - 상세 설정은 ONOS 에서… - Examples: • Host A 와 Host B 를 연결 • Switch X 와 Switch Y 사이에 Z 의 Bandwidth 를 가지는 최적의 Path 설정 • Host A 와 Host B 사이 트래픽을 차단 48
  • 49. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Intent Framework Design 49  Intent Framework 는 위와 같은 구조로 되어 있음
  • 50. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Intents in ONOS 1.0.0 -Connectivity-Based • Host to Host, Multi-Point to Single Point - Supports Constraints as policy • Link type, bandwidth 50
  • 51. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Northbound Abstractions: Intent Example  Application 에서 Intent 를 설정 할 경우 ONOS 에서 Compile, Install 과정을 거쳐 Network Device 에 맞는 Protocol 로 변경되어 전달 됨 51
  • 52. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Northbound Abstractions: Intent Example - Intent: Set up connection between Host A and Host B 52 Host A Host B Connection
  • 53. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Northbound Abstractions: Intent Example - Intent: Set up connection between Host A and Host B 53 Host A Host B Connection Host A Host B Host A Host B Compilation Host to Host Intent Path Intent Path Intent Compile 을 통해 두개의 Path Intent 로 변환
  • 54. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Northbound Abstractions: Intent Example 54 Host A Host B Host A Host B Install Path Intent Path Intent Flow Rule Batch Flow Rule Batch Install 시 Network Device 에 적합한 형태로 변환
  • 55. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Intent Example : Connectivity-Based (Host to Host) 55 GUI 를 이용해, 연결을 원하는 호스트 클릭  Host 1(10.0.0.1) 에서 Host 2 (10.0.0.2) 로 가는 Path 를 설정하고 싶을 경우  Host 1, Host 2를 순서대로 클릭 (Network 의 Switch 는 클릭하지 않음)
  • 56. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Intent Example : Connectivity-Based (Host to Host) 56  Host1, Host2 사이의 최적화된 경로를 찾아 ONOS 에서 Flow Path 를 생성 함  ONOS 에서 각 스위치에 Flow Table 을 추가 함
  • 57. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Intent Example : Connectivity-Based (Host to Host) 57  ONOS 에서 명령어를 이용해, Intent 와 Flow Table 을 확인
  • 58. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Intent Example : Connectivity-Based (Multi-point to Single point) 58  여러 개의 Host 를 클릭할 경우 Multi-Source Flow 생성이 가능 함
  • 59. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS Northbound Abstractions - Intent Framework - Global Network View 59
  • 60. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Global Network View - Application 에게 ONOS 가 관리하는 Network 의 Global View를 제공 • Host, switch, link, network utilization 변수로 사용될 수 있는 상태 값 - Application 에서는 Northbound API 를 통해 Application 에 적합한 Network View를 Program이 가능함 • Network View 를 통해 최적화된 경로를 찾는 Application • 네트워크 모니터링을 통한 동적인 트래픽 부하분산 Application • 보안검사 수행을 위한 트래픽 경로변경 Application 60
  • 61. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Network View: Model Object Types 61  ONOS 에서는 GUI를 통해 Network View 를 제공 함. Network Elements 들을 하나의 Object 로 단순화 하여 표 현 - Switch, router, access-point 는 종류에 관계 없이 하나의 Device Object 로 표현  Object 와 Link 로 Network View 를 제공, 자동으로 인식하고 사용자가 직접 추가 가능
  • 62. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS 62  Network Graph and Switches  네트워크 상에 OpenFlow 를 지원하는 스위치가 있을 경우, OpenFlow 프로토콜을 이용하여 ONOS 의 Switch Manager 에서 Switch 정보 수집  Switch Manager 에 저장된 정보를 이용하여 Network Graph 에서 Switch 정보를 표현
  • 63. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Network Graph and Switches 63  네트워크에 6개의 OpenFlow 스위치가 존재 할 경우 ONOS에서 Network View
  • 64. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS 64  Network Graph: Links  ONOS 의 Link Discovery 모듈에서 네트워크에 존재하는 Device 간 Link 정보를 수집  Link Discovery 에 저장된 정보를 이용하여 Network Graph 에서 Device 들이 연결된 link 정보를 표현
  • 65. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Network Graph: Links 65  네트워크에 6개의 OpenFlow 스위치 사이에 Link 가 생성될경우 ONOS에서 Network View
  • 66. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS 66  Network Graph: Devices  네트워크 상에 존재하는 Host 에서 패킷이 발생될 경우 ONOS 의 Device Manager 에서 Device 들의 정보 수집 - MAC, IP 주소, Link 정보  Device Manager 에 저장된 정보를 이용하여 Network Graph 에서 Host 정보를 표현
  • 67. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Network Graph: Devices 67  네트워크에 3개의 Host 를 추가하고, ping 명령어를 이용해 패킷을 발생 시킬 경우 ONOS에서 Network View  Host 에서 패킷이 발생되지 않을 경우 ONOS 는 해당 Host 를 인식하지 못함
  • 68. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Southbound Abstraction 68
  • 69. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Southbound Abstraction -ONOS 가 서로 다른 프로토콜을 사용하는 (OpenFlow, NetConf, etc)다양한 종류의 디 바이스들을 제어하고 관리할 수 있도록 지원 (device -agnostic) • ONOS는 Southbound Abstraction 을 통해 Network Elements 들을 하나의 Object 로 로 표현 -Pluggable Southbound: 새로운 종류의 디바이스와 프로토콜 추가 가능 69
  • 70. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Southbound Abstraction 70  Bring Your Own Provider: ONOS 를 이용하여 Network Device 를 제어 할때 ONOS 에서 제공하는 OpenFlow, NetConf 외에 새로운 프로토콜이 필요할 경우  사용자가 새로운 Provider Component를 개발하여 ONOS 모듈에 추가 가능 - 사용자가 원하는 프로토콜 확장이 가능함
  • 71. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Provider Lifecycle 71 OpenFlow Provider NetConf Provider Provider Component Provider Core Provider Service Provider Registry 1. register 4. unregister 2. sensing 3. command 1. Provider 는 Provider Registry 를 통해 Core 에 등록 2. Provider 는 Core 에 새로운 이벤트(Device connected, Packet in)를 알리기 위해서 Provider Service 모듈을 이용 3. Core 는 Provider 가 관리하는 Network Element로 명령을 내리기 위해 Provider 를 이용 4. Provider 는 Provider Registry 를 통해 Core 에 등록 삭제  ONOS에 새로운 Provider Component 를 추가하는 방법은 다음과 같음
  • 72. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  OpenFlow Specific Provider - Device Provider - Packet Provider - Flow Provider  Generic Provider - LLDP Provider - Host Provider 72  현재 ONOS V1.0.0 에서 제공하고 있는 Provider Component
  • 73. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS Software Modularity 73
  • 74. © PIOLINK, Inc. SDN No.1 Key Elements of ONOS  Software Modularity - Software System 으로써 ONOS 개발, 디버깅, 통합 및 수정이 용이하도록 모듈화 -Java 언어 기반의 OSGi framework (karaf 사용) • 재부팅 없이 동적으로 Component 추가 삭제가 가능함 -모듈화 구조를 통해 기능확장이 용이 함 74
  • 75. © PIOLINK, Inc. SDN No.1 Conclusions  오픈소스 네트워크 운영체제 - 개방성과 비용절감  확장성, 높은 가용성, 성능 - 서비스 제공업체와 기업들의 요구를 충족 시킬 수 있는 SDN 컨트롤러 - 새롭고 차별화된 서비스 개발을 가능하게 함  Southbound, Northbound API 기능과 모듈 구성 - 서비스 개발이 쉽고 다양한 서비스 개발이 가능 75 대규모 네트워크 환경에 필요한 캐리어급 SDN 컨트롤러
  • 76. © PIOLINK, Inc. SDN No.1 References  http://onosproject.org/resources/  http://wiki.onosproject.org  ONOS: Open Network Operating System, Pankaj Berde, Open Networking Laboratory  ONOS: Towards an Open, Distributed SDN OS, Pankaj Berde 76
  • 77. © PIOLINK, Inc. SDN No.1 Appendix A  Installing and Running ONOS 77
  • 78. © PIOLINK, Inc. SDN No.1 Appendix A: Installing and Running ONOS 1. Git 설치 78 2. Karaf 3.0.2 와 Maven 3.2.2 binaries 다운로드 build:~$ sudo apt-get install git-core build:~$ cd; mkdir Downloads Applications build:~$ cd Downloads build:~$ wget http://download.nextag.com/apache/karaf/3.0.2/apache-karaf-3.0.2.tar.gz build:~$ wget http://www.apache.org/dist/maven/binaries/apache-maven-3.2.2-bin.tar.gz build:~$ tar -zxvf apache-karaf-3.0.2.tar.gz -C ../Applications/ build:~$ tar -zxvf apache-maven-3.2.2-bin.tar.gz -C ../Applications/
  • 79. © PIOLINK, Inc. SDN No.1 Appendix A: Installing and Running ONOS 3. Oracle Java 8 설치 79 build:~$ sudo apt-get install software-properties-common -y build:~$ sudo add-apt-repository ppa:webupd8team/java -y build:~$ sudo apt-get update build:~$ sudo apt-get install oracle-java8-installer oracle-java8-set-default -y 4. Git 을 이용하여, ONOS 소스 Home Directory 로 복사 build:~$ git clone https://gerrit.onosproject.org/onos -b 1.0.0 5. ~/.profile 에 아래 내용 추가 . ~/onos/tools/dev/bash_profile 6. 명령어 수행 build:~$ . ~/.profile
  • 80. © PIOLINK, Inc. SDN No.1 Appendix A: Installing and Running ONOS 7. Karaf 설정 파일 featureRepositories 부분에 아래 내용 추가 80 build:~$ vi ~/Applications/apache-karaf-3.0.2/etc/org.apache.karaf.features.cfg mvn:org.onosproject/onos-features/1.0.0-SNAPSHOT/xml/features 8. Maven 을 이용하여 ONOS 빌드 build:~$ cd ~/onos build:~$ mvn clean install # or use the alias 'mci'
  • 81. © PIOLINK, Inc. SDN No.1 Appendix A: Installing and Running ONOS 9. cell definition 파일 생성 (ONOS 에서 사용하는 환경변수 파일) 81 build:~$ vi ~/onos/tools/test/cells/tutorial # ONOS from Scratch tutorial cell # the address of the VM to install the package onto export OC1="192.168.56.101" # the default address used by ONOS utilities when none are supplied export OCI="192.168.56.101" # the ONOS apps to load at startup export ONOS_FEATURES="onos-api,onos-core-trivial,onos-cli,onos-openflow,onos- app-ifwd" # the Mininet VM (if you have one) export OCN="192.168.56.102" # pattern to specify which address to use for inter-ONOS node communication (not used with single-instance core) export ONOS_NIC="192.168.56.*" 10. cell 적용 build:~$ cell tutorial
  • 82. © PIOLINK, Inc. SDN No.1 Appendix A: Installing and Running ONOS 82 11. 사용자 계정 비밀번호 설정 build:~$ onos-push-keys 192.168.56.101 sdn@192.168.56.101's password: sdn@192.168.56.101's password: 12. ONOS 패키지 생성 build:~$ onos-package -rw-rw-r-- 1 onosuser onosuser 33395409 Dec 4 16:12 /tmp/onos-1.0.0.onosuser.tar.gz 13. ONOS 패키지 설치 build:~$ onos-install -f $OC1 onos start/running, process 2028
  • 83. © PIOLINK, Inc. SDN No.1 Appendix A: Installing and Running ONOS 83 14. ONOS 실행 build:~$ onos $OC1 Logging in as karaf Welcome to Open Network Operating System (ONOS)! ____ _ ______ ____ / __ / |/ / __ / __/ / /_/ / / /_/ / ____/_/|_/____/___/ Hit '<tab>' for a list of available commands and '[cmd] --help' for help on a specific command. Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown ONOS. onos> 15. GUI bundle 로드 onos> feature:install onos-gui 16. GUI 실행 확인 (웹브라우져에서 실행) http://localhost:8181/onos/ui/index.html 17. ONOS 명령어 확인 onos> --help
  • 84. © PIOLINK, Inc. SDN No.1 Appendix B  ONOS Northbound API 84
  • 85. © PIOLINK, Inc. SDN No.1 Appendix B: ONOS Northbound API  ONOS Northbound API - ONOS 에서는 App 에서 Network Elements 들을 관리/제어 할 수 있는 API 를 제공 - ONOS V1.0.0 기준이며 향후 변경 가능성 존재 함 - REST API 형태로 제공 • Device • Link • Host • Topology • Path • Flow • Intent 85
  • 86. © PIOLINK, Inc. SDN No.1 Appendix B: ONOS Northbound API  ONOS Northbound API 86 GET /devices Lists all infrastructure devices. GET /devices/{deviceId} Lists details of a specific infrastructure device. GET /devices/{deviceId}/ports Lists ports of a specific infrastructure device. POST /devices Creates a new infrastructure device into inventory (future). PUT /devices/{deviceId} Updates a device - attributes, availability, mastership. DELETE /devices/{deviceId} Deletes an infrastructure device from inventory GET /links Lists all infrastructure links. GET /links?{device=deviceId}{port=portNumber}{direc tion=[ALL,INGRESS,EGRESS]} Lists details of a link. POST /links Creates a new infrastructure link into inventory (future). PUT /links/{linkId} Updates a link - attributes, e.g. type. DELETE /link/{linkId} Deletes an infrastructure link from inventory. Device Link
  • 87. © PIOLINK, Inc. SDN No.1 Appendix B: ONOS Northbound API  ONOS Northbound API 87 GET /hosts Lists all end-stations hosts. GET /hosts/{hostId} Lists details of a specific end-station host specified by the h ost ID. GET /hosts/{mac}/{vlan} Lists details of a specific end-station host specified by the h ost MAC address and VLan Id. POST /hosts Creates a new end-station host into inventory (future). PUT /hosts/{hostId} Updates an end-station host - attributes, e.g. IP, location. DELETE /hosts/{hostId} Deletes an end-station host from inventory. GET /paths/{elementId}/{elementId} Gets set of pre-computed shortest paths between the speci fied source and destination network elements. Host Path
  • 88. © PIOLINK, Inc. SDN No.1 Appendix B: ONOS Northbound API  ONOS Northbound API 88 GET /topology Gets overview of the current topology. GET /topology/clusters Gets list of topology cluster overviews. GET /topology/cluster/{clusterId} Gets overview of a specific topology cluster. GET /topology/cluster/{clusterId}/devices Gets infrastructure devices that belong to the specified top ology cluster. GET /topology/cluster/{clusterId}/links Gets infrastructure links that belong to the specified topolo gy cluster. GET /topology/broadcast/{connectPoint} Gets indication whether the given point permits broadcast. GET /topology/infrastructure/{connectPoint} Gets indication whether the given point belongs to network infrastructure. Topology
  • 89. © PIOLINK, Inc. SDN No.1 Appendix B: ONOS Northbound API  ONOS Northbound API 89 GET /intent/{intent-id} Gets the details for the given Intent object. GET /intents Gets a collection containing all the Intent objects currently i n the system. POST /intent Creates a new Intent object. POST /intents Creates a batch of Intent objects (pending -may not be incl uded in finalized API). DELETE /intent/{Intent-id} Removes an intent from the system. Intent
  • 90. © PIOLINK, Inc. SDN No.1 Appendix B: ONOS Northbound API  ONOS Northbound API 90 GET /flows/{deviceId} Gets list of flow rules applied to the specified infrastructure device. GET /flows/{deviceId}/{flowId} Gets details of a specified flow rule. GET /flows Gets details of all flow rules in the system. POST /flows/ Applies batch of flow rule operations; this includes add/rem ove operations. POST /flows/{deviceId} Applies a new flow rule on the specified device. DELETE /flows/{deviceId}/{flowId} Deletes a flow rule from the specified device. GET /flows/link/{linkId} Gets aggregate statistics for all flows traversing the given li nk. Flow
  • 91. © PIOLINK, Inc. SDN No.1 Appendix C  ONOS V1.1.0 Blackbird 소개 91
  • 92. © PIOLINK, Inc. SDN No.1 Appendix C: ONOS V1.1.0 Blackbird 소개  Feb 28th, 2015 Release 예정  ONOS V1.1 의 Main Theme 는 Stability and Performance - ONOS V1.0 에서 Perf/Scale-out 은 Target 이 아니었음  ONOS V1.1.0 Release - ONOS V1.0(Avocet) 에서 발견된 Bug 수정 - Performance and Scale • 실제 하드웨어(Commodity Bare-metal Servers) 기반 Performance, Scale 테스트 • Clustering 성능평가를 위한 기준 값 제시 • Distributed Core 를 Hazelcast 에서 RAFT 를 이용한 구현으로 변경 - HA 부분 개선 - Use Case 내용 추가: SDN-IP at Internet2 - UI 개선 - Test Framework 개선  다음 Release 는 Cardinal (May 31st, 2015 예정) 92
  • 93. 감사합니다. ㈜파이오링크 서울시 금천구 가산디지털2로 98 (가산동 550-1) IT캐슬 1동 401호 TEL: 02-2025-6900 FAX: 02-2025-6901 www.PIOLINK.com 93