氮氧化物
这一切都始于 NOX。虽然有些人可能会争论,但 NOX 是第一个吸引大量研究人员并获得广泛认可的 OpenFlow 控制器。大多数主要的软件定义网络 (SDN) 和 OpenFlow 论文和应用程序都是在 NOX 之上实现的。甚至 Google 也使用 NOX 构建(原型?)它自己的分布式 OpenFlow 控制器,称为 ONIX。话虽这么说,所有的大惊小怪都留在了 2010 年。从那时起,NOX 邮件列表几乎被放弃了,我所知道的代码库中没有任何重大变化。
痘
POX 称自己为 NOX 的弟弟。(它们都由同一个团队/组织管理/维护。)我个人认为,POX 的动机或多或少是出于创建对开发人员友好的 OpenFlow 控制器继任者 NOX 的目的。几乎所有 OpenFlow 新手都被定向到 POX 或 Floodlight。因此,它有一个非常活跃的邮件列表也就不足为奇了。POX 在其 wiki 上提供了有限的 Web API(通过 JSON-RPC)和中等规模的手册集合。它是用 Python 编写的,并为那里的 Pythonistas 提供了一个不错的 Python API。由于 Python 是一种解释性语言,POX 确实减少了开发和部署周期所花费的时间,特别是与基于 C++ 的 NOX 相比。此外,除了支持 NOX GUI,POX 还提供基于 Web 的 GUI。
灯塔
总而言之,Beacon 提供了一个紧凑而富有表现力的代码库,并且可以完美运行。话虽这么说,Eclipse 和 OSGi 的依赖真的让我很头疼,而且只支持星型拓扑(即没有循环的拓扑)非常受限制。如果您打算尝试 Beacon,我建议您改为评估 Floodlight。
泛光灯
毫无疑问,Floodlight 拥有 F/OSS OpenFlow 软件中最活跃和响应最迅速的社区。在 BigSwitch Networks 工作的大多数 Floodlight 开发人员直接参与邮件列表。您会发现自己正在与特定模块的实际开发人员讨论问题。我从来没有目睹过一个没有答案的问题,也没有一个没有解决的问题。这确实是一个支持和活跃的社区。Floodlight 通过 REST API 公开了几乎所有功能,并且存在许多用于常见任务的方便实用程序,例如静态路由和端到端路由(电路)推送。Floodlight 有一个基于 Web 的 UI(由 Wes Felter 提供)和一个基于 Java 的 GUI,称为 Avior,由 Jason Parraga 提供。作为同类产品之一,Floodlight 也可以使用 Quantum 插件作为 OpenStack 的网络后端运行。
龙
Ryu 是一个基于组件的软件定义网络框架。Ryu 为软件组件提供定义明确的 API,使开发人员可以轻松创建新的网络管理和控制应用程序。Ryu 支持各种用于管理网络设备的协议,例如 OpenFlow、Netconf、OF-config 等。关于 OpenFlow,Ryu 完全支持 1.0、1.2、1.3、1.4、1.5 和 Nicira Extensions。所有代码都在 Apache 2.0 许可下免费提供。**
ONOS
ONOS(开放网络操作系统)项目是由 Linux 基金会主办的开源社区。该项目的目标是为通信服务提供商创建一个软件定义网络 (SDN) 操作系统,旨在实现可扩展性、高性能和高可用性。
开放日光
OpenDaylight 项目是一个由 Linux 基金会主办的协作开源项目。该项目的目标是加速软件定义网络 (SDN) 的采用,并为网络功能虚拟化 (NFV) 奠定坚实的基础。该软件是用Java编写的。