ݺߣ

ݺߣShare a Scribd company logo
OpenDaylight ??
2015.03.16
??????
SDN??? ??? (sh.baek@piolink.com)
? PIOLINK, Inc. SDN No.1
??
? OpenDaylight?
? OpenDaylight Project list
? OpenDaylight Architecture
? OpenDaylight Controller Platform
? OpenDaylight SAL(Model Driven)
? 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? ?? ?? ??? ????
? 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 ??
? PIOLINK, Inc. SDN No.1
ODL Architecture
? 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 ???? ???
? 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
? 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? ???? ??? ???? ?? ??? ????
??? ????
? PIOLINK, Inc. SDN No.1
MD-SAL
???
-Flexibility : ??? application ??? ??
-?? ?? ??? : ?? ??? ??
-Run-time ??? : ?? ??? ??? ??
-Performance & scale : ??? ??? ?? ??
?Model ??? ??? ?? ??
?YANG?? ????
(YANG = data modeling ??)
? 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
? 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? ?? ??
? 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)
? 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
? 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)
? 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
? 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
? 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)
?????.
??????
??? ??? ?????2? 98
(??? 550-1) IT?? 1? 401?
TEL: 02-2025-6900
FAX: 02-2025-6901
www.PIOLINK.com

More Related Content

OpenDaylight ??

  • 2. ? PIOLINK, Inc. SDN No.1 ?? ? OpenDaylight? ? OpenDaylight Project list ? OpenDaylight Architecture ? OpenDaylight Controller Platform ? OpenDaylight SAL(Model Driven)
  • 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. ? 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. ? PIOLINK, Inc. SDN No.1 ODL Architecture
  • 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. ? 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. ? 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. ? PIOLINK, Inc. SDN No.1 MD-SAL ??? -Flexibility : ??? application ??? ?? -?? ?? ??? : ?? ??? ?? -Run-time ??? : ?? ??? ??? ?? -Performance & scale : ??? ??? ?? ?? ?Model ??? ??? ?? ?? ?YANG?? ???? (YANG = data modeling ??)
  • 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. ? 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. ? 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. ? 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. ? 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. ? 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. ? 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. ? 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. ?????. ?????? ??? ??? ?????2? 98 (??? 550-1) IT?? 1? 401? TEL: 02-2025-6900 FAX: 02-2025-6901 www.PIOLINK.com