本文转载自:http://network.51cto.com/art/201202/314310.htm

  在关于私有云网络的文章中,我们首先探讨了物理网络是否影响私有云。本文我们将讨论如何通过软件定义网络控制面板整合虚拟和物理交换层。

私有云网络网络必须在灵活性和动态性上优于传统网络。实际上,私有云必须使用软件定义网络,建立一种服务与底层虚拟和物理基础架构相分离的网络,最终实现网络即服务(NaaS)。

然而,除了专有的实现技术,想要在使用多个供应商和多种虚拟机管理程序的私有云中实现NaaS/SDN,我们还需要解决很多问题。

私有云网络:管理覆盖虚拟和物理设备的VLAN

  首先,私有云网络具有两个交换层:虚拟交换层和物理交换层。物理交换机是我们20多年来一直使用的以太网交换机。虚拟交换层是各种虚拟机管理程序的组件。大多数虚拟机管理程序架构都通过一个通用控制面板连接虚拟交换机,构成一个大型的分布式虚拟交换机。市面上现有的一些改进的虚拟交换机,以及仍在不断发展的开放系统虚拟交换机都是:OpenvSwitch。

  虚拟和物理交换机仍然是两个不同的网络实体,它们必须一同实现私有云。大多数网络架构师使用VLAN连接这两种设备,但是这要求物理和虚拟交换机处于锁步状态。

  一种可行的方法是,在配置数据中心的所有线路和端口上配置所有可能的VLAN。然而,这种万能方法可扩展性很差,而且具有非常大的配置错误风险,以及可能存在安全性和合规性问题。另一个方法是实现一种VLAN学习解决方案,动态管理虚拟和物理网络的VLAN,特别是在VM发生迁移的时候。有一些解决方案很好用,但是它们是私有的。边缘虚拟桥接(EVB)IEEE802.1qbg是一个正在开发的VLAN学习和映射标准。

NVGRE和VXLAN:支持3层协议VLAN

  

  私有云网络VLAN必须使用大规模桥接技术,才能支持VM迁移和通信。这种方法可扩展性差,也不支持3层协议负载分发。为了解决这些VLAN问题,目前有两个得到多个供应商支持的协议可以使用:VXLAN(Virtual Extensible LAN)和NVGRE(Network Virtualization using Generic Routing Encapsulation)。VXLAN和NVGRE是IFTF草案协议,支持在IP层中封装MAC层流量。通过利用更高层协议,我们就能够在3层协议上分发负载,而VM仍然保留在2层网络上。这种技术非常不错,因为它打破了位置与身份之间的固有联系。这意味着,即使VM移动了另一个子网,它仍然能够保留原来的IP地址。这种方法可行,但是性能可能会受到一些影响。

VXLAN和NVGRE在私有云网络中应用的缺点

  对于实现更为动态和更具可扩展性的私有云网络而言,VXLAN和NVGRE的出现是一个很大的进步,但是它们也不是完整的解决方案。它们是封装的协议,还不具备控制面板。相反,它们还依赖于其他的网络功能。例如,VXLAN依赖于与协议无关的多路广播(UDPPIM),而且建立VM之间的通信必须通过2层淹没和动态MAC地址学习实现。

  而且,VXLAN和NVGRE还无法解决在核心网络扩展2层域所面对的基础问题:“网络长号”。即使两个VM位于同一个交换机上,流量仍然需要先转发到核心网络,然后到达目的地,感觉就像是乐器长号的管子一样。这就像是在使用学生火车优惠票一样,原先住在城市A,后来搬家到城市B,但是如果一定要享受优惠,您也只能先买到城市A的票,然后再去新家所在的城市B。这样的架构效率很低,而且无法扩展。最后,VXLAN是一个虚拟结构,无法连接到一些物理设备,如防火墙、负载均衡器等。

