首页 > 代码库 > 【译】OpenDaylight控制器:MD-SAL 架构

【译】OpenDaylight控制器:MD-SAL 架构

内容

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过渡计划

      MD-SAL到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

【译】OpenDaylight控制器:MD-SAL 架构