sdn组网模型:sdn模型中的控制器
SDN模型中的网络操作系统(NetworkOS,NOS),例如OpenDaylight、RYU、Floodlight和POX,负责提供网络和其当前状态的一个完全视图;同时NOS也负责管理网络变化,并将这些变化通知到网络硬件和物理/虚拟网络利用程序中。底层网络的变化来自于运行在NOS上的网络利用程序(NeutronAPI,REST/JSON,JavaRPC),NOS通过北向API与利用程序通讯,通过南向API管理和控制底层物理和虚拟硬件,使用的南向协议包括OpenFlow、OVSDB?、OFconfig和XMPP等。
SDN控制器以插件方式集成到Neutron中并提供集中式管理,有益于OpenStack网络通过API提高网络的可编程性。SDN控制器,像OpenDaylight、Ryu和Floodlight等使用各自的插件让Neutron和SDN控制器交互。
OpenDaylight使用北向RestAPI通过网络节点的二层插件与Neutron通讯。RYU通过北向RESTAPI将Neutron节点的RYU插件和RYU控制器连接,使用Compute节点的RYU代理和RYU插件交互。OpenDaylight和RYU都使用OpenvSwitch数据库(OVSDB)和南向OpenFlow协议与计算(nova)节点的虚拟交换机交互。
云计算平台使用网络Neutron提供网络虚拟化服务,允许租户创建和管理虚拟网络,并且提供标准化的插件架构,便于连接SDN控制器。但是Neutron的扩大性不好,不能满足虚拟化环境的动态特性,并且对网络资源的控制是有限的。SDN可以为Neutron提供附加功能,如集中/散布式控制、无缝网络、多租户和网络可伸缩性、网络可视化管理等。