zoukankan      html  css  js  c++  java
  • SDN跟网络虚拟化的完美结合

    SDN跟网络虚拟化的完美结合

        之前说过,所谓的“SDN最适合的领域是数据中心”的说法,笔者认为更准确的说法应该是SDN最适合的领域是数据中心中的网络虚拟化应用。为什么说SDN 非常适合用在网络虚拟化中呢?因为出于自动化部署的需求,网络虚拟化的架构本身就是集中式控制,而且是软件应用控制整个虚拟网络,这跟SDN的特征非常吻 合。网络虚拟化主要用在供云服务的网络中。

    在云服务网络的实际部署中,有使用虚拟交换机来做Tunnel Overlay网络终结的方案,也有出于性能考虑使用硬件交换机做Tunnel Overlay网络终结的方案。

        当然我们知道,云服务网络部署是一个系统工程,涉及很多方面,管理员直接接触到的既不是交换机,也不是网络虚拟化工具,而是一个云服务管理平台,或者叫云 计算平台,比如OpenStack、CloudStack或者云服务提供商自己设计的私有的平台。这个云计算平台负责管理很多资源,包括计算、存储、网络 等。

        云计算平台本身的基础架构中,所用到的网络功能相对简单,就是普通的桥接技术,但是一般都会有跟第三方应用服务程序的接口,比如OpenStack就可以 通过插件(plug-in)的方式集成第三方的程序,第三方公司开发的专业的网络虚拟化平台一旦集成到云计算平台中,就可以大大增强云计算平台网络自动化 部署的能力。通常这些网络虚拟化平台都会集成一个Controller,比如Nicira的NVP,就有自己的Controller集群。云计算平台要部 署网络服务的时候,就会通过插件向这些网络虚拟化平台内置的Controller发消息,比如要在两个Hypervisor之间创建Tunnel,并将一 些VM绑定到这个Tunnel上去,以及配置一些网络安全策略或者QoS策略等。

        Controller自己自然不会去做这些事情,它就通过Controller跟交换机(虚拟交换机或者硬件交换机)之间的南向接口,比如 OpenFlow或者OF-Config、NetConf或者别的公有或私有的接口,向交换机发消息去配置交换机。云计算平台要求集中化控制,网络虚拟化 要求集中化控制,SDN要求集中化控制,三者想不结合在一起都很难,而且这种结合是水到渠成,轻而易举的,只需要一些接口和插件就可以做到。所有的这一切 都是为了自动化部署。

        盛科网络跟国内的云服务提供商九州云联合开发了OpenStack+硬件网络虚拟化+SDN的方案。之前九州云的数据中心里面用的是 OpenStack+OVS的纯软件方案,后来遭受了严重的性能问题,因为一台服务器里面虚拟机一多,随着网络流量的增大,网络交换部分带给CPU的压力 就很大了。在盛科和九州云的联合方案中,通过最小的改动,用盛科的SDN交换机V350代替了OVS,将Tunnel加解封装,安全过滤,基于VM的 QoS策略等网络功能放到了硬件交换机中,性能得到大幅度提升。而且这个方案充分考虑了之前云网络管理员的管理习惯,并没有将服务器跟网络分隔开来,对云 网络的管理员来说,他并没感知到现在用的是虚拟交换机还是硬件交换机。

    图7-3该方案的架构图,其中用了开源的Ryu Controller,Tunnel是NvGRE,总共可以支持32KB VM以及12KB的Tunnel。转发面全部是基于纯粹的OpenFlow。


    文节选自《深度解析SDN——利益、战略、技术、实践》

    张卫峰 编著

    电子工业出版社出版

  • 相关阅读:
    jqGrid学习笔记(二)
    jqGrid学习笔记(一)
    MVC 无法将类型“System.Collections.Generic.List<AnonymousType#1>”隐式转换为“System.Collections.Generic.IList<Mvc3Modeltest.Models.Movie>”。存在一个显式转换(是否缺少强制转换?))
    在页面中使用Ajax.ActionLink 的一些用法
    如何在web.config中存储自定义对象
    ASP.NET_4.0_与_Entity_Framework_4-第四篇-Entity_Framework在三层架构中的使用
    ASP.NET 4.0 与 Entity Framework 4-第三篇-使用Entity Framework调用存储过程
    ASP.NET 4.0 与 Entity Framework 4-第二篇-使用Entity Framework 进行CRUD操作
    ASP.NET_4.0_与_Entity_Framework_4-第一篇-采用Model-First_开发方式创建数据库
    String.Format数字格式化输出 {0:N2} {0:D2} {0:C2}
  • 原文地址:https://www.cnblogs.com/broadview/p/3502024.html
Copyright © 2011-2022 走看看