zoukankan      html  css  js  c++  java
  • SDN第四次作业

    《简单表述控制器的架构技术》

    1.总的控制器的基本架构

    2.ONOS控制器架构

    ONOS的设计原则:

    ONOS把运营商的诉求放在设计理念的第一位,在ONOS的B版本ON.LAB没有新增任何特性而是专注于性能提升。Keep it simple,本身在ONOS上有很好的体现,ONOS对新用户而言很简单,很容易上手。关注点分离和模块化,这个是软件设计的通用准则。协议和设备行为不感知,是希望在应用层,用户不需要感知协议和设备的差异。这几点是ONOS贯穿始终的原则。

    与其他控制器比较不同的是:

    • 主要面对的使用人群是运营商 厂家
    • ONOS 统一的网络资源和网元模型奠定了第三方SDN应用程序互通的基础,使得运营商可以做灵活的业务协同和低成本业务创新。
    • ONOS北向接口的标准化可以帮助运营商可以集成大量第三方SDN应用,其统一的南向API接口可以帮助运营商引入第三方设备的驱动程序,避免厂家锁定。
    • 多种南向协议,既支持现有设备,也支持未来白盒设备,既保护现有投资,又确保架构面向未来。

    另外ONOS给我最大的感觉是它的高可扩展性,高性能, 这是我觉得它和其他控制器的区别。

    3.Ryu控制器架构

    利用Python语言编写,基于组件的框架,这些组件均以Python模块形式存在,上层为OpenStack和Web提供了编程接口,中间为Ryu自行研发的应用组件,最下层为Ryu底层实现的基本组件。Ryu因其架构清晰,支持OpenFlow全部版本。这个文件中定义了RyuApp基类,开发APP的时继承这个基类,就获得一个APP的一切了。

    ryu/ryu目录下的主要目录内容

    • base
      base中有一个非常重要的文件:app_manager.py,其作用是RYU应用的管理中心。
      其主要的函数有app注册、注销、查找、并定义了RYUAPP基类,定义了RYUAPP的基本属性。
      这个文件中还定义了AppManager基类,用于管理APP。定义了加载APP等函数。

    • controller
      controller文件夹中许多非常重要的文件,如events.py, ofp_handler.py, controller.py等。

    • lib
      lib中定义了我们需要使用到的基本的数据结构,如dpid, mac和ip等数据结构。

    • ofproto
      在这个目录下,基本分为两类文件,一类是协议的数据结构定义,另一类是协议解析,也即数据包处理函数文件。

    • topology
      包含了switches.py等文件,基本定义了一套交换机的数据结构。

    个人觉得Ryu的特点是简易和更方便使用。

    4.opendaylight控制器架构

    本周实验内容也涉及了ODL控制器,从初步的使用来看,个人的感觉是ODL控制器功能很全,但是它的模块很多。。。入门难度比较大,很复杂,而且UI界面响应速度也很慢,感觉比其他控制器的使用会繁琐一些。而且安装步骤也比其他的要多,需要再安装组件。(当然也可能因为我使用的还不够熟练 = = )

    Opendaylight的架构可分为三层,南向接口和协议插件,控制器平台,网络应用业务和服务。采用YANG作为建模语言,控制平面层是Opendaylight的核心,包括MD-SAL、基础的网络功能模块、网络服务和网络抽象等模块。顶层:顶层由控制和监控网络行为的业务和网络逻辑应用构成,此外,复杂的解决方案应用需要与云计算及网络虚拟化相结合ODL设计原则、架构及依赖技术中间层:SDN控制器框架层,其南向协议接口可以支持不同南向协议插件,这些协议插件动态连接到SAL(Service Abstract Layer),SAL适配后再提供统一北向接口供上层应用调用。底层:由物理或虚拟设备构成。

    目前的SDN控制器比较:


    最后,Ryu使用Python编写,而ONOS,ODL采用的是java编写

    还有目前OpenDay⁃Light、Ryu 这两个控制器通过各自的技术手段对 BGP、Net⁃ conf、OVSDB、SNMP 等南向接口协议均有了很好的支 持,控制器通过对多种南向接口协议的支持可更好地 与底层交换设备进行信息交互,使得云数据中心内部 的组网更加灵活。

    作业题目

    1.阅读
    了解SDN控制器的发展
    http://www.sdnlab.com/13306.html
    http://www.docin.com/p-1536626509.html
    了解ryu控制器
    http://www.sdnlab.com/1785.html
    了解onos控制器
    http://www.sdnlab.com/16912.html
    了解opendaylight控制器
    https://pan.baidu.com/s/1eSfYdNW?qq-pf-to=pcqq.c2c
    https://pan.baidu.com/s/1jGF2fIY?qq-pf-to=pcqq.c2c
    2.书写博客
    文献阅读时,注意比较各个控制器之间的实现技术异同。书写一篇博客,博客内容为,简单表述控制器的架构技术。

  • 相关阅读:
    XVI Open Cup named after E.V. Pankratiev. GP of Ekaterinburg.
    2017 Multi-University Training Contest
    spring IOC快速入门,属性注入,注解开发
    hibernate注解开发,三种查询语句
    hibernate主键生成策略,一级缓存,一对多关系配置
    struts2值栈,OGNL表达式,interceptor
    Oracle基础进阶
    Oracle基础
    mysql和Oracle的简单比较
    Linux的基础命令
  • 原文地址:https://www.cnblogs.com/yoz425/p/8044547.html
Copyright © 2011-2022 走看看