作业链接
控制器的架构技术
1.概念
(1)SDN的特点之一就是控制平面与数据平面分离,其主张通过集中式的控制器平台实现网络的控制。在SDN架构中,控制平面是逻辑集中的,通过某种协议将控制信息下发至底层的数据平面去执行。所以,控制平面被称为SDN的大脑,指挥整个数据网络的运行。
(2)控制器通过SDN的南向协议的API可以对数据层面的网元设备下发指令,完成控制平面与数据平面的控制传输。
(3)如下图,控制器基本架构包括核心功能层和网络功能层。核心功能层完成对组件管理和事件机制等相关操作,网络功能层完成对交换机主机信息、网络拓扑和虚拟网络的管理,同时制定简单的路由转发策略。在这个基础上控制器还需向上层的应用服务完成对整个网络的管理。
(4)pox组件(增加了多线程的支持):
2.开源SDN控制器
(1)RYU架构(日本NTT公司开发,基于组件的构架,均以Python模块的形式存在)
(2)ONOS(面向运营商网络的SDN操作系统)
ONOS集群间通信分为两种,一种基于Gossip协议,是数据弱一致性的通信方式;一种基于Raft算法,是保证数据强一致性的通信方式。ONOS的Cluster机制能够保障节点失效对业务无影响,当ONOS节点宕机时,其他节点会接管该节点对网元的控制权,当节点恢复后,通过loadbalance命令恢复节点对网元的控制并使整体的控制达到负载均衡。
(3)Floodlight(基于Java语言的开源SDN控制器):
(4)opendaylight控制器(基于Java开发,采用OSGI框架,SGI框架是面向Java的动态模型系统)
ODL拥有一套模块化、可插拔灵活地控制平台作为核心,这个控制平台基于Java开发,理论上可以运行在任何支持Java的平台上。ODL控制器采用OSGI框架,SGI框架是面向Java的动态模型系统,它实现了一个优雅、完整和动态的组件模型,应用程序(Bundle)无需重新引导可以被远程安装、启动、升级和卸载,通过OSGI捆绑可以灵活地加载代码与功能,实现功能隔离,解决了功能模块可扩展问题,同时方便功能模块的加载与协同工作。
opendayligh架构如下:
综上所述各个控制器之间的实现技术存在差异,但是也有一定的相似点。