造价通

反馈
取消

热门搜词

造价通

取消 发送 反馈意见

SDN控制器其他控制器

2018/06/19222 作者:佚名
导读: 1.NOX和POX NOX 是斯坦福大学在2008 年提出的第一款OpenFlow 控制器,它的早期版本(NOX-Classic)由C++和Python 两种语言实现,只能支持单线程操作。控制器提供相应的编程接口,开发人员可以使用C++或者Python 语言在这些接口上实现自己的应用。这个版本已经开源了包括hub、switch、topology 和route在内的多种应用。NOX

1.NOX和POX

NOX 是斯坦福大学在2008 年提出的第一款OpenFlow 控制器,它的早期版本(NOX-Classic)由C++和Python 两种语言实现,只能支持单线程操作。控制器提供相应的编程接口,开发人员可以使用C++或者Python 语言在这些接口上实现自己的应用。这个版本已经开源了包括hub、switch、topology 和route在内的多种应用。

NOX 的新版本(0.9.2~core~beta,2012-5-11 发布)完全由C++实现,支持OpenFlow1.0 协议,并且提供了多线程的支持。由于C++语言的灵活性、高效性,并且新版本增加了多线程的支持,其性能有了很大的提升,但美中不足的是,新版NOX只提供了基本框架。由于它在代码结构和实现语言上有了一定的调整,原来版本中的相关应用在新版本中无法直接

移植。最新版本的NOX只有switch 一个应用,实现了learning switch的功能。

NOX团队从其旧版本中分离出Python 语言实现的内容之后,又实现了一款完全使用Python语言的控制器POX。尽管POX现在开源出来的代码所实现的应用也仅限learning switch,但由于Python 简洁、易读,以及扩展性好等优点,POX得以快速发展,并且得到了广泛的应用。由于Python 是一种解释性语言,它在性能上较C++和Java 会有一些劣势。本文对于POX 的测试,均采用PyPy解释器。

2.Beacon

Beacon 同样起源于斯坦福大学,在2010 年由Erickson 等人设计开发。Beacon 是一款基于Java 语言的开源控制器,截至本文撰写时的最新版本是V1.0.2 版。Beacon 以其高效性和稳定性得以在多个科研项目和实验环境中被应用。另外,Beacon 还具有很好的跨平台特性,并且支持多线程,可以通过Web 的UI 进行访问控制。Beacon 采用Java 的Spring和Equinox 编程模型,可以提供OSGi 用户界面,使用者可以通过用户界面动态地进行模块的添加和删除,在使用和部署上很方便。

3.BigNetworkController&Floodlight

2012年成立的SDN初创公司Big Switch Networks先后推出了几款控制器。首先是其商用版的Big NetworkController,它可以支持多达1 000 个网络设备,每秒连接最多250 000台主机。同年2月,Big Switch发布了其开源控制器Floodlight,该控制器与Big Network Controller使用相同的core engine,作为其开源版本推向市场,到2012年年底,其下载量就已经超过1万。

Floodlight采用Java语言实现,在Apache开源标准许可下可免费使用。另外,Big Network Controller 和Floodlight 的API(application programming interface)完全兼容,因此基于Floodlight 编写的应用程序可以直接应用于商业版本的控制器。也正是基于这种兼容性,Floodlight 开源社区可以向用户提供强大的技术支持。Floodlight 最新版本(V0.90)于2012 年10 月发布,支持多线程和Web UI。同时,Floodlight 也可以很好地应用于OpenStack。

4.Maestro

Maestro[9]是莱斯大学2011年的一篇学位论文,提出并用Java 实现了一款基于LGPL V2.1 开源协议标准的多线程控制器,主要应用于科研领域。它同样有着很好的平台适应性,可以有效地在多种操作系统和体系结构的机器上运行。到目前为止,Maestro最

新开源版本为2011 年5 月发布的V0.2.1,其实现的应用主要包括learning switch、discovery、location management、route 等。而对于命令行模式,只是实现了一些简单的display 操作。相对其他控制器来说,Maestro版本的更新速度比较慢。

5.Ryu

Ryu是由日本NTT公司负责设计研发的一款开源SDN 控制器。同POX 一样,Ryu 也是完全由Python 语言实现,使用者可以用Python 语言在其上实现自己的应用。Ryu 目前支持OpenFlow V1.0、V1.2 和V1.3,同时支持在OpenStack上的部署应用。Ryu采用Apache License开源协议标准,最新版本实现了simple_switch、rest_topology等应用。

6.Helios和SNAC

上述介绍的控制器主要都是开源的,而Helios 和SNAC是闭源的SDN控制器。Helios 是由NEC公司开发的基于C语言的可扩展控制器,它主要应用于科研环境,并且提供了一个可编程的界面来进行实验。SNAC是Nicira Networks 基于NOX开发的一款企业级控制器,它提供了灵活的策略定义语言,通过策略管理器管理网络,有着友好的用户界面。

*文章为作者独立观点,不代表造价通立场,除来源是“造价通”外。
关注微信公众号造价通(zjtcn_Largedata),获取建设行业第一手资讯

热门推荐

相关阅读