SlideShare a Scribd company logo
1 of 9
Download to read offline
MD-SALの紹介
2017年07月31日
田井 秀幸
MD-SAL (Model-Driven Service Abstraction Layer)
おさらい: 機能一覧
OpenFlow Enabled
Devices
Open vSwitches
Additional Virtual &
Physical Devices
Data Plane Elements
(Virtual Switches, Physical
Device Interfaces)
Controller Platform
Services/Applications
OVSDB NETCONF
PCMM/
COPS
SNBILISP PCEP SNMPSXP Southbound Interfaces &
Protocol Plugins
OpenFlow
USCCAPWAP OPFLEX
Control Plane Functions
OpenDaylight APIs REST/RESTCONF/NETCONF/AMQP
LACP
AAA Authorization Filter
Network Abstractions
(Policy/Intent)
Graphical User Interface Application and Toolkit (DLUX / NeXT UI)
IoT
Http/CoAP
OF-Config
Embedded Controller Applications
Independent Network Applications
• AAA
• Host Tracker
• Infrastructure Utilities
• L2 Switch
• LISP Service
• Link Aggregation Control
Protocol
• Open Flow Forwarding
Rules Manager
• OpenFlow Stats Manager
• OpenFlow Switch Manager
• Topology Processing
• NetIDE
• NetVirt
• Neutron Northbound
• OVSDB Neutron
• SN Integration Aggregator
• Service Function Chaining
• Time Series Data Repository
• Unified Secure Channel Mgr
• User Network Interface Mgr
• Virtual Tenant Network Mgr
• Atrium Router
• Cardinal
• Centinel – Streaming Data Hdlr
• Controller Shield
• Deve Discovery, ID & Mgmt
• DOCSIS Abstraction
• Eman
• Genius
• NAT Application
• ALTO Protocol Manager
• Fabric as a Service
• Group Based Policy
Service
• NEMO
• Network Intent
Composition
OCPBGP
Basic Design
 機能毎に小さなモジュールに分割して実装
 各モジュールは MD-SAL を介して疎に連携する
3
Source: https://youtu.be/GWyjRKQJ840
MD-SAL: Model-Driven Service Abstraction Layer
 データモデルに基づいたアプリケーション管理機能
 各アプリは他のアプリに公開するサービスをモデルを使って定義する
• サービスタイプ1: Datastore
 例: スイッチの一覧、トポロジ情報など
• サービスタイプ2: RPC (Remote Procedure Call)
 機能呼び出し
 例: フローエントリの追加など
• サービスタイプ3: Notification
 非同期イベント通知
 モデル記述言語として YANG (RFC 6020) が利用されている
 MD-SAL は YANG で記述されたサービスを Java API や REST API などに変換し、他アプリ
から利用可能にする
4
5
MD-SAL の役割は、 YANG で定義された RPC, Datastore, Notification
の提供者と利用者の橋渡し
Source: http://files.meetup.com/18195068/ODLUG-Tokyo-1-1-MD-SAL.pdf
旧アーキテクチャとの比較
 旧アーキテクチャ
• 各 Application は SAL (サービス抽象化レイヤ) の Java API を介し、 Protocol Plugin を制御する
• SAL の JAVA API はコンパイル時に決定する
 現アーキテクチャ
