ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SDN控制器OpenDaylight简介—Vecloud

SDN控制器OpenDaylight简介—Vecloud

原创 Linux操作系统 作者:Vecloud 时间:2020-11-16 13:58:48 0 删除 编辑

2013 年, Linux Foundation 联合思科、 Juniper 和 Broadcom 等多家网络设备商创立了开源项目 Open
Daylight,
它的发起者和赞助商多为设备厂商而非运营商等网络设备消费者。 Open
Daylight
项目的发展目标在于推出一个通用的 SDN 控制平台、网络操作系统 , 从而管理不同的网络设备 , 正如 Linux 和
Windows
等操作系统可以在不同的底层设备上运行一样。 Open Daylight 支持多种南向协议 , 包括 Open I.0 和 13 版本 NETCONF 和
OVSDB
等 , 是一个广义的 SDN 控制平台 , 而不是仅支持 Open Flow 的狭义 SDN 控制器。
Open Daylight
以元素周期表中的元素名称作为版本号 , 并每 6 个月更新一个版本。从第一个版本 : 氢 (
Hydrogen)
发布至今 , 已经发布了 5 个版本 , 当前版本为硼 ( Boron)"”2014 年 2 月 4 日 , Open Daylight 发布第一个版本
Hydrogen,
得到了行业的聚焦 , 引起了一番轰动。第一版发布之后 , Open
Daylight
发展迅速 , 很快就成为最具有潜力的 SDN 控制器。而相比之下 , 以 Ryu 和 Floodlight 为代表的功能单一的 SDN 控制器的关注度大大降低 ,
OpenDaylight
成为当时 SDN 界最受人瞩目的开源控制器。
Open Daylight
与其他控制器架构的明显差别是 Open Daylight 架构中有服务抽象后 SAL( Service Abstraction
Layer)
。 SAL 主要完成插件的管理 , 包括注册、注销和能力的抽象等功能。不过 , Hydrogen 版本不够成熟 , 代码中出现了两种实现方式 : 一种是已被弃用的
AD-SAL( Application- Driver SAL),
另一种是目前正在使用的 MD-SAL(Model-Driver SAL) 。
2014
年 9 月 29 日 , OpenDaylight 的 Heim 版发布。在 11 月和 12 月 , 官方还连续发布了 Helium 版的两个子版本 SR1 和 SRl. I.
Open Daylight
的 Helium 版增加了与 Open Stack 的集成插件 , 还提供了一个体验更好的交互界面 , 性能也比
Hydrogen
版本提升了许多。在此版本的实现中 , Open Daylight 抛弃了 AD-SAL, 转而全面使用
MD-SAL
此外 , 新版本还增加了 NFV 相关的模块。
2015
年 6 月 29 日 , Open Daylight 的 ithium 版发布。 Lithiun 版增加了对 Open
Stack
的支持 , 并针对之前的安全漏洞 , 加强了安全方面的工作 , 可拓展性和性能也得到了提升。此外 , 该版本加大了对 NFV 方面的开发投入。相比 Helium 版 ,
Lithiun
版的稳定性等得到了大大的提高 ,GU 也得到了进一步美化 , 总体而言 , 相比 Helium 版本增强了许多。
2016
年 2 月 , Open Daylight 的
Beryllium
版发布。新版本进一步提升了性能和可拓展性 , 也提供了更加丰富的应用案例。相比上一个版本 , 此版本没有太大的改变。
2016
年 9 月 , Open Daylight 的新版本 Boron( 硼 ) 终于发布。
Boron
版继续对性能进行提升 , 也在用户体验方面下了功夫。此外 , 该版本在云和 NFV 方面增加了若干新模块 , 进一步支持云和 NFV 。值得注意的是 , 这些新增的模块中 , 有大约一半是由 Open
Daylight
的用户提出的 , 其中就有 AT&T 主导的 YANG IDE 模块。从 Boron 版开始 Open
Dayligh
开始提倡由用户来引领创新 , 鼓励更多的社区用户参与到 Open Daylight 中 , 一起推动 Open Daylight 的发展。
Open Daylight
是一个很庞大的开源项目 , 它的社区成员包括许多组织和企业 , 包括 AT&T 、思科和腾讯等。然而由于组织本身的利益不同 , 加入
Open Daylight
项目的目的也各不相同。而出于企业战略考虑 , 社区中的赞助成员的策略各不相同 , 比如 Big Switch 离开了项目 ,
VMware
减少了投资 , 但 HP 却增加了赞助 , 升级为 OpenDaylight 社区的铂金会员。
Open Daylight
的架构可分为南向接口层、控制平面层、北向接口层和网络应用层。南向接口层中包含了如 Open Flow 、
NET-CONF
和 SNMP 等多种南向协议的实现。控制平面层是 Open Daylight 的核心 , 包括
MD-SALI
、基础的网络功能模块、网络服务和网络抽象等模块 , 其中 MD-SAL 是 Open Daylight 最具特色的设计 , 也是 Open
Daylight
架构中最重要的核心模块。无论是南向模块还是北向模块 , 或者其他模块 , 都需要在 MD-SAL 中注册才能正常工作。
MD-SAL
也是逻辑上的信息容器 , 是 OpenDaylight 控制器的管理中心 , 负责数据存储、请求路由、消息的订阅和发布等内容北向接口层包含了开放的 REST
API
接口及 AAA 认证部分。应用层是基于 Open Daylight 北向接口层的接口所开发出的应用集合。
OpenDaylight
基于 Java 语言编写 , 采用 Maven( Maven 是一个优秀的跨平台构建工具 , 是 Apache 的一个项目 ) 来构建模块项目代码。
Maven
构建工程有许多好处 , 可以允许 Open Daylight 对某些模块进行单独编译 , 使得在只修改某些模块代码时快速完成编译。为了实现 Open
Daylight
良好的拓展性 , Open Daylight 基于 OsGi( Open ServiceGateway
Initiative)
框架运行 , 所有的模块均作为 oSGi 框架的 bundle 运行。 OSGi 是一个 Java 框架 , 其中定义了应用程序即
bundle
的生命周期模式和服务注册等规范。 OsGi 的优点是支持模块动态加载、卸载、启动和停止等行为 , 尤其适合需要热插拔的模块化大型项目。 Open
Daylight
作为一个网络操作系统平台 , 基于 OSGi 框架开发可以实现灵活的模块加载和卸载等操作 , 而无须在对模块进行操作时重启整个控制器 , 在新版本中 , 其使用了 Kaf 容器来运行项目。 Kaaf 是 Apache 旗下的一个开源项目 , 是一个基于 osGi 的运行环境 , 提供了一个轻量级的 oSGi 容器。基于 Open
Daylight
控制器开发模块时 , 还需要使用 YANG 语言来建模 , 然后使用 YANG Tools 生成对应的 Java API, 并与其他
Maven
构建的插件代码共同完成服务实现。
特性方面 , Open Daylight 支持丰富的特性 , 而且在目前版本迭代中依然不断增加特性。南向协议支持方面 , Open Daylight 支持 Open
Flow
、 NET-CONF 、 SNMP 和 PCEP 等多种南向协议 , 所以 Open Daylight 可以管理使用不同南向协议的网络。核心功能部分 ,Open
Daylight
除了支持如拓扑发现等基础的控制器的功能以外 , 还支持许多新的服务 ,San VTN(Virtual Tenant Network )
ALTO(Application Layer Traffic Optimization ), DDoS
防御及 SDNi
Wrapper
等服务和应用。值得一提的 ,SDNi 是华为开发并提交给 IETF 的 SDN 域间通信的协议草案 , 目的是实现 SDN 控制器实例之间的信息交互。
此外 , Open Daylight 还正在大力开展 NFV 的研发。正如之前提到的 , Open Daylight 不仅仅是一个 SDN 控制器 , Open
Daylight
是一个网络操作系统。除了 SDN 控制器的基础功能以外 , 还包括 NFV 等其他应用服务 , 可见其旨在打造一个通用的 SDN 操作系统。

Vecloud是一家面向企业提供云交换网络服务为核心业务的技术创新企业,公司有24*7专业运维团队支撑,可以快速定位客户使用中遇到的问题,最快解决问题。http://www.vecloud.com/products/msp.html

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69984354/viewspace-2734413/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-09-22

  • 博文量
    48
  • 访问量
    31886