ONOS预热篇之ONOS与OpenDaylight比较(四)

目前以设备提供商为代表的OpenDaylight阵营目前发展势头正劲,而由斯坦福大学和加州大学伯克利分校SDN先驱创立的非营利性组织ON.Lab也紧锣密鼓地推出了自己的开源SDN操作系统——ONOS。此次打造的商业级的以用户为导向的ONOS开放网络操作系统是以服务提供商为首,并且得到了开放网络基金会ONF的鼎力支持,意欲与OpenDaylight一决高下。具体的性能究竟孰好孰坏还需要等待发布之后的评测,下面小编就从不同的方面比较一下这两个业界最知名的网络操作系统。

1. 驱动方式不同

ONOS白皮书中写道,一个操作系统应该具备下述功能:

  • 为用户管理有限的资源。
  • 隔离和保护NOS用户。需要操作系统能复用多个应用和多个设备。
  • 提供一个可用的抽象层让用户灵活的使用操作系统所管理的服务和资源,并且无需了解网络的复杂性。
  • 为外部操作系统提供安全保障。
  • 提供敏捷高效的服务,用户不需要创建、重建相同的服务。

这些都是网络应用所需要的。通常控制器所控制的范围十分局限,通常设置为控制一个设备。ONOS具备一个操作系统所具备的所有功能,不仅仅是控制器的功能,例如可以提供高效敏捷的抽象层,能够将不同的控制器使用者隔离开来,能够提供有价值的服务等等。ONOS是根据服务提供商的特点和需求进行软件架构设计的。因此ONOS是需求驱动下的产物。

相比而言,目前围绕SDN炒作更多的是来自设备供应商。OpenDaylight是由思科和IBM 联合其合作伙伴,以及竞争对手建立的组织。其初创成员包括:微软、Big Switch(已退出)、博科、思科、思杰、戴尔、爱立信、富士通、IBM、英特尔、瞻博网络、微软、NEC、惠普、红帽和VMware等。我们可以看到这些成员都是设备供应商,和ONF不同的是OpenDaylight是由大厂商控制的并且削弱了用户的声音。并且它还可能会出于利益问题将部分功能同设备锁定,这并不是SDN的初衷。我们所期望的便是看到所有参与其中的人能共同推动SDN的进步。

2.面向对象不同

ONOS和OpenDaylight代表的阵营不同,面向对象也不同。ONOS的设计理念是能在任何硬件(包括白牌机)上灵活的创建服务并且大规模部署,因其可靠性强,性能好,灵活度高的特点适用于面向服务提供商和企业骨干网。它不仅可以满足运营商提供敏捷和灵活的需求,并且有可能使其摆脱设备供应商的束缚,因此很多运营商愿意接受ONOS。而最近发布的2.0版本的OpenDaylight以及来自其成员企业的支持给其带来了新的发展势头,但是因其成员关系,其在很大层面上受设备商的制约。因此OpenDaylight是设备商在一定程度上为了维护自己阵营的利益的产物,其主要面向对象也是设备商。

3.架构不同

ONOS架构设计伊始就将服务提供商放在首位。下图是ONOS架构图:

图1:ONOS架构

我们看到ONOS架构具体由应用层、北向核心接口层、分布是核心层、南向核心接口层、适配层、设备层六部分构成,其中南向核心接口层和适配层可以合起来称作南向抽象层,它是连接ONOS核心层与设备层的重要桥梁。

ONOS的北向接口抽象层将应用与网络细节隔离,同时网络操作系统又与应用隔离,从业务角度看,提高了应用开发速度。ONOS可以作为服务部署在集群和服务器上,在每个服务器上运行相同的ONOS软件,因此ONOS服务器故障时可以快速地进行故障切换,这就是分布式核心平台所具有的特色性能。分布式核心平台是ONOS架构特征的关键,它为用户创建了一个可靠性极高的环境,将SDN控制器特征提升到运营商级别,这一点是ONOS的最大亮点。南向抽象层由网络单元构成,它将每个网络单元表示为通用格式的对象。通过这个抽象层,分布式核心平台可以维护网络单元的状态,而不需要知道底层设备的具体细节。南向接口确保了ONOS可以管控多个使用不同的协议的不同设备。

