前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ONOS预热篇之开放分布式SDN操作系统(三)

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

作者头像
SDNLAB
发布于 2018-04-04 07:50:40
发布于 2018-04-04 07:50:40
1.3K0
举报
文章被收录于专栏:SDNLABSDNLAB

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

一、 介绍

近年,学术界和产业界对SDN产生了极大的兴趣。一个开放的、厂商中立的、控制数据平面分离的接口如OpenFlow,允许网络硬件和软件独立发展,并促进了免费的开源的网络操作系统的发展,来更换传统的、价格昂贵的、专有的硬件和商用硬件。通过管理网络资源和提供高层次的抽象和APIs,NOS提供一个开放的平台,它简化了创新有益网络应用的创建并且服务于多种硬件网络。

为了支持大型网络,NOS必须满足可扩展性大、性能高、可用性强的需求。根据网络运营商的讨论,并考虑到服务提供商网络中的流量工程使用,我已确定几个极具挑战性的需求,如图1:

图1:ONOS需求

  • 高吞吐量,达到1M requests/s;
  • 低延迟,事件进程10-100ms;
  • 全局网络状态大小,数据量最高达到1TB;
  • 高可用性,99.99%的服务可用性。

为了解决上述问题,已在实验系统上运行开放网络操作系统(Open Network Operating System,ONOS)。ONOS采用一个分布式架构,可达到高可用性和高扩展性,为应用程序提供一个全局的网络视图,即使物理上分布在多服务器,逻辑上也可集中管控。ONOS作为一个开源项目,主要通过下面两个重要原型的开发逐渐发展演变: (1)原型1在分布式平台上为扩展性和容错能力致力于全局网络视图; (2)原型2致力于提高性能,尤其是为事件延迟添加了一个事件通知框架,改变数据存储和数据模型并添加缓存层。

二、 原型1:网络视图、扩展和容错

ONOS最初的挑战是创建一个有用的抽象层、全局网络视图、以及在一个系统上跨多个服务器运行在控制层面的扩展和容错能力。使用开源构件建立的第一个原型是为了快速验证以及更深入探索设计的可能性。根据现有的开源SDN控制器Floodlight开发出第一个原型,使用了Floodlight的部分模块,包括交换机管理、I/O回环、链路发现、模块管理和REST APIs。下图显示了原型1的系统架构:

图2:原型1架构

2.1 全局网络视图

ONOS含有全局网络视图功能,在集群中通过ONOS服务器管理和共享网络状态,并提供一个对应底层网络结构的网络视图模型。在每个ONOS实例中发现的网络拓扑和状态,如交换机端口、链路和主机信息构成全局网络视图,并从全局网络视图中读取应用程序确定转发策略,然后将转发策略依次写到网络视图中,当视图信息发生变化时,将变化消息发送到相应的OpenFlow控制器并下发到在指定的交换机上。初始的网络视图数据模型,采用Titan图形数据库实现、使用Cassandra键值存储实现分布式和可持续性,通过Blue-prints图形API暴露网络状态给应用程序。由于Cassandra具有一致性存储的特性,所以保障了网络试图的最终一致性。

2.2 可扩展性

ONOS的一个关键功能是其可扩展性和容错能力的分布式架构,ONOS运行在多个服务器上,每个作为专属的master OpenFlow控制器,管理网络子集中的交换机。一个ONOS将独立完成对网络及交换机的控制并负责全局网络视图之间的状态变化;当数据平面容量增长或者在控制平面需求增加时,附加的ONOS应用实例可以被添加到ONOS集群中分发控制平面的工作负载,体现了良好的可扩展性。

2.3 容错能力

在ONOS分布式体系结构中,当一个组件或ONOS实例失败时,有其他剩他实例的情况下,允许重新分配,保障系统仍能继续工作。ONOS的架构允许在运行时组件存在于一个实例,但是提供多个冗余的实例,接管之前的失败实例来控制组件。在运行时通过在所有实例中选择一个最优实例来代替初始实例。

一个交换机可以连接多个ONOS实例,但是对于每个交换机来说,只有一个主(master)实例控制。这个master实例独自负责发现交换机信息和控制交换机,当一个ONOS主实例失败时,剩余的实例选择一个新的master来控制交换机。与每个交换机一致性匹配度最高的ONOS实例被选择运行最为master,以确保在所有交换机中,被选择的这个ONOS实例能够负责每台交换机。

