SDN第四次作业
简单表述控制器的架构技术。
SDN控制器
SDN的特点之一就是控制平面与数据平面分离,其主张通过集中式的控制器平台实现网络的控制。在SDN架构中,控制平面是逻辑集中的,通过某种协议将控制信息下发至底层的数据平面去执行。目前,在SDN领域中,OpenFlow协议是最流行的南向协议之一。SDN出现初期,控制平面的表现形式更多的是以单实例的控制器出现。实现SDN的协议也是以OpenFlow为主,所以在SDN发展初期,SDN控制器更多指的是OpenFlow控制器。
RYU控制器
Ryu是日本NTT公司开发的模块化的控制器。采用Python编写。Ryu因其架构清晰,支持OpenFlow全部版本,有社区的Plug-in集成到OpenStack,性能良好和文档齐全等优点获得了许多SDN研究者的关注。Ryu最上层的Quqntum与OF Rest分别为OpenStack和Web提供了编程接口,中间层是为Ryu自行研发的应用组件,最下层为Ryu底层实现的基本组件。
ONOS控制器
采用Java语言编写,采用OSGi架构,分布式的控制平台产品。其目标是打造一个开放的SDN网络操作系统,市场定位在运行商级别网络市场。ONOS底层模块直接借用FloodLight优秀的模块如Switch模块,不使用YANG语言建模,最新版本使用Raft作为分布式框架。ONOS的系统层次分为:和网元打交道的协议层和适配层;协议不感知的ONOS Core层来管理网络状态和资源;应用层消费Core层提供的我统一的北向接口。ONOS由一系列功能模块组成,每一个功能模块由一个或多个组件组成,对外提供一种特定服务。
OpenDayLight
OpenDaylight不仅仅是一个SDN控制器,它更是一个庞大的开源项目,其中包含许多子项目,而Controller只是其中的一个子项目。OpenDaylight支持多种南向协议,包括OpenFlow(支持1.0和1.3版本)、Netconf和OVSDB等,是一个广义的SDN控制平台,而不是OpenFlow系的狭义SDN控制器。顶层:顶层由控制器和监控网络行为的业务和网络逻辑应用构成,此外,复杂的解决方案应用需要与云机算机网络虚拟化相结合。中间层:SDN控制器框架层,其南向协议接口可以支持不同南向协议插件,这些协议插件动态链接到SAL,SAL适配后再同意北向接口供上层应用调用。底层:由物理或虚拟设备构成。