SDN能否解决私有云网络的VLAN问题?

  除了VXLAN和NVGRE,我们还需要一个强大的控制面板,用于整合虚拟和物理交换机。在开放标准方面,最令人兴奋的是开放网络基金会(ONF)的OpenFlow项目。OpenFlow将控制应用程序(控制器)从底层数据程序(交换机)剥离。

  OpenFlow将会采用一种全新方法,实现虚拟和物理交换机之间的数据包转发,从而不需要封装、标记和VLAN,但是仍然支持多租赁、VM移动和可扩展性。这将真正成为交付NaaS作为私有云一部分的SDN。

  但是,关键词是“将来”,因为OpenFlow实现仍在变化中,而且进展不快。重点在于交换机供应商对SDN/NaaS和OpenFlow的支持。我们需要在私有云网络中抛弃VLAN。VXLAN和NVGRE是其中关键的部分,但是它们不是最终的解决方案。

OpenFlow能解决私有云网络VLAN问题么的更多相关文章

  1. openstack私有云布署实践【12.2 网络Neutron-controller节点配置(办公网环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  2. openstack私有云布署实践【12.1 网络Neutron-controller节点配置(科兴环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  3. OpenStack(企业私有云)万里长征第六步——OpenStack网络及虚拟机存储位置

    一.前言 昨天又装了一遍OpenStack.码农这项工作就如同人生,永远有你想不到的意外在等着你,时而是惊喜时而是悲伤.在装的过程中倒是很顺利,只是在安装完成之后碰到了两个之前没有碰到的问题,这里记录 ...

  4. OpenStack 企业私有云的若干需求(4):混合云支持 (Hybrid Cloud Support)

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  5. OpenStack 企业私有云的若干需求(10):OpenStack 的前景和钱景

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  6. OpenStack 企业私有云的若干需求(2):自动扩展(Auto-scaling) 支持

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  7. OpenStack 企业私有云的若干需求(3):多租户和租户间隔离(multi-tenancy and isolation)

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  8. OpenStack 企业私有云的若干需求(5):主流硬件支持、云快速交付 和 SLA 保证

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  9. OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

随机推荐

  1. js跨浏览器事件对象、事件处理程序

    项目中有时候会不用jquery这么好用的框架,需要自己封装一些事件对象和事件处理程序,像封装AJAX那样:这里面考虑最多的还是浏览器的兼容问题,原生js封装如下:var EventUtil={ //节 ...

  2. 修改PYTHONPATH的一种方法(在Window平台和Ubuntu下都有效)

    1.显示PYTHONPATH 2.修改PYTHONPATH 通过PYTHONPATH 中的任何 .pth 文件来添加pythonpath.比如我想添加/home/aa这个路径到pythonpath里, ...

  3. 支持H5的一般设置

    1.因为IE8既不支持HTML5也不支持CSS3 Media,所以我们需要加载两个JS文件,来保证我们的代码实现兼容效果: <script src="https://oss.maxcd ...

  4. Zend Studio 11.0.2 破解和汉化

    本方法适用于Zend Studio 11.0.2,亲测,其他版本未知. 破解方法:覆盖安装目录 plugins 里同名文件,启动任意输入即可注册. Windows版下载地址:http://downlo ...

  5. clientX/Y,pageX/Y,offsetX/Y,layerX/Y,screenX/Y ,offsetTop,offsetLeft 详解

    clientX/Y: clientX/Y获取到的是触发点相对浏览器可视区域左上角距离,不随页面滚动而改变 兼容性:所有浏览器均支持 pageX/Y: pageX/Y获取到的是触发点相对文档区域左上角距 ...

  6. ajax只是一个称呼

    记得刚入行的时候,看到ajax,即异步的javascript和xml这样一个概念,一点感觉都没有.参加工作前的第一轮面试,被问到有没有自己实现过ajax,我觉得自己实现肯定很复杂吧. 从名字理解 从名 ...

  7. javascript 学习笔记之面向对象编程(一):类的实现

    ~~想是一回事,做是一回事,写出来又是一回事~~一直以来,从事C++更多的是VC++多一些,从面向过程到面向对象的转变,让我对OO的编程思想有些偏爱,将一个客观存在的规律抽象出来总是让人比较兴奋,通过 ...

  8. Hibernate 使用说明

    Eclipse中hibernate连接mySQL数据库练习(采用的是hibernate中XML配置方式连接数据库,以后在更新其他方式的连接) Hibernate就是Java后台数据库持久层的框架,也是 ...

  9. MyEclipse使用经验总结

    0.快捷键 ================================================================================ 编辑: Ctrl+Shif ...

  10. UIActionViewController 详解 iOS8

    iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controller”一下子推翻了 ...