• 全て(SAL、Application、Protocol Plugin)の機能を MD-SAL の1つのモジュールとして動かす
• SAL (サービス抽象化レイヤ) でさえも実行時に拡張可能
6
Controller
AD-SAL
Protocol
Plugin
Protocol
Plugin
...
Application ... Application
Northbound API
Southbound API
Controller
ProcessingProcessing
MD-SAL
Application
Protocol
Plugin
Model
API
Application
(Processing)
API
Model
Source: https://youtu.be/GWyjRKQJ840
例: OpenFlow Processing Pipeline
7
Controller
MD-SAL
OF Inventory
(Operational)
Forwarding
Rules Manager
OpenFlow Java
OF Plugin
Data Change Notification
Data Store Write OF SwitchOF SwitchOF Switch
OF Topology
Topology
Manager
OF Inventory
(Configuration)
NETCONF
RESTCONF
OF SwitchOF SwitchAppsRPCs/Notifications
OpenFlow 1.0/1.3
Inventory
Data Store RPCs, Notifications
Source: https://youtu.be/GWyjRKQJ840
Yang Model OpenFlow スイッチの操作モデルと
データモデル
MD-SAL のクラスタ対応
 OpenDaylight 複数ノードを1つのクラスタとして動作させることにも対
応している
• データストアに格納されたデータを複数 OpenDaylight ノードに自動で複製する
• アプリが RPC を実行した際、同一ノード上にその RPC を実装するアプリが存在しな
ければ、他のノードにその RPC を転送する
8
Source: https://youtu.be/GWyjRKQJ840
Thank You

More Related Content

Similar to Odlug tokyo-5-2-md-sal

Similar to Odlug tokyo-5-2-md-sal (20)

Lagopus Switch Usecases
Lagopus Switch UsecasesLagopus Switch Usecases
Lagopus Switch Usecases
 
Cisco Connect Japan 2014: MPLS アドバンス
Cisco Connect Japan 2014: MPLS アドバンスCisco Connect Japan 2014: MPLS アドバンス
Cisco Connect Japan 2014: MPLS アドバンス
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
20181120 HowtoFlow
20181120 HowtoFlow20181120 HowtoFlow
20181120 HowtoFlow
 
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
 
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
 
ロードバランサのリソース問題を解決する ~NetScaler Clustering~
ロードバランサのリソース問題を解決する ~NetScaler Clustering~ ロードバランサのリソース問題を解決する ~NetScaler Clustering~
ロードバランサのリソース問題を解決する ~NetScaler Clustering~
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
 
Microservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on AzureMicroservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on Azure
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
ISOC-JP/JPNIC IETF95 報告会 ネットワーク計測関連WG報告
ISOC-JP/JPNIC IETF95 報告会 ネットワーク計測関連WG報告ISOC-JP/JPNIC IETF95 報告会 ネットワーク計測関連WG報告
ISOC-JP/JPNIC IETF95 報告会 ネットワーク計測関連WG報告
 
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessionsOpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
 
【第1回開催!】Kong Community, Japanミートアップ
【第1回開催!】Kong Community, Japanミートアップ 【第1回開催!】Kong Community, Japanミートアップ
【第1回開催!】Kong Community, Japanミートアップ
 
API イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMXAPI イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMX
 
ソフトウェアが可能する新しいネッワークの 未来と提供する価値:ユースケース
ソフトウェアが可能する新しいネッワークの 未来と提供する価値:ユースケースソフトウェアが可能する新しいネッワークの 未来と提供する価値:ユースケース
ソフトウェアが可能する新しいネッワークの 未来と提供する価値:ユースケース
 
NGINX Instance Manager Tames the Sprawl (Japanese version)
NGINX Instance Manager Tames the Sprawl (Japanese version)NGINX Instance Manager Tames the Sprawl (Japanese version)
NGINX Instance Manager Tames the Sprawl (Japanese version)
 
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
 

