OpenDaylight MD-SAL插件开发入门指南

需积分: 12 2 下载量 58 浏览量 更新于2024-07-19 收藏 7.16MB PDF 举报
"opendaylight MD-SAL入门" OpenDaylight (ODL) 是一个开源的软件定义网络(SDN)控制器平台,旨在提供一种灵活、可扩展的方式来管理和控制网络。MD-SAL(Model-Driven Service Abstraction Layer)是ODL中的一个重要组件,主要负责服务抽象层的功能,为应用开发提供了便利。 MD-SAL 是ODL Controller Platform的核心模块之一,它运行在OSGi框架上,作为一个Bundle实现。其主要目的是在Controller Platform和Protocol Plugins之间建立一个抽象层,使得开发者可以专注于网络功能和逻辑的开发,而不是深入底层细节。MD-SAL通过抽象化数据交互、数据存储和API调用来简化开发流程。 MD-SAL有两种主要类型: 1. AD-SAL(API-Driven SAL):基于API驱动的服务抽象层,它依赖于特定的API来与数据存储进行交互。 2. MD-SAL(Model-Driven SAL):模型驱动的服务抽象层,更加强调模型的概念,允许开发者使用YANG数据模型来描述网络资源和操作,提高了代码的可读性和可维护性。 在ODL的Helium版本中,同时存在使用AD-SAL和MD-SAL的应用。然而,随着版本的升级,如Lithium,大部分使用AD-SAL的应用被迁移至MD-SAL,因为MD-SAL提供了更好的模型抽象和更强的数据一致性保证。这种迁移趋势表明MD-SAL在ODL生态系统中的重要性和实用性逐渐增强。 对于想要使用OpenDaylight作为SDN应用平台的开发者,尤其是SDN APP开发工程师和寻求技术突破的网络工程师,理解并掌握MD-SAL的开发流程至关重要。这需要开发者具备一定的Java编程基础,了解OpenDaylight项目,以及对Maven、XML、Git、YANG、REST API和OSGi技术的基本认知。 本入门资料的目标就是帮助这些开发者快速理解MD-SAL插件的开发流程,以便他们在开发过程中能更加专注于网络功能和业务逻辑,而不是花费大量时间在学习MD-SAL的底层实现上。通过学习MD-SAL,开发者能够更加高效地构建SDN应用程序,利用ODL的强大功能实现网络的自动化和智能化。