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-2