我想就最好的开源SDN Controller 获取您的建议。我想实现并测试我研究中的一些想法,因此需要使用Mininet之类的模拟。实际上,我熟悉mininet并且能够处理它。但是,Mininet使用的POX Controller 有点繁琐,并且用户友好程度不高,因此在管理网络拓扑和修改流量时,这是一项艰巨的任务,因为您需要从头开始对所有内容进行硬编码(我是初学者在Python中也是如此)。是否有我可以代替POX使用的用户友好型SDN Controller ?我已经尝试过FloodlightOpendaylight,但是还没有真正准备好并且涉及许多错误。

谢谢你。

最佳答案

Nox

这一切都始于NOX。尽管有些人可能会争论,但是NOX是第一个吸引了很多研究人员并获得广泛认可的OpenFlow Controller 。大多数主要的软件定义网络(SDN)和OpenFlow论文和应用程序都是在NOX之上实现的。甚至Google都使用NOX来构建(原型(prototype)?)自己的分布式OpenFlow Controller ,称为ONIX。话虽这么说,大惊小怪的一切都留在了2010年。从那时起,NOX邮件列表几乎被废弃了,代码库中没有引入我所知的重大更改。

Pox

POX称自己为NOX的年轻同胞。 (它们都由同一个团队/组织管理/维护。)我个人认为POX或多或少是出于创建NOX的开发人员友好型OpenFlow Controller 后继者的目的。几乎所有的OpenFlow新手都直接使用POX或Floodlight。因此,它具有非常活跃的邮件列表也就不足为奇了。 POX在其Wiki上提供了有限的Web API(通过JSON-RPC)和中等大小的手册集合。它是用Python编写的,并且为那里的Pythonista用户提供了不错的Python API。由于Python是一种解释型语言,因此POX确实减少了在开发和部署周期中花费的时间,尤其是与基于C++的NOX相比。此外,POX除了支持NOX GUI外,还提供基于Web的GUI。

Beacon

综上所述,Beacon提供了一个紧凑而富有表现力的代码库,并且可以完美地工作。话虽这么说,Eclipse和OSGi的依赖关系确实使我丧命,仅支持星形拓扑(即无循环的拓扑)非常有约束力。如果您要尝试使用Beacon,我建议您改为评估Floodlight。

Floodlight

毫无疑问,Floodlight是F/OSS OpenFlow软件中最活跃和响应最快的社区。 BigSwitch Networks中的大多数Floodlight开发人员都直接参与了邮件列表。您会发现自己正在与特定模块的实际开发人员讨论问题。我从未见过 Unresolved 问题或 Unresolved 问题。这确实是一个支持和活跃的社区。 Floodlight通过REST API公开了几乎所有功能,并且存在许多方便的实用程序来执行常见任务,例如静态路由和端到端路由(电路)推送。 Floodlight具有基于Web的UI(由Wes Felter贡献)和基于Java的GUI(称为Avior),由Jason Parraga贡献。 Floodlight是其中一种,也可以使用Quantum插件作为OpenStack的网络后端运行。最后,它是生态系统中最有据可查的 Controller 项目。

Ryu

Ryu是基于组件的软件定义的网络框架。 Ryu为软件组件提供了定义良好的API,使开发人员可以轻松创建新的网络管理和控制应用程序。 Ryu支持各种协议(protocol)来管理网络设备,例如OpenFlow,Netconf,OF-config等。关于OpenFlow,Ryu支持完全1.0、1.2、1.3、1.4、1.5和Nicira Extensions。所有代码都可以在Apache 2.0许可下免费获得。 **

ONOS

ONOS(开放网络操作系统)项目是由Linux Foundation托管的开源社区。该项目的目标是为通信服务提供商创建一个软件定义的网络(SDN)操作系统,该操作系统旨在实现可伸缩性,高性能和高可用性。

Opendaylight

OpenDaylight项目是Linux基金会主持的一个协作性开源项目。该项目的目标是加快软件定义网络(SDN)的采用,并为网络功能虚拟化(NFV)奠定坚实的基础。该软件是用Java编写的。

关于mininet - 有什么替代POX的SDN Controller ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34622797/

10-13 08:51