Odlug tokyo-5-2-md-sal

  • 2. MD-SAL (Model-Driven Service Abstraction Layer) おさらい: 機能一覧 OpenFlow Enabled Devices Open vSwitches Additional Virtual & Physical Devices Data Plane Elements (Virtual Switches, Physical Device Interfaces) Controller Platform Services/Applications OVSDB NETCONF PCMM/ COPS SNBILISP PCEP SNMPSXP Southbound Interfaces & Protocol Plugins OpenFlow USCCAPWAP OPFLEX Control Plane Functions OpenDaylight APIs REST/RESTCONF/NETCONF/AMQP LACP AAA Authorization Filter Network Abstractions (Policy/Intent) Graphical User Interface Application and Toolkit (DLUX / NeXT UI) IoT Http/CoAP OF-Config Embedded Controller Applications Independent Network Applications • AAA • Host Tracker • Infrastructure Utilities • L2 Switch • LISP Service • Link Aggregation Control Protocol • Open Flow Forwarding Rules Manager • OpenFlow Stats Manager • OpenFlow Switch Manager • Topology Processing • NetIDE • NetVirt • Neutron Northbound • OVSDB Neutron • SN Integration Aggregator • Service Function Chaining • Time Series Data Repository • Unified Secure Channel Mgr • User Network Interface Mgr • Virtual Tenant Network Mgr • Atrium Router • Cardinal • Centinel – Streaming Data Hdlr • Controller Shield • Deve Discovery, ID & Mgmt • DOCSIS Abstraction • Eman • Genius • NAT Application • ALTO Protocol Manager • Fabric as a Service • Group Based Policy Service • NEMO • Network Intent Composition OCPBGP
  • 3. Basic Design  機能毎に小さなモジュールに分割して実装  各モジュールは MD-SAL を介して疎に連携する 3 Source: https://youtu.be/GWyjRKQJ840
  • 4. MD-SAL: Model-Driven Service Abstraction Layer  データモデルに基づいたアプリケーション管理機能  各アプリは他のアプリに公開するサービスをモデルを使って定義する • サービスタイプ1: Datastore  例: スイッチの一覧、トポロジ情報など • サービスタイプ2: RPC (Remote Procedure Call)  機能呼び出し  例: フローエントリの追加など • サービスタイプ3: Notification  非同期イベント通知  モデル記述言語として YANG (RFC 6020) が利用されている  MD-SAL は YANG で記述されたサービスを Java API や REST API などに変換し、他アプリ から利用可能にする 4
  • 5. 5 MD-SAL の役割は、 YANG で定義された RPC, Datastore, Notification の提供者と利用者の橋渡し Source: http://files.meetup.com/18195068/ODLUG-Tokyo-1-1-MD-SAL.pdf
  • 6. 旧アーキテクチャとの比較  旧アーキテクチャ • 各 Application は SAL (サービス抽象化レイヤ) の Java API を介し、 Protocol Plugin を制御する • SAL の JAVA API はコンパイル時に決定する  現アーキテクチャ • 全て(SAL、Application、Protocol Plugin)の機能を MD-SAL の1つのモジュールとして動かす • SAL (サービス抽象化レイヤ) でさえも実行時に拡張可能 6 Controller AD-SAL Protocol Plugin Protocol Plugin ... Application ... Application Northbound API Southbound API Controller ProcessingProcessing MD-SAL Application Protocol Plugin Model API Application (Processing) API Model Source: https://youtu.be/GWyjRKQJ840
  • 7. 例: OpenFlow Processing Pipeline 7 Controller MD-SAL OF Inventory (Operational) Forwarding Rules Manager OpenFlow Java OF Plugin Data Change Notification Data Store Write OF SwitchOF SwitchOF Switch OF Topology Topology Manager OF Inventory (Configuration) NETCONF RESTCONF OF SwitchOF SwitchAppsRPCs/Notifications OpenFlow 1.0/1.3 Inventory Data Store RPCs, Notifications Source: https://youtu.be/GWyjRKQJ840 Yang Model OpenFlow スイッチの操作モデルと データモデル
  • 8. MD-SAL のクラスタ対応  OpenDaylight 複数ノードを1つのクラスタとして動作させることにも対 応している • データストアに格納されたデータを複数 OpenDaylight ノードに自動で複製する • アプリが RPC を実行した際、同一ノード上にその RPC を実装するアプリが存在しな ければ、他のノードにその RPC を転送する 8 Source: https://youtu.be/GWyjRKQJ840