专栏首页北京马哥教育SDN有哪些开源项目?

SDN有哪些开源项目?

SDN 之所以能够发展的如此之快,其中开源社区的贡献不容忽视。随着SDN 各类社区的不断发展状大,开源项目也在不断增多,从控制器到交换机再到网络虚拟化,开源项目一度让小编眼花缭乱。可能你熟悉OpenDaylight、 RYU、Floodlight,但是你也许不知道还有MUL、Beacon、Trema等一大波开源控制器。除了OVS、Flowvisor还有 Pantou和MidoNet,是不是有点脑洞大开的赶脚。 因 此小编特意搜集了部分项目制作成列表供正在彷徨中的用户参考,依次按照控制器、交换机、网络虚拟化以及其他辅助工具的顺序。(注:此处排名不分先后)目前 我们还在寻找更多的项目,如果您有新的发现可以联系@SDNLAB,我们会酌情添加,另外文中如有不妥之处还请批评指正。 控制器 1. OpenDaylight OpenDaylight 以开源社区为主导,使用Java语言实现的的开源框架,旨在推动创新实施以及软件定义网络透明化。面对SDN型网络,OpenDaylight作为项目核 心,拥有一套模块化、可插拔且极为灵活的控制器,还包含一套模块合集,能够执行需要快速完成的网络任务。 2. ONOS (友情提示:此处需要红杏出墙) ONOS 是由ON.Lab使用Java及Apache实现发布的首款开源的SDN网络操作系统,主要面向服务提供商和企业骨干网。ONOS的设计宗旨是满足网络需 求实现可靠性强、性能好、灵活度高。此外,ONOS的北向接口抽象层和API支持简单的应用开发,而通过南向接口抽象层和接口则可以管控OpenFlow 或者传统设备。 3. Floodlight Floodlight是由Big Switch Networks使用apache协议及Java语言开发的一款OpenFlow控制器,被用来与交换机、路由器、虚拟交换机及其他支持OpenFlow标准的设备一起工作。 4. RYU RYU 由日本NTT公司负责设计研发的一款开源SDN控制器,同POX一样,也是完全由Python语言实现,使用者可以在Python语言的基础上实现自己的 应用,采用Apache License开源协议标准,目前支持协议OpenFlow1.0、1.2、1.3,同时支持在OpenStack上的部署应用。提供逻辑上的集中化管 理,通过提供API使网络管理更加方便。 5. POFController POFController 是由华为公司采用BSD/ Apache授权基于Java语言实现的OpenFlow控制器,提供了一个GUI管理界面,用于交换机的控制和配置。POF主要包含控制器和交换机两个 原型文件,旨在提高OpenFlow的规范及支持无感知转发协议和数据包格式。 6. MUL MUL是一个用c语言实现多线程架构的OpenFlow控制器,用来连接app的多种北向接口,目前支持openFlow的1.0、1.3版本,主要为性能和可靠性设计,是一款轻量级高效的控制器。支持一键安装、CTL命令行管理和WEB GUI。 7. POX POX是由斯坦福使用Python语言开发的基于OpenFlow的一种控制器,是NOX的兄弟,它具有能将交换机送上来的协议包交给指定软件模块的功能。 8. NOX NOX 是Nicira使用Python开发的首个提供尽可能通用接口的 SDN 软件定义网络生态系统的控制器,也是用来构建网络控制应用的平台。 9. IRIS IRIS是由ETRI研究团队使用Java语言创建的一个Resursive SDN Openflow控制器。目标是创建一个具备水平扩展电信级网络、高可用性及透明故障恢复、基于OpenFlow递归网络抽象的多域支持等主要功能的SDN控制器。 10. Jaxon Jaxon是一款基于Java语言实现的OpenFlow实现的控制器,提供给NOX一个端口,用来桥接NOX控制器与Java应用。 11. Trema Trema是由NEC公司使用Ruby和C语言实现的易用性极强的一款OpenFlow控制器框架。 12. Beacon Beacon是由斯坦福大学的David Erickson等人设计,基于Java语言开发实现的开源控制器,以高效性和稳定性应用在在多个科研项目及实验环境中,除此之外,具有很好的跨平台性,并支持多线程,可以通过UI界面进行访问控制、使用和部署。 13. Maestro (友情提示:需要红杏出墙哦) Maestro是莱斯大学论文中提出并用Java语言实现的一款基于LGPL V2.1开原协议标准的多线程控制器,主要应用于科研领域,具有很好的平台适应性,可以有效的在多种操作系统和体系结构上运行。 14. NodeFlow NodeFlow 是由Cisco Systems CTO Gary Berger牵头使用JavaScript开发的一个极度简化的OpenFlow控制器,用于Node.js(www.nodejs.org)。 Node.js是一个服务器端的软件系统,用于编写可扩展的因特网应用。 15. Mc-Nettle Mc-Nettle是耶鲁大学开发的一款新型OpenFlow控制器,它定位于超强的多核多服务器,能承担大型数据中心规模的负载流量(譬如每秒2千万个流请求,并可扩展至5000台交换机)。 交换机 1. Open vSwitch Open vSwitch是由Nicira公司使用C和Python语言开发实现的遵循开源Apache2.0许可的产品级质量的多层虚拟交换标准!它旨在通过编程 扩展,使庞大的网络自动化(配置、管理、维护),同时还支持标准的管理接口和协议,OVS支持跨越多个物理服务器的分布式环境,类似于VMware的 vNetwork distributed vswitch以及Cisco的 Nexus 1000V。 2. POFSwitch POFSwitch是由华为公司采用BSD许可基于Linux系统C语言实现的虚拟交换机,POFSwitch与POFController协同工作增强OpenFlow协议支持协议无感知转发。 3. Pica8 XORPlus 是由Pica8公司提供硬件交换芯片为软件定义网络提供开放系统支持L2 / L3协议栈的Open vSwitch软件平台,在严格控制源码License下允许派生,允许object-form,但不可以在未经过Pica8同意的情况下公开 XORPlus的源码,也可在Pica8官网上进行沟通交涉。 4. Indigo Indigo 是Big Switch Network根据斯坦福大学的OpenFlow参考方案使用C语言实现的一个开源OpenFlow实现方案,运行于物理交换机之上,能够利用以太网交换 机专用ASIC芯片的硬件特性,以线速运行OpenFlow,支持多达48个高速率10G端口,并支持可扩展的网络虚拟化应用,以及是使用 OpenFlow控制器的跨越多服务器的分布式结构,类似VMware的vNetwork、Cisco的Nexus、Open vSwitch。 5. ONetSwitch ONetSwitch是叠锶公司作为全球首款基于Zynq器件实现的OpenFlow Switch产品,作为理想的SDN教育科研平台,具备“软件可编程,逻辑可重构,硬件可扩展”能力,是面向SDN/OpenFlow的可编程交换机。 6. Pantou(OpenWRT) Pantou(OpenWRT) 是基于BackFire OpenWrt软件版本(Linux 2.6.32)实现的把商用的无线路由器或无线接入点设备变为一个支持OpenFlow的交换机,把OpenFlow作为OpenWrt上面的一个应用来 实现,Pantou支持的设备包括:普通的Broadcom接入点设备、部分型号的LinkSys设备、以及采用Broadcom和Atheros芯片组 的TP-LINK的接入点设备。 7. Of13softswitch Of13softswitch 是由巴西爱立信创新中心(Ericsson Innovation Center)提供支持基于TrafficLab 1.1版软交换产品实现的与OpenFlow 1.3版本规范兼容的用户空间的一个软件交换机方案。该软件交换机包括:交换机实现方案(ofdatapath)、用于连接交换机和控制器的安全信道 (ofprotocol)、用于和OpenFlow 1.3之间进行转换的库(oflib)、以及一个配置工具(dpctl)。 8. LINC LINC 是由FlowForwarding主导基于OpenFlow1.2和1.3.1版本遵循Apache 2许可的一个交换机开源实现项目,架构采用流行的商用x86硬件,可运行于多种平台上,如Linux、Solaris、Windows、MacOS,在 Erlang运行环境的支持下,还可以运行于FreeBSD平台。 9. Switch Light交换机软件 Switch Light是由Big Switch基于开源技术Indigo实现的可在物理或者虚拟交换机上部署OpenFlow网络协议的交换机软件,可被用户自行搭建,实现集中式自动化管 理和配置,用户目前可以注册下载Switch Light软件,与Big Switch的其他SDN产品例如Big Switch Controller、Big Virtual Switch以及Big Tap Monitoring一起使用。

