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
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台交换机)。 |