图2:OpenDaylight氦版本架构

从上图我们可以看到OpenDaylight最新氦版本架构主要由应用服务层、控制平面层、南向接口层和数据平面层四层构成。大体架构与ONOS并无不同。主要不同还是体现在内部架构的设计上。

OpenDaylight为应用(App)提供开放的北向API。支持OSGi 框架和双向的REST 接口。OSGi框架提供给与控制器运行在同一地址空间的应用,而REST API 则提供给运行在不同地址空间的应用。所有的逻辑和算法都运行在应用中。

控制平面主要包含了基本网络服务和一些附加的网络服务,这些附加服务都可以通过插件的形式安装加载,这增加了OpenDaylight的灵活性。当然了其稳定性也是显而易见的,但并没有采取的像ONOS那样的分布式策略。相比而言ONOS的可靠性应该要更高一些。

南向通过plugin方式来支持多种协议,包括OpenFlow1.0、1.3,BGP-LS 等。这些模块被动态挂载到服务抽象层(SAL),SAL 为上层提供服务,将来自上层的调用封装为适合底层网络设备的协议格式。但是其中的一个名为OpFlex的南向协议则遭到较多的质疑,有人认为OpFlex并不是正确的抽象化,它暴露了设备的细节给应用程序,这意味着它引入较少的抽象和更多的复杂性。从OpenDaylight在南向接口上做的工作可以看出在某些情况下南向接口并没有把底层设备完全抽象出来再给控制平面去处理,这可能也是OpenDaylight代表设备商一边利益的表现。

4.总结

本文将ONOS和OpenDaylight从驱动方式、面向对象和架构三个方面进行简要比较。我们可以看出OpenDaylight是由设备商主导的一个开源控制器,虽然打着开放的旗号,但OpenDaylight一直排斥基于开放的协议方案,而是想采用折中的方案,即以开放专用接口的方式保留传统设备,采取以退为进的方式维护自己的利益。另一方面服务提供商希望他们的网络敏捷、高效,满足日益增长的带宽需求,以创新服务和新型业务模式获取收入。软件定义网络SDN是服务提供商网络转型的关键,ONOS正是这样一个为服务提供商量身打造的新型运营商级别的SDN网络操作系统。

文章来自http://www.sdnlab.com/4309

时间: 2024-08-01 05:56:11

ONOS预热篇之ONOS与OpenDaylight比较(四)的相关文章

ONOS预热篇之ONOS简介(一)

ONOS问世后引起广泛关注,关于ONOS与ODL的纷争不绝于耳,最近小编拜读了一下ONOS白皮书,并做了一点粗浅总结,下面就跟大家分享一下. 1 ONOS诞生背景 1.1 ONOS诞生的利益分析 随着移动设备的不断普及,OTT服务和内容分发的兴起导致服务提供商网络迫切的需要一次网络变革.为了应对日益增长的带宽需求,服务提供商希望网络可以更加敏捷高效,且能从创新型服务和新型业务模式中分一杯羹得到更好的发展,至此SDN的呼声越来越高.而SDN中控制器占重要部分,是兵家必争之地,陆陆续续已经出现了很多

ONOS预热篇之架构简析(二)

ONOS是首款专门面向服务提供商和企业骨干网的开源SDN网络操作系统,是由一家名为开放网络实验室(ON.Lab)的非盈利性组织打造的一款商用控制器,并将于美国时间2014年12月5日全球首发.ONOS旨在为服务提供商和企业骨干网提供高可用性(HA).可横向扩展及高性能的网络需求.由于该项目得到了业界各知名大佬包括服务提供商AT&T.NTT,网络供应商Ciena.Ericsson.Fujitsu.Huawei.Intel.NEC,网络运营商Internet2.CNIT.CREATE-NET的资助和

ONOS预热篇之开放分布式SDN操作系统(三)

