Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OpenDaylight 소개

5,512 views

Published on

OpenDaylight 소개 자료입니다.

Published in: Technology
  • Login to see the comments

OpenDaylight 소개

  1. 1. OpenDaylight 소개 2015.03.16 ㈜파이오링크 SDN개발실 백승훈 (sh.baek@piolink.com)
  2. 2. © PIOLINK, Inc. SDN No.1 목차  OpenDaylight?  OpenDaylight Project list  OpenDaylight Architecture  OpenDaylight Controller Platform  OpenDaylight SAL(Model Driven)
  3. 3. © 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는 제한 없이 누구나 참여가능
  4. 4. © 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 지원
  5. 5. © PIOLINK, Inc. SDN No.1 ODL Architecture
  6. 6. © 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 네트워크 장비들
  7. 7. © 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
  8. 8. © 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를 사용하기 때문에 확장성이 높고 다양한 플랫폼에 적용이 용이해짐
  9. 9. © PIOLINK, Inc. SDN No.1 MD-SAL 특징 -Flexibility : 다양한 application 사용에 용이 -개발 과정 계층화 : 서로 독립적 개발 -Run-time 확장성 : 상황 변화에 적응이 용이 -Performance & scale : 성능과 확장성 동시 갖음 Model 기반의 라우팅 경로 결정 YANG으로 모델화됨 (YANG = data modeling 언어)
  10. 10. © 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
  11. 11. © 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의 구성 요소
  12. 12. © 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)
  13. 13. © 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
  14. 14. © 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)
  15. 15. © 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
  16. 16. © 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 returnGET : add_flow *임의로 정한 Flow를 추가 하는 API
  17. 17. © 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)
  18. 18. 감사합니다. ㈜파이오링크 서울시 금천구 가산디지털2로 98 (가산동 550-1) IT캐슬 1동 401호 TEL: 02-2025-6900 FAX: 02-2025-6901 www.PIOLINK.com

×