简单表述控制器的架构技术
文献阅读时,注意比较各个控制器之间的实现技术异同。书写一篇博客,博客内容为,简单表述控制器的架构技术。
Ryu控制器
- Ryu是日本NTT公司开发的模块化的控制器,采用Python语言开发,架构清晰,支持OpenFlow全部版本。
- Ryu架构图:
- 优点:方便简洁
- 侧重于提升单例性能,支持的南向协议也是以OpenFlow为主。
Onos控制器
- ONOS是采用Java语言编写,采用OSGi架构,分布式的控制平台产品。
- ONOS底层模块直接借用FloodLight优秀的模块如Switch模块,不使用YANG语言建模,最新版本使用Raft作为分布式框架。
- 其目标是打造一个开放的SDN网络操作系统,市场定位在运行商级别网络市场。
- 架构简介图
绿色部分是南向插件,主要分为三大类,第一类是拓扑收集型,包括OSPF,BGPLS,ISIS,第二类是配置协议,包括NETCONF,SNMP,OVSDB,第三类是指导转发型,包括Openflow以及PCEP。红色和黑色部分是ONOS Core部分,分别表示网元资源管理模块和通用机制模块,蓝色部分是应用层,包括WAN场景的SDNIP,SR,VPLS,Packet/Optical等,有安全领域的AAA,NFV的 vRouter,VTN,OLT与SFC,以及运维的Flow Analyzer和Fault Management
Opendaylight控制器
- OpenDaylight不仅仅是一个SDN控制器,它更是一个庞大的开源项目,其中包含许多子项目,而Controller只是其中的一个子项目。OpenDaylight支持多种南向协议,包括OpenFlow(支持1.0和1.3版本)、Netconf和OVSDB等,是一个广义的SDN控制平台,而不是OpenFlow系的狭义SDN控制器。
系统分层架构图:
- 顶层:顶层由控制和监控网络行为的业务和网络逻辑应用构成,此外,复杂的解决方 案应用需要与云计算及网络虚拟化相结合
- 中间层:SDN控制器框架层,其南向协议接口可以支持不同南向协议插件,这些协议插件动 态连接到SAL(Service Abstract Layer),SAL适配后再提供统一北向接口供上层应用调用
- 底层:由物理或虚拟设备构成
基本的架构原则:
- 运行时模块化和扩展化(Runtime Modularity and Extensibility):支持在控制器运行 时进行服务的安装、删除和更新;
- 多协议的南向支持(Multiprotocol Southbound):南向支持多种协议;
- 服务抽象层(Service Abstraction Layer):南向多种协议对上提供统一的北向服务接 口。
- 开放的可扩展北向API(Open Extensible Northbound API):提供可扩展的应用API, 通过REST或者函数调用方式。两者提供的功能要一致
- 支持多租户、切片(Support for Multitenancy/Slicing):允许网络在逻辑上(或物理上)划 分成不同的切片或租户。控制器的部分功能和模块可以管理指定切片。控制器根据所管理的分 片来呈现不同的控制观测面
- 集群(Consistent Clustering):集群化以满足冗余和网络横向扩展需求