用Zookeeper管理交换机和控制器之间的关系,包括监测和反馈ONOS实例是否失败;同时,ONOS实例一定要与Zookeeper保持连接为了成为交换机的master控制器。如果一个ONOS实例与Zookeeper失去连接,另一个ONOS实例将负责控制此交换机。Zookeeper使用一个匹配的协议维持与ONOS很大的一致性,且只要大多数服务器可用,Zookeeper就有很强的容错能力。

2.4 评估

第一个ONOS原型开发历经4个月,在2013年4月在ONS(Open Networking Summit)大会上演示了ONOS原型1,这个演示显示ONOS控制几百个虚拟交换机、使用网络视图下发端到端的流、动态添加交换机和ONOS实例到集群中、针对ONOS实例停机的故障转移以及针对链路响应失败重新添加路由等。总体来说,虽然已经实现了系统的基本功能,但是一些设计选择导致性能和可用性并不好,主要表现是一下几个方面:

  • 一致性和完整性。Titan在Cassandra上最终要保持数据存储的一致性以及图形架构的完整性,比如一条链路必须连接两个节点;
  • 低性能和可见性。原型1延迟比预期差很多,主要原因在于使用开源软件,虽然很快可以完成开发,但是这些开源软件之间的协调,并不容易。而且ONOS的开发者并不是特别熟悉这些开源代码,导致性能并不高;
  • 数据模型问题。使用Titan存储导致所有数据如Port,flow entries等都需要以Vertices存储,需要构建一个索引来查询数据,如交换机数据。当大量节点加入网络时,并发的数据量增加导致索引构建就会成为瓶颈;
  • 过多的数据存储操作。Titan和Cassandra间的数据转换会产生过多数据存储操作导致延迟;
  • 轮询问题。通过周期同步数据,没有实现订阅分发,增加CPU的使用率。

通过模型1的测试及分析,需要设计更高效的数据模型,减少多余的数据操作,实现订阅分发机制以及简化API等。

三、 原型2:性能提高

原型2主要集中关注于提高ONOS的性能,但是这个导致改变了网络视图架构并添加了事件通知架构,如下图所示:

图3:原型2架构

远程数据操作是原型1最大的性能瓶颈之一,所以在原型2中主要通过尽可能快的远程操作、减少ONOS远程操作量这2种方法解决这个问题。主要涉及的优化主要有:

1.RAM云数据存储。使用内存来代替普通硬盘来存储,从而大大提高存储速度;

2.优化数据模型。新设计了一个data model,更新相对独立,大大减少了数据的读写操作,优化了性能;

3.拓扑缓存。原型1读取拓扑非常耗时,ONOS将拓扑信息存在高速缓存中,从而提高了读取拓扑的速度。除此之外,通过构建索引更快速地查找数据。构建索引可以在任何时刻由全部的数据生成,但是一般情况下,只有新接入ONOS节点时,才会读取全部数据,这不会消耗太多时间;

4.事件通知。上文已提到由于周期获取数据而引起的性能问题,所以引入事件通知机制。原型2创建实例内部的发布-订阅的事件机制,将这个通信系统部署在Hazelcast上;

5.网络视图API。ONOS用自己设计的API取代生成的Blueprints graph API。图4展示了网络视图的内容,ONOS的API主要包涵下面的三个部分:

  • 对底层设施拓扑的抽象描述的接口;
  • 处理网络或系统Events(事件)的接口;
  • 提供安装流表等信息的接口。

图4:使用流表创建数据包路径的连通性请求网络视图

3.1 性能评估

原型2的性能主要在以下三个方面进行测试和评价:

  • 基础网络状态改变;
  • 对网络事件的反应;
  • 路径部署;

3.1.1 基础网络状态改变

当网络中状态发生改变,将进行数据更新操作,会阻塞ONOS的操作,将影响整个ONOS的性能。测试案例中使用三个节点的ONOS集群,连接81个OpenFlow交换机,构成一个典型的WAN拓扑,且每个交换机上都有四个活跃的端口。

ONOS采用了对比的方式,表1展示添加一个交换机后需要的latency,结果可以看出,使用通用的API速度最慢;使用自定义的API,速度提高很多。因为新的Data model仅需要一步就可以完成添加交换机操作,时间上从22.2ms降到1.19ms,延迟减少了很多。在序列化方面由原来的Kryo 尝试使用Google Protocol Buffers,这使延迟时间下降了0.244ms。除此之外,在RAM云集群中还尝试使用Infiniband硬件并优化网络的I/O,性能数据得到了提高。

