SDN开源项目以及组织机构

时间:2022-07-14 16:33:55

SDN开源项目以及组织机构

以上内容均摘自网络 如有侵权,请转告笔者,立即删除

两大组织

  • ONF (Open Networking Foundation)

Google、Facebook、Microsoft等组织发起,核心成员以网络用户为主。

主要成果:OpenFlow 、OF-Config

  • ODL (OpenDayLight)

Cisco、Brocade、IBM、Juniper,核心成员以设备和软件商为主

主要成果:控制器OpenDaylight

异同点 ONF ODL
性质 网络用户为主 设备商和软件商为主
成立时间 2011年 2013年
宗旨 制定SDN标准,推动SDN产业化 打造统一开放的SDN平台,推动SDN产业化
工作重点 制定唯一的南向接口OpenFlow,指定硬件转发标准 不制定任何标准,而是打造一个SDN系统平台,利用现有的一些技术标准作为南向接口
跟OpenFlow的关系 OpenFlow是其唯一的南向接口标准 OpenFlow只是南向接口标准中的一个
北向接口 不倾向于北向接口标准化 定义了一套北向接口API
转发面的工作 通过OpenFlow定义了转发面的标准行为 无设计转发面工作

控制器

1、 OpenDaylight

OpenDaylight以开源社区为主导,使用Java语言实现的的开源框架,旨在推动创新实施以及软件定义网络透明化。面对SDN型网络,OpenDaylight作为项目核心,拥有一套模块化、可插拔且极为灵活的控制器,还包含一套模块合集,能够执行需要快速完成的网络任务。

2、ONOS 

ONOS是由ON.Lab(已于ONF合并)使用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使用C++开发的首个提供尽可能通用接口的 SDN 软件定义网络生态系统的控制器,世界上第一个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一起使用。

网络虚拟化

1、Flowvisor

Flowvisor是使用Java语言编写的建立在OpenFlow之上的网络虚拟化平台,用来在交换机和多个控制器之间传输透明代理proxy ,可以将物理网络分成多个逻辑网络,从而实现开放软件定义网络(SDN),是一个特殊的OpenFlow控制器,已经被部署在很多生产环境中,如从2009年开始应用于斯坦福大学的校园网络。

2、OpenVirtualX

OpenVirteX是ON.Lab开发的一个网络虚拟化平台,可以实现多租户的网络虚拟化,可以用来创建和管理虚拟SDN网络(vSDNs),通过虚拟化的OF网络构建特定的网络拓扑、寻址等。同FlowVisor相似,OVX也处于Physical Network与Controller的中间层,担任相同的角色。两者区别在于对数据包头的处理粒度不同,FlowVisor会根据flowspace的信息(如端口、ip地址等)将不同主机进行划分,以此来组成不同的slice,而OVX则提供一个完整的虚拟网络。

3、 MidoNet

MidoNet是由日本的SDN公司Midkura实现的一种分布式的、分散的、多层次的软件,遵循Apache许可,主要作为OpenStack云编排系统中的默认网络构件,可以让虚拟网络解决方案,特别是专为网络基础设施设计的方案,为云平台如OpenStack服务,并且将其网络存贮栈虚拟化。

4、 RouteFlow

RouteFlow是基于OpenFlow实现的路由虚拟化开源项目,解决交换机的流表生成和下发的数据平面问题及控制平面路由协议及计算的问题。RouteFlow时由一个OpenFlow控制器应用程序、一个独立的RouteFlow服务器以及虚拟网络环境组成来重新实现物理网络的连通性以及运行IP路由工程(如,Quagga)。

5、EstiNet

EstiNet8.1是由*SDN解决方案开发商EstiNet(思锐科技)实现的OpenFlow网络仿真器/模拟器,以及故障排除工具,能够模拟数千个OpenFlow 1.0和1.3交换机,而其提供的DR.SDN能够简化和提供可视化工具,对OpenFlow控制器发送的数据包经过多台支持OpenFlow交换机时出现的问题进行分析,并可以找出其中存在的问题。

6、ADVisor

ADVisor(advanced FlowVisor)是由是由 Create-Net实验室(意大利)开发的一款专门面向 OpenFlow 网络的SDN 网络虚拟化平台,主要解决了 FlowVisor 不能支持切片拓扑的任意映射的问题。

7、VeRTIGO

VeRTIGO是由 Create-Net 实验室开发的一款 SDN 网络虚拟化平台,在欧盟 FP7 项目下的OFELIA 试验床中得到了部署。相比于 ADVisor,VeRTIGO 通过算法[18]动态地进行映射支持虚链动态优化和 Fail-Over 机制。 VeRTIGO 还支持了节点虚拟化的“多虚一”模式,允许将多台物理设备抽象为试验网络中一台逻辑的设备。

8、CoVisor

CoVisor是 Princeton 大学以 OVX 为原型开 发的一款 SDN 网络虚拟化平台,CoVisor 的设计目标是在提供虚拟拓扑的 基础上,对不同控制器下发的流表进行重新的编 译,以协调它们对网络的控制逻辑,同时监测各控 制器的行为以防止其操作越界。

9、FlowN

是由Princeton大学提出,以NOX控制器为基础,提供了基于容器的应用程序虚拟化,可以向租户提供虚拟网络拓扑,并解决了虚拟和物理地址空间的映射问题。

云计算平台

1、OpenStack

OpenStack是一个开源的云计算管理平台项目,由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,采用python语言进行编写,OpenStack的目标是提供一个既可以用来建设公有云也能建设私有云的通用的开源云计算平台,而且做到云平台的搭建尽量的简单方便,同时能够快速的横向扩展。

2、CloudStack

ClourStack是一个开源的具有高可用性及扩展性的云计算平台,初由Cloud.com公司开发,采用java进行编写,CloudStack的目标是提供高度可用的、高度可扩展的能够进行大规模虚拟机部署和管理的开放云平台。

参考文献

[1]-SDN你必须知道的十大问题——SDN有哪些开源项目?

[2] 刘江, 黄韬, 张晨,等. SDN试验床网络虚拟化切片机制综述[J]. 通信学报, 2016, 37(4):159-171.

[3] Blenk A, Basta A, Reisslein M, et al. Survey on Network Virtualization Hypervisors for Software Defined Networking[J]. IEEE Communications Surveys & Tutorials, 2015, 18(1):655-685.

[4]-云计算平台

[5] 《深度解析SDN利益、战略、技术、实践》张卫峰著 P47