SDN第四次作业

1.阅读

了解SDN控制器的发展

了解ryu控制器

了解onos控制器

了解opendaylight控制器


2.书写博客

文献阅读时,注意比较各个控制器之间的实现技术异同。书写一篇博客,博客内容为,简单表述控制器的架构技术。

  • SDN 控制器设计要素 控制器是整个软件定义网络的核心是连接下层
    基础交换设备与上层应用的桥梁。一方面控制器可对 底层转发设备进行统一的监测与控制通过南向接口 协议进行链路发现、拓扑管理、流表下发等行为另一 方面控制器可向上层应用提供标准的北向接口通过 这些接口上层应用可以对底层网络进行有效的资源 调度与配置以实现对网络自动、灵活的管控。SDN 控 制器应具有如下要素。

    • a)网络虚拟化
    • b)网络编程能力
    • c)网络隔离能力
    • d)可靠性
    • e)处理性能
    • f)网络安全性
  • 基于对系统模块化、开放的可扩展北向接口、多协 议的南向支持、控制器之间的东西向交互等方面的综合考虑。控制器基本架构应包括核心功能层和网络功能层两方面内容。控制器基本架构如图所示

  • SDN出现初期,控制平面的表现形式更多的是以单实例的控制器出现。实现SDN的协议也是以OpenFlow为主,所以在SDN发展初期,SDN控制器更多指的是OpenFlow控制器。SDN出现之后,ONF[1]成立。ONF(Open Network Foundation),中文名为“开放网络基金会” ,是致力于推进SDN标准化的一个用户驱动的组织。在ONF的白皮书中,提出了SDN的架构标准,SDN架构1.0版本和1.1版本分别如图所示。 核心功能层主要提供控制器所需的最基本功能。 控制器首先要完成协议适配功能这对于灵活部署
    SDN 非常重要需要适配的协议主要有南向接口协议 和东西向接口协议。协议适配工作完成后。控制器需 要提供用于支撑上层应用开发的功能。主要包括模块 管理、事件机制和资源数据库等。网络功能层以提供基础 的网络功能。网络功能层主要包含交换机管理、主机 管理、拓扑管理、路由转发策略和虚网划分等模块。

  • 第一款SDN控制器是NOX,目前NOX的社区状态已经不再活跃。在早期的SDN论文中,NOX作为唯一的控制器,发挥了重要的作用。NOX给后来的控制器开发提供了很好的范例,高层级的编程架构。它是一款基于 OpenFlow 协议的控制器早期版本的底层模块使用 C++编程语言开发。上层应用使用 C++和 Python 编程语言共同实现。 NOX 的出现在很大程度上推动了 SDN 技术的发展是早期 SDN 领域众多研究项目的基 础。2011 年斯坦福的研究人员又推出了基于 Python 语言的 POX 控制器。 POX 完全使用 Python 语言编写采用与 NOX 一致 的事件处理机制和编程模式增加了多线程支持。由 于 Python 简单易懂并拥有更好的拓展性POX 被研究 人员广泛接受与使用。

  • Floodlight 是 Big Switch Networks 公司开发的基于 Java 语言的开源 SDN 控制器其在 Apache2.0 开源标准 软 件 许 可 下 可 免 费 使 用 当 前 支 持 的 南 向 协 OpenFlow1.0 协议。Floodlight 与 Big Switch Networks 开 发的商用控制器 Big Switch Controller 的 API 接口完全兼容具有较好的可移植性。Floodlight 的日常开发与 维护工作主要由其开源社区进行支持。 Floodlight 使用模块化的架构来实现控制器的功 能和应用可直接在网络中部署实现数据转发、拓扑发 现等基本功能。Floodlight 使用 WebUI 管理界面用户 可以通过管理界面来查看连接的交换机信息、主机信 息、实时的网络拓扑信息。上层应用和控制器通过 Ja⁃ va 接口或 REST API 方式交互Floodlight 架构如图所示,主要模块如表所示。

  • Ryu是日本NTT公司开发的模块化的控制器。基于 Python 语言的 开源 SDN 控制器。提供的完备 API 有助于网络运营者高效便捷地开发 SDN 管理和控制应用。当前 Ryu 对很 多管理网络设备的协议提供了支持,如 OpenFlow 协 议、Netconf 协议、OF-CONFIG 协议等多种南向协议。Ryu因其架构清晰,支持OpenFlow全部版本,有社区的Plug-in集成到OpenStack,性能良好和文档齐全等优点获得了许多SDN研究者的关注。 Ryu 架构如图 所示。尤其值得说明的是Ryu 是基 于组件的框架这些组件均以 Python 模块的形式存在。目前 Ryu 包含的组件功能说明如表 3 所示。

  • penContrail 是由 Juniper 推出的基于 C++的 SDN 控制器,提供了用于网络虚拟化的基本组件。Open⁃ Contrail 提供了一套扩展 API 来配置、收集、分析网络 系统中的数据,可与 KVM、Xen 虚拟机管理程序协作。同时支持 OpenStack。OpenContrail 可应用在不同的网 络环境中主要应用于以下 2 个网络场景:1)云计算网络,主要有企业和运营商的私有云,以及云服务提供商的基础设施服务(lass)和虚拟专用云(VPC)。b)在运营商网络中的网络功能虚拟化(NFV),可以为运营商边界网络提供增值服务。 OpenContrail 主要由控制器和虚拟路由器(vRout⁃ er)组成。OpenContrail 系统的控制器主要包括配置节 点、控制节点、分析节点等 3 个组件。制器使用北向接口与 协调系统及上层业务通信使用 XMPP 协议与虚拟路 由器通信使用 BGP、Netconf 等协议与网关路由器和 物理交换机通信使用 BGP 和其他控制节点通信。图 4 为 OpenContrail 的系统架构图。

  • OpenDaylight的诞生意味着SDN进入一个崭新的时期。此时SDN的概念发生了改变。作为 SDN 架构的核心组件,OpenDaylight 的目标是降低网络运营的复杂度,扩展现有网络架构 中硬件的生命期同时还能够支持 SDN 新业务和新能 力的创新。OpenDaylight 开源项目提供了开放的北向 API,同时支持包括 OpenFlow 在内的多种南向接口协议,底层支持传统交换机和 OpenFlow 交换机。 OpenDay⁃ Light 总体架构如图 5 所示。表 4 简单介绍了 OpenDayLight 的主要组件。

  • 然而目前最神秘,最出名的控制应该不是以上提到的任何一个控制器,而是Google的分布式控制器ONIX,ONIX目前没有开源,相关资料非常少。目前由Nicira、NTT和Google共同开发。除了ONIX之外,还有许多闭源的商业控制器,如HP的VAN(Virtual Applications Networks)控制器,武汉绿网的GNflush等,更多商业控制器的内容可参考SDxCentral的SDN-Controller-Report 2015B[4]。


