OpenDaylight 소개

18
OpenDaylight 소개 2015.03.16 ㈜파이오링크 SDN개발실 백승훈 ([email protected])

Transcript of OpenDaylight 소개

Page 1: OpenDaylight 소개

OpenDaylight 소개

2015.03.16

㈜파이오링크

SDN개발실 백승훈 ([email protected])

Page 2: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

목차

OpenDaylight?

OpenDaylight Project list

OpenDaylight Architecture

OpenDaylight Controller Platform

OpenDaylight SAL(Model Driven)

Page 3: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

OpenDaylight

ODL(OpenDaylight) -Linux foundation의 SDN/NFV를 위한 open source software platform

-많은 관련 IT 회사들이 커뮤니티를 중심으로 SDN/NFV 발전의 가속화와

품질 향상을 위해 project에 참여 중

(참여 회사 : Cisco, Brocade, Dell, HP, Juniper, VMware, etc…)

-ODL은 표준화된 모델을 사용함으로써 platform간 이식성이 높음

-SDN Controller가 ODL의 핵심

-다양한 네트워크 장비 제어 protocol을 플러그인 형태로 지원

Ex) OpenFlow, OpFlex, etc...

-ODL project는 제한 없이 누구나 참여가능

Page 4: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

ODL Project list

Project name Overview

AAA Authentication, Authorization, Accounting

DLUX (openDayLight User eXperience)

ODL Web GUI

OpenFlow Java OpenFlow protocol library

OpenFlow Plugin OpenFlow plugin

OVSDB Open vSwitch 관리

YANG Tools NETCONF와 YANG을 위한 라이브러리 및 개발 tool 지원

L2 Switch Layer 2 Switch spec 지원

Page 5: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

ODL Architecture

Page 6: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

ODL Architecture

1. Network Applications Orchestrations & Services

- 네트워크 관리 & Orchestrations를 위한 계층 (Orchestrations : 자원 및 서비스를 통합 관리하여 자동화된 프로비저닝을

제공하고 가상화된 자원과 물리 자원의 상호 연동이 가능하게 해줌)

- REST API로 application과 controller간 interface 제공

2. Controller Platform*

- Java 프로그램 언어 기반의 OSGi framework

- Data plane 제어 protocol plugin 관리

- SAL(Service Abstraction Layer) *

3. Southbound Interfaces & Protocol Plugins

- Data plane 제어 protocol 제공(Southbound interface)

ex) OpenFlow, OVSDB, NETCONF, etc…

4. Data Plane Elements

- Physical 또는 Virtual 네트워크 장비들

Page 7: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

Controller Platform

ODL Controller Platform

- ODL의 core역할로 application layer를 위한 공통 REST API(NBI)와 data plane을 제어하기 위한 다양한

protocol(SBI)을 제공하는 SDN 추상화 계층

- 기존 OpenFlow 중심적인 controller들과 다르게 SAL(Service Abstraction Layer)이 네트워크 장비와

controller 사이 protocol을 결정해줌으로써 다양한 protocol을 지원 가능

- ODL의 모듈화와 확장성을 위해 OSGi framework를 사용

- Java로 작성되어 Java가 지원되는 OS 그리고 hardware라면 어디든 사용 가능

OSGi(Open Services Gateway initiative)

- 재부팅 없이 동적으로 bundle 추가/삭제가 가능한 Java기반의 framework

- Bundle = Application 또는 Component

- ODL의 backend framework

- Helium(두 번째 버전) 부터는 Bundle로드 방법이 경량화된 Karaf 사용

0

Bundle Bundle SAL

OSGI framework

Karaf

Communication connection

Page 8: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

SAL

SAL(Service Abstraction Layer) -네트워크 장비와 controller 사이 protocol 결정

-Protocol plugin 과 네트워크 어플리케이션 연결

종류 -AD-SAL(API Driven-SAL, 과거)

: 라우팅 경로가 compile 또는 build 시 결정

-MD-SAL(Model Driven-SAL, 현재)

: 라우팅 경로가 plugin 추가 또는 삭제 시 결정