表1:添加一个交换机的延迟性能测试

3.1.2 对网络事件的反应

对网络事件的反应测试主要是针对ONOS对网络事件的反应速度、端到端的延迟等性能,如网络中某一条链路断掉后,ONOS对流量重选路由的过程需要多长时间,这个性能直接关系到SLA(Service-Level Agreement)的性能。

实验测试使用了6个节点的ONOS集群,数据层面使用Mininet模拟206个交换机和416条链路。将16000条flows添加到网络中,然后关掉交换机的其中一个端口,结果分析显示1000多条flows重新选择路由,其中每一条流有6跳,当某一端口关掉之后,重新选择路由,每一条流将变成7跳。

表2显示重选路由进度进行到一半和99%的数据,从网络时间上捕捉到下发第一条flow_mod及全部flow_mod下发的延迟时间。

表2:重选1000条流的路由延迟时间

3.1.3 路径部署

第三个性能指标测试ONOS系统的吞吐量,测试使用了与对网络事件的反应测试相同的拓扑,但是预先下发15000条静态流表,添加1000条6跳的flows。表3测试结果显示的是路径部署的延迟时间,吞吐量与延迟成反比,在所有流进程进行到一半时吞吐量为18832paths/sec。

表3:路径部署延迟时间

3.2 评估

在原型2中,ONOS对说网络事件的延迟达到了预期的要求,但是吞吐量上还没有达到1M path/sec的标准。不过开发者们将这个原因归咎于仅使用了一个ONOS节点来计算路劲。

四、 实例

2014年3月,论文作者们将ONOS原型2部署在Internet2上运行展示,在大会上展示了(1)ONOS的网络视图;(2)在真实WAN上操作;(3)使用虚拟化硬件和软件交换机;(4)加速ONOS和链路故障转移。图5阐明了ONOS的系统配置:地理上分布5个硬件交换机的主干网络,且每个交换机连接一个模拟的软件交换机。并一个在物理架构上使用OVX(OpenVirteX)创建一个含有205个交换机和414条链路的虚拟网络,并且在印度大学NOC实验室有一个8节点的ONOS集群控制此虚拟网络。

图5:Internet2拓扑和配置Demo

图6显示ONOS发现的拓扑,与图5对比,Los Angeles和Chicago 、 Chicago和Washington D.C之间显示的链路是由OVX虚拟,如下图显示:

图6:ONOS GUI显示发现的交换机和链路拓扑

五、 总结:开放分布式SDN操作系统

建立了两个版本ONOS原型,希望将分布式SDN控制平台发展成为一个更完善的网络操作系统满足大型运营商网络性能和可靠性需求。现在意欲开发多个原型案例帮助推进SDN的发展,其中包括系统APIs、抽象、资源隔离以及调度等。另外,将继续致力于满足性能需求以及开发有用的系统开源版本。