3.控制器的相关比较

上文对目前主流的 SDN 控制器进行了详细的分析与介绍,剖析了各种控制器的基本架构和功能组件,下面将从研究背景、支持的南向接口协议、是否支持多线程、是否能够使用 Openstack 云管理平台进行管控、 是否可以实现多平台支持等多个角度进行对比分析, 找出各种控制器的异同点对比情况如表 5 所示。
通过对表 5 进行分析,可得到如下结论。

  • a)目前控制器的主要编程语言为 C++、Java 和 Py⁃ thon。基于 C++的控制器在处理性能上有较好的表现;基于 Java 的控制器有较为丰富的 API便于业务应 用的拓展;基于 Python 语言的控制器在网络编程方面 有较好的灵活性,易于开发,但效率较低。
  • b)最初的控制器 NOX 并不支持多线程,但随着 SDN 技术的不断发展,主流控制器均支持多线程技术, 这使得控制器的响应速度更快,并可对上层的不同业 务进行优先级设置。这些优点更便于管理人员应对数 据中心内部复杂的网络状况。 - - c)支持 Openstack 云管理平台已逐渐成为控制器 的主流设计趋势。SDN 与 Openstack 的结合可以更好 地对资源进行集中分配调度并对计算、存储和网络做 进一步整合,以实现自动部署、实时资源调度和快速故障排除,为云数据中心降 低了维护成本 。早 期 的 NOX、POX 控制器对 Openstack 是不支持的但之后的
    控制器均已支持 Openstack 平台。
  • d)控制器逐渐可支持多种南向接口协议。在早期的控制器设计中,如 NOX、POX、Floodlight 等控制器 均只支持单一的 OpenFlow1.0 协议,而对其他的南向协 议并不适配,使得目前数据中心内部绝大多数交换机 不能继续在 OpenFlow 网络环境中使用这就造成了实 际部署的困难,增加了运营成本。在之后的控制器设 www.docin.com 计中已注意到这一问题例如 OpenContrail、OpenDay⁃
    Light、Ryu 等控制器通过各自的技术手段对 BGP、Net⁃ conf、OVSDB、SNMP 等南向接口协议均有了很好的支 持,控制器通过对多种南向接口协议的支持可更好地 与底层交换设备进行信息交互,使得云数据中心内部 的组网更加灵活。

SDN开源控制器除了这些比较出名的之外,也有其他用户比较少的控制器,如Trame,FlowER, LOOM等。笔者参考SDxCentral最新的SDN控制器的数据,将目前SDN开源控制器是否活跃情况列举如下表,先后顺序无关。


posted @ 2017-12-24 20:31  霸气发哥  阅读(543)  评论(0编辑  收藏  举报