
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/ ,如需转载,请注明出处,否则将追究法律责任。