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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏架构师之路

框架组件,究竟要不要自研?

一、问题的提出 询问框架组件,是否需要自研? 18年规划系统介绍58到家的技术体系,15年加盟58到家后,架构部正好也是负责范围的一部分,故谈一谈自己的想法,个...

45360
来自专栏钱塘大数据

【钱塘号专栏】大神级程序员才知道的40个小技巧

1、重构是程序员的主力技能。 2、工作日志能提升脑容量。 3、先用profiler调查,才有脸谈优化。 4、注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎...

32470
来自专栏华仔的技术笔记

iOS应用架构谈 view层的组织和调用方案 pragma mark - life cyclepragma mark - life cyclepragma mark - getters and set

36080
来自专栏ThoughtWorks

ArchUnit,架构守护神 | 雷达哔哔哔

ArchUnit是一个基于 Java 的测试库,用于检查代码的结构特性,如包和类的依赖关系、注解验证,甚至还能检查代码分层是否一致。我们很喜欢 ArchUnit...

34620
来自专栏云端架构

【云端架构】程序员常用四十个小技巧

4、注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音。

46190
来自专栏一个会写诗的程序员的博客

20+个很棒的Android开源项目

20+个很棒的Android开源项目 本文摘自文章: 20+ Awesome Open-Source Android Apps To Boost Your D...

14220
来自专栏云加头条

智能云上手指南:如何接入腾讯云的自然语言处理能力?

本文将为广大云开发者介绍如何介入腾讯开放的自然语言处理能力,即文智自然语言处理。

84000
来自专栏SDNLAB

SDN实战团分享(二十五):博科SDN控制器BSC介绍

首先 BSC与 ODL 的本质一样,同样的内核软件,同样的架构。我们下面看这张图说明一下BSC控制器和ODL控制器的关系: ? 下面蓝色的部分就是ODL的实质,...

36670
来自专栏大数据文摘

去IOE的另外一条路径:全内存数据库弯道超车

22380
来自专栏SDNLAB

我与SDN的缘分:一名初学者的学习之路与心得

SDN,Software Defined Network,是对传统网络架构的一次革新。经过短短三四个月的学习和实践,我本着授人以渔的理念,辅以我的一些理解,将我...

28840

扫码关注云+社区

领取腾讯云代金券