引入Data Store及Moel的概念后,MD-SAL所完成的主要工作就是数据提供者(provider)和数据消费者(consumer)之间的连通工作:数据提供者/数据消费者均需向MD-SAL注册;数据提供者在提供数据后,会产生Notification;数据消费者可以向MD-SAL订阅数据,在收到数据发生变化的Noticifaction后,其可以从MD-SAL的Data Store获取数据。
SDN开发笔记(四):md-sal应用程序开发 继前3篇文章SDN开发环境的搭建(win7环境)、SDN控制器的使用(ubuntu环境搭建、controller使用、mininet的使用)和ODL源码编译生成发行版控制器之后,终于有时间写第4篇文章,本章主要讲如何开发一个基于MD-SAL的应用程序。开发APP之前请参照之前的文章搭建好jdk环境以及maven环境,搭建...
1、MD-SAL概述 •使用YANG模型作为接口和数据定义的建模语言来描述转发器的属性和动作,通过YANGTool生成对应的API和服务接口java代码。在此基础上,控制器中的各种组件和业务就可以使用统一的数据结构和南北向API。•统一的数据结构、方法实现和数据均存储于datastore中,便于数据管理。•控制器内部各组件注册到MD-...
MD-SAL(Model-driven Service Abstraction Layer,模型驱动的服务抽象层)可以看成是一个消息总线驱动、可扩展的中间件。“M”是模型,即为YANG语言,“MD”是模型驱动,即使用YANG作为数据和接口的建模语言,并为服务之间的通信提供基础框架:消息传递和数据存储功能。 由前面的文章可知,MD-SAL包含DataStore、RPC、Notificati...
MD-SAL是模型驱动的服务抽象层,提供了将北向、南向API以及数据结构(SDN控制器各种服务和组件中使用) 统一的机会。 为了描述控制器组件提供的数据结构,提出了一种特定领域的语言--YANG--作为服务和数据抽象的建模语言。这样的语言允许: 建模XML数据和组件功能的结构。
当前MD-SAL DOM数据代理 目前,DOM数据代理没有被设计成具有树状结构的智能内存缓存,其能够记录依赖性,计算变化集合并维护提交处理程序、通知监听器和实际数据之间的关系。 这可能导致两阶段提交的低效实施,其中所有状态记录由Data Broker本身完成,如下所示:
二者比较 在AD-SAL中,南北向API是1:1的对应关系,同一API无法被复用。所有南北向Plugin的功能都需要定义相应的AD-SAL API来承载,造成AD-SAL模块会更加庞大、实现更为复杂、维护困难性增加。而MD-SAL加入了自动化的思路,所有模块的通信都要经过MD-SAL,不过结构更复杂,从架构上避免了很多问题,不过也增加了学习成本...
第一步,我们需要讲我们的provider接入到MD-SAL,接触过opendaylight都知道有config subsystem,它提供了服务的周期管理,同时能够提供对JMX 和 NETCONF的接入性配置。config subsystem在MD-SAL之外而且被用来提供把应用接入MD-SAL的功能。 我们首先完成配置性关系的yang文件,后面会用yangtools来生成java代码,通过这部分可以在...
Today we are going to develop two mini MD-SAL instances – hello and hi on top of OpenDaylight to simulate the southbound protocol plugin, such as Openflow/OVSDB, BGP-LS/PCEP or NETCONF etc, as well as the northbound service application like IP+Optical Multilayer Optimization, inter-domian ...
本发明公开了基于MDSAL的SDN控制器中间件控制方法及系统,该方法包括:将中间件的北向API接口信息和N个控制器厂商的驱动信息注册到MDSAL上,生成驱动关联表;根据中间件的北向API接口信息连接应用层,并接收应用层发送的操作命令;操作命令包括需操作SDN控制器的第一标识;根据第一标识,判断第一标识是否匹配到驱动关联表中...