关于构建ONOS(开放式网络操作系统)的项目专题,是通过性能激发创建的实验性分布式SDN控制平台,满足大型运营商网络的可扩展性.可用性需求.提出了2个版本的ONOS原型,第一个原型版本实现的核心功能是实现一个分布式的但在逻辑上集中的全局网络视图.可扩展性和容错.另一个原型版本侧重于提高性能,基于这两个原型的实践,已形成论文发表<ONOS: Towards an Open, Distributed SDN OS>,确定需要ONOS来支持使用案例,如核心网络流量工程和调度,变成一个在可用的开源SD

ONOS白皮书中篇之ONOS架构

编者按:本系列分三篇对ONOS白皮书进行翻译,接<ONOS白皮书上篇>,本文翻译白皮书中的第5部分ONOS架构,如有不当之处,欢迎指正. 5.ONOS架构 ONOS从一开始就从服务提供商的角度开展架构设计.具备高可用性.可扩展以及性能良好等基本性能,并且还有强大的北向接口抽象层和南向接口. ONOS具有下述核心功能: ■分布式核心平台,提供高可扩展性.高可用性以及高性能,实现运营商级SDN控制平面特征.ONOS以集群方式运行的能力使得SDN控制平台和服务提供商网络具有类似Web风格的灵活性.

ONOS白皮书下篇之ONOS价值主张

编者按:本系列分三篇对ONOS白皮书进行翻译,接<ONOS白皮书中篇之ONOS架构>,本文翻译白皮书中的剩余部分ONOS价值主张及总结,如有不当之处,欢迎指正. 6.ONOS价值主张--运营商用例 6.1多层SDN控制 服务提供商运营多层网络.例如,一个服务提供商可能同时运营IP数据网络和传输网络或是光网络.IP层的上面可能有一个隧道层,创建类似于虚拟IP层网络这样的服务.目前,每层分开管理导致网络利用率低,运营成本高,并且重新配置周期高达几个月.例如,在现在的环境下,数据网络设计者一般会预留

python web编程-概念预热篇

互联网正在引发一场革命??不喜欢看概念的跳过,注意这里仅仅是一些从python核心编程一书的摘抄 这正是最激动人心的一部分了,web编程 Web 客户端和服务器端交互使用的“语言”,Web 交互的标准协议是HTTP(超文本传输协议).HTTP协议是TCP/IP 协议的上层协议,这意味着HTTP 协议依靠TCP/IP 协议来进行低层的交流工作.它的职责不是路由或者传递消息(TCP/IP 协议处理这些),而是通过发送.接受HTTP 消息来处理客户端的请求. HTTP 协议属于无状态协议,它不跟踪从一

基础总结篇之二:Activity的四种launchMode (转载)

转自:http://blog.csdn.net/liuhe688/article/details/6754323 合抱之木,生於毫末:九層之台,起於累土:千里之行,始於足下.<老子> 今天在社区看到有朋友问“如何在半年内成为顶级架构师”,有网友道“关灯睡觉,不用半年的...”,的确,做梦还来的快一些.作为一个程序员,树立远大的目标是值得欣赏的,但不能只去空想,要一步一步地实践才行.成大事者,须从小事做起:万事起于忽微,量变引起质变. 我们今天要讲的是Activity的四种launchMode.

第二篇:呈现内容_第四节:个性化自定义控件

一.特性(Attribute): ①DefaultProperty:(例:[DefaultProperty("Text")]) DefaultProperty是用于设置控件的默认属性.例子中[DefaultProperty("Text")],就是当你选择这个控件的时候,在属性窗口中自动被选中的是Text属性. ②ToolboxData:(例:[ToolboxData("<{0}:NonEmptyBox runat=server></{0}

基础总结篇之二:Activity的四种launchMode

合抱之木,生於毫末:九層之台,起於累土:千里之行,始於足下.<老子> 今天在社区看到有朋友问“如何在半年内成为顶级架构师”,有网友道“关灯睡觉,不用半年的...”,的确,做梦还来的快一些.作为一个程序员,树立远大的目标是值得欣赏的,但不能只去空想,要一步一步地实践才行.成大事者,须从小事做起:万事起于忽微,量变引起质变. 我们今天要讲的是Activity的四种launchMode. launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实