我想获得有关可用的最佳开源SDN控制器的建议.我想实现并测试我在研究中的一些想法,所以我需要使用如下的模拟Mininet
.事实上,我熟悉mininet并且能够处理它.但是,Mininet使用的POX控制器有点繁琐且用户不太友好,因此在管理网络拓扑和修改流程时,由于您需要从头开始硬编码所有内容(我是初学者),因此这将成为一项艰巨的任务.在Python中也是如此).是否有一个用户友好的SDN控制器,我可以使用而不是POX?我已经尝试了Floodlight
,Opendaylight
但是还没有真正准备好并涉及许多错误.
谢谢.
氮氧化物
这一切都始于NOX.虽然有些人可能会争辩,但NOX是第一个吸引了大量研究人员的OpenFlow控制器,并获得了广泛的认可.大多数主要的软件定义网络(SDN)和OpenFlow论文和应用程序都是在NOX之上实现的.甚至谷歌也使用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.
泛光灯
泛光灯毫无疑问是F/OSS OpenFlow软件中最活跃,最敏感的社区.大多数在BigSwitch Networks工作的Floodlight开发人员直接参与邮件列表.您可以发现自己正在与特定模块的实际开发人员讨论问题.我既没有目睹过任何未解决的问题,也没有目睹过未解决的问题.它确实是一个支持性和活跃的社区.Floodlight通过REST API公开了几乎所有功能,并且存在许多用于常见任务的便利实用程序,例如静态路由和端到端路由(电路)推送.Floodlight有一个基于Web的UI(由Wes Felter提供)和一个名为Avior的基于Java的GUI,由Jason Parraga提供.其中一种,Floodlight也可以作为OpenStack的网络后端使用Quantum插件运行.最后,它是生态系统中记录最多的控制器项目.
刘某
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
OpenDaylight项目是由Linux基金会托管的协作开源项目.该项目的目标是加速软件定义网络(SDN)的采用,并为网络功能虚拟化(NFV)奠定坚实的基础.该软件是用Java编写的.