當前位置:歷史故事大全網 - 範文作文 - OpenDaylight详细介绍

OpenDaylight详细介绍

OpenDaylight(ODL)是Linux基金会负责管理的开源项目,是早期使用JAVA开发的控制器,提供一套基于SDN开发的计费、可扩展、可升级、支持多协议的控制器框架 ,目的是推动SDN技术的创新实施和透明化。

SDN(Software Defined Network)即软件定义网络,是一种网络设计理念,或者说是一种推倒重来的设计思想。 理念原来封闭在通用网络硬件的控制平面抽取、独立出来并软件化为SDN控制器,这个控制器相当于网络的“大脑”控制网络中的所有设备,而原来的通用网络硬件只需要听从SDN 控制器的命令进行“傻瓜”转发就可以了。其简单模型如图所示:

SDN网络的三大技术特征:

ODL控制器项目架构详细 如下:

ODL在设计的时候遵循了六个基本的架构原则(以下来自opendaylight官方文档):

1、运行时模块化和扩展(Runtime Modularity and Extensibility):支持在控制器运行时进行服务的安装、删除和更新。

2、多协议的南向支持(Multiprotocol Southbound):南向支持多种协议。

< 3、服务抽象层(Service Abstraction Layer):南多种向协议对上提供统一的北向服务接口。Hydrogen中全线采用AD-SAL,Helium版本AD-SAL和MD-SAL***存,Lithium 和Beryllium中已基本使用MD-SAL架构。

4、开放的可扩展北向API(Open Extensible Northbound API):提供可扩展的应用API,通过REST或者函数调用方式。两者都提供

5、支持多网关、切片(Support for Multitenancy/Slicing):允许网络在逻辑上(或物理上)划分不同的切片或控制器。形成控制器的部分功能 并且可以模块管理指定切片。控制器根据所管理的分片来呈现不同的控制设置面。

6、一致性聚合(Consistent Clustering):提供粒度细复制的聚合并确保网络一致

1、OSGi框架

OSGi(Open Service Gateway Initiative,直译为“开放服务网关”),是一种以Java为技术的 平台的动态规范规范。OSGi中规定了如何定义一个模块以及模块之间如何交互,Java模块被称为Bundle,OSGi就是为了使Bundle性能更好的被复用。基于OSGi的应用是由一个Bundle 组成的,这些Bundle通过OSGi组织在一起,形成了一个系统。

OSGI框架分层:

2、Bundle

OSGi如果说是Java的话 的模块开发体系,Bundle就是模块。OSGi中每个Bundle都有自己的类加载器,支持包级别的类导入和类导出,Bundle通过配置MANIFEST.MF,可以控制从Bundle导出的包,而不导出 的包则在Bundle外部是无法访问的。这样就完成了内部包和外部包的隔离。

3、KARAF是Apache推出的开源项目,同时也是一个基于OSGI的运行环境,可以 用于部署各种组件和应用程序。

4、Maven是现在Java社区中最强大的项目管理和项目构建工具。

5、Netty:java开源框架 。

Netty提供异步的、事件驱动的网络应用程序框架和工具,从而实现快速开发高性能、高可靠性的网络服务器和客户端程序。OpenDaylight南向使用Netty来管理基础的并发IO。

< p> 6、Jersey:开源的RESTful框架,实现了JAX-RS (JSR 311 & JSR 339)规范。OpenDaylight北向使用Jersey提供REST接口。

还有其他占用很多的技术不会 一一介绍了,有兴趣的朋友可以去网上搜索一下。

  • 上一篇:西南藥業股份有限公司的簡介
  • 下一篇:幫忙寫寫主持詞 串詞
  • copyright 2024歷史故事大全網