SDN第四次作业

控制器的架构技术

SDN控制器的发展

SDN出现初期,控制平面的表现形式更多的是以单实例的控制器出现。实现SDN的协议也是以OpenFlow为主,所以在SDN发展初期,SDN控制器更多指的是OpenFlow控制器。SDN出现之后,ONF[1]成立。ONF(Open Network Foundation),中文名为“开放网络基金会” ,是致力于推进SDN标准化的一个用户驱动的组织。在ONF的白皮书中,提出了SDN的架构标准,SDN架构1.0版本和1.1版本分别如下图所示。


ryu控制器

Ryu是由日本NTT公司负责设计研发的一款开源SDN 控制器。同POX 一样,Ryu 也是完全由Python 语言实现,使用者可以用Python 语言在其上实现自己的应用。Ryu 目前支持OpenFlow V1.0、V1.2 和V1.3,同时支持在OpenStack上的部署应用。Ryu采用Apache License开源协议标准,最新版本实现了simple_switch、rest_topology等应用。一下为Ryu架构图:

onos控制器

ONOS是一个采用OSGI技术来管理子项目的SDN控制器开源项目。ONOS项目由一组子项目组成,每个项目都有自己的源代码树,可以独立构建。为此,ONOS的源码采用分层的方式来组织以方便利用Maven的级联POM文件组织。每个子项目都有自己的pom.xml文件和目录,子pom.xml文件会继承父Pom文件的共享依赖项和配置,使它们能够独立于不相关的子项目构建。Root目录包含用于建立完整的项目及其所有模块的顶层POM文件。下图为ONOS的各个子系统:

opendaylight控制器

ODL拥有一套模块化、可插拔灵活地控制平台作为核心,这个控制平台基于Java开发,理论上可以运行在任何支持Java的平台上,其官方文档推荐的最佳运行环境是最新的Linux(Ubuntu 12.04+)及JVM1.7+。
ODL控制器采用OSGI框架,SGI框架是面向Java的动态模型系统,它实现了一个优雅、完整和动态的组件模型,应用程序(Bundle)无需重新引导可以被远程安装、启动、升级和卸载,通过OSGI捆绑可以灵活地加载代码与功能,实现功能隔离,解决了功能模块可扩展问题,同时方便功能模块的加载与协同工作。一下为opendaylight架构图:

原文地址:https://www.cnblogs.com/gannonone/p/8099156.html