本文分享自微信公众号 - 马哥Linux运维(magedu-Linux)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-04-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 爬取了陈奕迅新歌《我们》10万条评论数据发现:原来,有些人只适合遇见

    小小科
  • 日常工作中有哪些很好的节约时间的技巧?

    我一直在测试和调整各种生产效率的技术,在过去的五年中,阅读了大量的书籍(其中大多数是重复的) ,这里是我的一些结论: 这不是一个关于时间的问题,而是关于精力。 ...

    小小科
  • 小 200 行 Python 代码做了一个换脸程序

    简介 在这篇文章中我将介绍如何写一个简短(200行)的 Python 脚本,来自动地将一幅图片的脸替换为另一幅图片的脸。 这个过程分四步: 检测脸部标记。 旋转...

    小小科
  • OpenFlow:正处在攀升期

    OpenFlow由于其颠覆性一直受到业内的质疑,大家可能都听说过这样的观点:OpenFlow协议没有未来,甚至有人认为它将走向毁灭。 接下来我将用事实证明这些...

    SDNLAB
  • 为什么OpenFlow没有被广泛采用?

    可操作性与可扩展性问题 OpenFlow的终端用户以及市场人员明确指出其技术问题:操作复杂,很难测试以及扩展。 这不是OpenFlow的核心技术问题,但确是其...

    SDNLAB
  • OpenFlow协议之殇?

    在过去,OpenFlow一度是SDN的代名词,只要是SDN出现的地方就不得不谈到OpenFlow。不过现今,SDN似乎对OpenFlow并不是很热情,在谈论SD...

    SDNLAB
  • 如何用 Node.js 实现一个微型 CLI

    命令行界面(英语:command-line interface,缩写:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘...

    林小帅
  • 谷歌自动重建果蝇完整大脑

    今天,谷歌与霍华德 • 休斯医学研究所 (HHMI) 和剑桥大学合作,发布了一项深入研究果蝇大脑的重磅成果 —— 自动重建整个果蝇的大脑。他们使用数千个谷歌云 ...

    物流IT圈
  • 如何在护卫神镜像中安装 SQL SERVER?

    针对很多腾讯云新上云的用户,在购买安装护卫神镜像系统后,需要使用到SQL SERVER但是又不清楚如何安装配置SQL SERVER。

    护卫神小符
  • Java体系之IO设计演进

    在先前的文章《Unix之IO模型》已经讲述到5种IO模型以及对应的同步异步和阻塞非阻塞相关核心概念,接下来看下Java的IO模型在服务端的网络编程中是如何演进,...

    keithl

扫码关注云+社区

领取腾讯云代金券