1.RYU控制器,Python语言编写,开发APP时继承基类,无需再注册,即架构简单部署方便,目前支持所有版本的OPENFLOW协议,适用于中小型网络架构的流量调度和控制。
2.ODL和ONOS从结构层次上大同小异,都包含:北向接口、核心层、服务抽象、南向接口协议(具体内容详尽不同),二者都是基于OSGI标准进行开发,使用Apache Karaf feature组装,不同在于:
不同 |
ONOS |
ODL |
起源 |
对抗ODL,成为控制器主流 |
对抗ONF并将网络设备弱化 |
服务对象 |
运营商及学术机构 |
由众多设备厂商驱动 |
架构 |
注重可靠性与性能,采用的集群技术基于Hazelcast开源分布式内存数据库,更关注OPENFLOW |
丰富的南向接口,控制器与网络设备难度增加,不同南向协议之间相同的功能都可以抽象成不同的模型, |
模块化 |
在OSGI和Karaf之上,设计出Application管理子系统,Application与具体的Feature关联,用来实现Application的组件化管理,支持动态添加和移除。 |
引入的Config Subsystem极大复杂化了OSGI模块化机制,对应用管理的粒度过于分散,对于初学者来说相当困难,但是好用。 |
文档丰富程度 |
使用清晰的文档目录索引,非常容易检索和使用 |
没有系统文档支持,缺乏有效目录指引 |
GUI界面设计 |
可直接获取控制装置和信息,陈列了轮廓分明的终端主机(见图1.1) |
陈列终端主机时,主机交错连接在交换机上(见图1.2) |
理念(二者相比而言) |
贴近狭义SDN,通过OpenFlow将控制平面和转发平面完全分离,网络设备只是进行转发的黑盒子,通过Controller完成一切计算。 |
贴近广义SDN,不局限于完全将控制平面从转发设备上剥离,通过已有的网络协议将部分的控制逻辑放到Controller上。 |
图1-1![图1-1](http://images2017.cnblogs.com/blog/1287027/201712/1287027-20171224200650646-2123114571.png)
图1-2![图1-2](http://images2017.cnblogs.com/blog/1287027/201712/1287027-20171224200716990-1599704617.png)
###图片来源于:http://www.sdnlab.com/12082.
html