后语:小编在翻译总结的过程中,学习到了很多关于全局网络视图以及分布式管理的知识。ONOS应该是不错的控制器产品,甚至于说是不错的SDN 操作系统。ONOS应用了Titan和Cassandra技术保障了数据的完整性,添加了事件通知框架减少了事件的延迟,使用Zookeeper检测和反馈系统状态,提高了容错能力,采用的分布式框架使扩展能力得到延伸,应用最新的OVX虚拟化网络,以及在性能调优上做了更大的改变和进步,期待ONOS开源版本的发布使用!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2014-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SDNLAB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ONOS发布新版SDN操作系统Junco
在上周的开放网络峰会上,ON.Lab主导的开源项目ONOS发布了新的版本Junco,ON.Lab和ONF表示该版本的ONOS操作系统目前已经在多个实验室和现场试验中运行,并且在上周的ONS大会上加以演
SDNLAB
2018/03/29
6850
SDN初创公司Plexxi及其产品介绍
编者按:随着软件定义网络(SDN)技术的不断发展,SDN业界相当多的创业公司变得越来越炙手可热。打铁还需自身硬,SDN初创公司Plexxi凭借完整优秀的SDN解决方案,在成立不久便获得了相当可观的风投资金,成为业界初创公司获得成功的典范。 2013年12月份SDN初创公司Plexxi,挟数百万美元的风险投资出现在人们的视野里,并同时推出第一批SDN交换机。这家公司的总部在马萨诸塞州剑桥。自12月份公开后一直动作频频。期间推出了众多SDN交换机、控制器及基于SDN的网络解决方案。本文小编就给大家介绍一下,Pl
SDNLAB
2018/04/04
8580
SDN初创公司Plexxi及其产品介绍
ONOS调研报告
1 SDN简介和组成部分 SDN即软件定义网络(Software Defined Network, SDN ),是emulex网络一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术openf
SDNLAB
2018/04/03
1.2K0
ONOS调研报告
ONOS白皮书中篇之ONOS架构
编者按:本系列分三篇对ONOS白皮书进行翻译,接《ONOS白皮书上篇》,本文翻译白皮书中的第5部分ONOS架构,如有不当之处,欢迎指正。 5.ONOS架构 ONOS从一开始就从服务提供商的角度开展架构
SDNLAB
2018/04/04
2.3K0
ONOS白皮书中篇之ONOS架构
如何提高SDN可拓展性
Software Defined Networking是一种控制平面和数据平面分离的可编程的网络架构,目前已经有许多商业落地案例。在部署SDN时,往往会因SDN控制器性能不足而限制了SDN的可拓展性。
SDNLAB
2018/04/03
1.2K0
如何提高SDN可拓展性
白盒交换机操作系统混战
白盒交换机的出现给了用户选择最佳软硬件平台的权利,它仅仅提供交换机硬件和ONIE(开放网络安装环境),用户可以自行选择最合适的交换机芯片,降低成本实现最大效益。但是白盒交换机没有软件是无法使用的,因此每个白盒交换机都需要一个操作系统,用于管理交换机硬件和软件。这个OS往下能整合所有芯片硬件,往上又能衔接所有应用。
SDNLAB
2018/08/16
3.1K0
白盒交换机操作系统混战
SDN之NOS概述
网络操作系统(NOS)是一个用于配置和控制白盒交换机网络的平台,其核心职责是监控交换机的状态(例如,检测端口和链路故障),维护反映当前网络状态的拓扑的全局视图,并使其对控制应用(Control Apps)可用,控制应用依次“指示”网络操作系统根据它们提供的服务来控制通过底层交换机的数据包流量。本文通过ONOS来介绍NOS的总体结构。
SDNLAB
2020/06/28
1.7K0
SDN之NOS概述
ONOS高可用性和可扩展性实现初探
ONOS的发布直面OpenDaylight 进行挑战,直接将 SDN领域两大阵营(运营商和设备商)的竞争瞬间升级,之所以 ONOS能做到这一点,首先,ONOS的定位就是要为运营商提供敏捷和灵活的大规模部署能力,避开了设备商围绕着 OpenDaylight展开的品牌保卫战。另外, ONOS实现了高可用、可扩展的系统设计方案,基于此基础上对系统的层次结构以及网络实体进行高度抽象,这种优秀的设计和高度的抽象保障了系统的演进和能够被优化得更快更有效。这篇文章主要探寻 ONOS在HA 和Scale-out的设计上的一
SDNLAB
2018/04/04
8380
ONOS高可用性和可扩展性实现初探
【双语频道】6分钟了解ONOS
本视频来自ONOS首席架构师Thomas Vachuska的讲解,视频在短短6分钟左右的时间内深入浅出的对ONOS的架构进行了阐述和分析,并对其功能进行了演示。该视频对于ONOS用户宏观的掌握ONOS
SDNLAB
2018/04/02
8350
【双语频道】6分钟了解ONOS
软件定义网络(SDN)基础概念学习笔记(下)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/03
9780
软件定义网络(SDN)基础概念学习笔记(下)
Pingping Lin:ONOS-面向运营商网络的SDN操作系统
第五届中国未来网络发展与创新论坛12月10日-11日在南京盛大开幕,美国开放网络实验室(ON.Lab)技术总监Pingping Lin发表精彩演讲,以下为演讲实录。 Pingping Lin:大家好,我今天讲的是面向运营商的网络系统——ONOS。今天我主要从以下几个方面来介绍,首先简单介绍一下我们公司ON.Lab,然后介绍我们公司的产品。ON.Lab公司一开始主要由几个教授最初提出了SDN,后又成立了这个实验室。我们ON.Lab这个公司,可能大家对这个公司的产品已经很熟悉了,比如说经常使用的Mininet,
SDNLAB
2018/04/03
7890
Pingping Lin:ONOS-面向运营商网络的SDN操作系统
ONOS发布1.2版本Cardinal——专注可扩展性
开源软件定义网络(SDN)项目ONOS公布1.2版本——Cardinal,并声称其软件平台在多协议支持、性能增强、APIs方面支持范围更广。 添加的新功能主要包括IPv6全协议支持、改进北向接口、管理
SDNLAB
2018/04/03
9140
ONOS发布1.2版本Cardinal——专注可扩展性
基于SDN网络的QoS机制研究(上)
蒋暕青,华东师范大学研究生学历,先后于思博伦通信、上海宽带技术及工程研究中心、九州云就职。
SDNLAB
2020/06/19
1.6K0
David Lenrow:ONOS社区及平台介绍
大家下午好!我是为华为工作的,但是今天,我是作为ONOS推广大师来为大家谈一下ONOS的社区以及它的平台。ONOS是一个开放的网络操作系统,我想,它可能就是像一个SDN控制器,大家可以直接把它当成一个SDN的控制器,它是一个网络操作系统。SDN控制器是我们今天讲的重点了。它其实,和OpenDaylight也很类似,我们的使命是一个服务提供商,这是我们ONOS强调一个独特的重点。我们的历史,是非常有意思的。这个项目最初由一家企业倡议的。也就是我们的系统的基础来自一个非常小的团队。它们建立起了东西,还要把它们做
SDNLAB
2018/04/02
6050
David Lenrow:ONOS社区及平台介绍
【每日播报】ONOS预热篇之ONOS简介
1 ONOS诞生背景 1.1 ONOS诞生的利益分析 随着移动设备的不断普及,OTT服务和内容分发的兴起导致服务提供商网络迫切的需要一次网络变革。为了应对日益增长的带宽需求,服务提供商希望网络可以更加敏捷高效,且能从创新型服务和新型业务模式中分一杯羹得到更好的发展,至此SDN的呼声越来越高。而SDN中控制器占重要部分,是兵家必争之地,陆陆续续已经出现了很多SDN控制器,如OpenDaylight、OpenContrail、Ryu、Floodlight、NOX、SPOX等等,其中最受瞩目的莫过于OpenDay
SDNLAB
2018/04/04
9510
【每日播报】ONOS预热篇之ONOS简介
SDN控制平面发展历史及趋势
SDN的特点之一就是控制平面与数据平面分离,其主张通过集中式的控制器平台实现网络的控制。在SDN架构中,控制平面是逻辑集中的,通过某种协议将控制信息下发至底层的数据平面去执行。所以,控制平面被称为SD
SDNLAB
2018/04/03
1.4K0
SDN控制平面发展历史及趋势
云计算数据中心(一)
  云计算基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。将云计算与数据中心有效结合实现了优势互补。 云数据中心应具备以下几个特征。
