内容
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