AD-SAL에서 MD-SAL 변화한 이유

-AD-SAL은 개발자가 직접 plugin이 사용하는 SAL API를 정의하기 때문에

확장성이 떨어졌지만 MD-SAL은 표준화된 model을 만들고 model로부터

생성되는 code/API를 사용하기 때문에 확장성이 높고 다양한 플랫폼에

적용이 용이해짐

Page 9: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

MD-SAL

특징 -Flexibility : 다양한 application 사용에 용이

-개발 과정 계층화 : 서로 독립적 개발

-Run-time 확장성 : 상황 변화에 적응이 용이

-Performance & scale : 성능과 확장성 동시 갖음

Model 기반의 라우팅 경로 결정

YANG으로 모델화됨

(YANG = data modeling 언어)

Page 10: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

MD-SAL

구조

Binding-Independent Consumers

Binding-Aware Consumers

Binding-Aware Providers

Binding-Independent providers

Binding-Aware Broker Binding Independent

Broker

BI Data Repository

Binding Generator

Schema Repository

Consumer

Controller SAL

Provider

Page 11: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

MD-SAL

Components

요소 설명

Binding YANG schema로 부터 생성된 Java interface, class, contract

Provider Application에 기능들을 제공

Consumer Provider에게 받은 기능들(API, model)을 사용

BA(Binding-Aware) Data와 API를 위해 생성된 Binding을 사용

BI(Binding-Independent) 생성된 Binding을 사용하지 않고 data와 API call을 위해 DOM(Document Object Model)을 사용

BA Broker Consumer이 Provider가 제공하는 data와 service에 접근하는 것을 도움

BI Broker Provider와 Consumer사이 RPC, notification, data를 전달

Binding Generator BI 형식으로 data mappers와 binding interface를 생성

Schema Repository YANG-Java의 연관 관계를 저장하고 BA API와 BI API call를 연결 시켜줌

BI Data Repository 임시 data와 설정 값을 저장하는 BI infrastructure의 구성 요소

Page 12: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

MD-SAL

BA Broker 동작(Notification Hub)

Application

BA Provider BI Provider

Application

Controller SAL

Provider

onNotification(example)

onNotification(example) Notify(example)

Binding-Aware Broker Binding-Independent

Broker

Notify(example)

Page 13: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

MD-SAL

BA Broker 동작(RPC Routing)

Application

BA Provider BI Provider

Application

Controller SAL

Provider

Module.example()

RPC(example) return

Binding-Aware Broker Binding-Independent

Broker

RPC(example)

Module.example()

return

return

return

미리 생성된 Binding을 호출

BA -> BA BA -> BI

Page 14: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

MD-SAL

BI Broker 동작(Notification Hub)

Notification Consumer

Notification Producer Notification Consumer

Binding-Independent Broker

Application

Controller SAL

Provider

onNotification(example)

onNotification(example) Notify(example)

Page 15: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

MD-SAL

BI Broker 동작(RPC Routing)

Application

Provider with RPC(example) Provider without

functionality

Binding-Independent Broker

Application

Controller SAL

Provider

RPC(example)

RPC(example)

return

return

Page 16: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

MD-SAL

Example(OpenFlow : add flow)

RESTCONF

OpenFlow Plugin

Application

Controller SAL

Provider

Binding-Aware Broker Binding-Independent

Broker

OpenFlow Switch

add_flow()

RPC(add_flow)

RPC(add_flow)

return

return

return

OpenFlow Library

Data Plane

Forwarding Rules Manager

return GET : add_flow

*임의로 정한

Flow를 추가

하는 API

Page 17: OpenDaylight 소개

© PIOLINK, Inc. SDN No.1

참조

http://www.opendaylight.org

https://wiki.opendaylight.org/

https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-

SAL:MD-SAL_Document_Review:Architecture#Background

rfc6020(YANG)

Page 18: OpenDaylight 소개

감사합니다. ㈜파이오링크

서울시 금천구 가산디지털2로 98

(가산동 550-1) IT캐슬 1동 401호

TEL: 02-2025-6900

FAX: 02-2025-6901

www.PIOLINK.com