Francek Chen
2025/01/23
1630
云计算数据中心(一)
【SDN软件定义网络】-1:SDN+Mininet+Ryu+OpenFlow 相关概念简介
SDN(Software-Defined Networking,软件定义网络)是一种网络架构理念,它使得网络设备(如交换机和路由器)的控制功能与数据转发功能分离。这种分离使得网络的配置和管理更加灵活和自动化,从而提高网络的可扩展性和可编程性。
程序员洲洲
2024/08/09
4720
【SDN软件定义网络】-1:SDN+Mininet+Ryu+OpenFlow 相关概念简介
网络层控制平面
**路由: 按照某种指标(传输延迟,所经过的站点数目等)找到一条 从源节点到目标节点的较好路径 **
用户11097514
2024/05/31
1950
网络层控制平面
【8点20】ONOS预热篇之ONOS与OpenDaylight比较(四)
目前以设备提供商为代表的OpenDaylight阵营目前发展势头正劲,而由斯坦福大学和加州大学伯克利分校SDN先驱创立的非营利性组织ON.Lab也紧锣密鼓地推出了自己的开源SDN操作系统——ONOS。此次打造的商业级的以用户为导向的ONOS开放网络操作系统是以服务提供商为首,并且得到了开放网络基金会ONF的鼎力支持,意欲与OpenDaylight一决高下。具体的性能究竟孰好孰坏还需要等待发布之后的评测,下面小编就从不同的方面比较一下这两个业界最知名的网络操作系统。 1. 驱动方式不同 ONOS白皮书中写道,
SDNLAB
2018/04/04
9660
【8点20】ONOS预热篇之ONOS与OpenDaylight比较(四)
相关推荐
ONOS发布新版SDN操作系统Junco
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档