內容
1. 介紹
MD-SAL是模型驅動的服務抽象層,提供了將北向、南向API以及數據結構(SDN控制器各種服務和組件中使用) 統一的機會。
為了描述控制器組件提供的數據結構,提出了一種特定領域的語言--YANG--作為服務和數據抽象的建模語言。這樣的語言允許:
- 建模XML數據和組件功能的結構。
- 定義語義元素及其關系。
- 將所有組件建模為單個系統。
2. 范圍
該內容定義了模型驅動的服務抽象層(SAL)的架構、綁定無關的數據格式以及基礎架構組件。
3. 定義和首字母縮略詞
- 綁定(Binding):由YANG Schema 生成的Java接口,類和約定。
- 綁定感知(Binding Aware):使用了YANG Schema生成的數據和API的組件或功能。
- BI,綁定無關(Binding Indepent):使用DOM方式進行數據和API調用的組件或功能,它獨立於由YANG生成的Java語言綁定。
- 綁定無關類型標識符(Binding-independent type identifier):類似QName的格式的數據結構或RPC方法的標識符
- 消費者(Consumer):使用由另一個提供者提供的模型和/或API的組件(例如應用程序)。
- 數據操作(Data operation):描述整個系統狀態(配置,運行數據)的數據子集之上的操作。
- DTO,數據傳輸對象(Data Transfer Object):用於在Binding-Aware組件之間傳輸數據的簡單對象。 DTO是綁定的一部分。
- 基礎架構組件(Infrastructure Component):既不是提供者也不是消費者,但暴露或擴展SAL功能的組件。
- 提供者(Provider):通過特定於模型的API或以獨立於綁定的格式為應用程序提供功能的組件
- SAL:服務抽象層。
- NSF:網絡服務功能(例如TopologyManager,ForwardingRulesManager)
4. 內容結構
該內容分為三個主要部分:
架構概況
Yang Schema和模型
綁定無關數據格式
綁定無關組件
- 綁定感知服務抽象層--使用在開發時和運行時生成的代碼。它包括以下部分:
綁定模型-描述將綁定無關格式映射到生成的Java綁定的基本概念
綁定感知組件-描述使用綁定的組件和/或為綁定提供支持功能。
- 工作流程和序列圖示例--演示了Controller SAL的工作原理。
5. AD-SAL過渡計划
6. 參考文獻
- http://tools.ietf.org/html/rfc6241 - Network Configuration Protocol (NETCONF)
- http://tools.ietf.org/html/rfc6020 - YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)
- http://datatracker.ietf.org/doc/draft-clemm-netmod-mount - Mounting YANG-Defined Information from Remote Datastores
- http://en.wikipedia.org/wiki/Northbound_interface
原文鏈接:https://wiki.opendaylight.org/view/OpenDaylight_Controller:Example_Workflows
