OpenFlow能解决私有云网络VLAN问题么
本文转载自: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问题么的更多相关文章
- openstack私有云布署实践【12.2 网络Neutron-controller节点配置(办公网环境)】
网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...
- openstack私有云布署实践【12.1 网络Neutron-controller节点配置(科兴环境)】
网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...
- OpenStack(企业私有云)万里长征第六步——OpenStack网络及虚拟机存储位置
一.前言 昨天又装了一遍OpenStack.码农这项工作就如同人生,永远有你想不到的意外在等着你,时而是惊喜时而是悲伤.在装的过程中倒是很顺利,只是在安装完成之后碰到了两个之前没有碰到的问题,这里记录 ...
- OpenStack 企业私有云的若干需求(4):混合云支持 (Hybrid Cloud Support)
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
- OpenStack 企业私有云的若干需求(10):OpenStack 的前景和钱景
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
- OpenStack 企业私有云的若干需求(2):自动扩展(Auto-scaling) 支持
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
- OpenStack 企业私有云的若干需求(3):多租户和租户间隔离(multi-tenancy and isolation)
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
- OpenStack 企业私有云的若干需求(5):主流硬件支持、云快速交付 和 SLA 保证
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
- OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
随机推荐
- 1.redis.3.2 下载,安装、配置、使用 - 1
1.下载: 2.使用: 挤压之后,使用cmd执行,如下图 redis-server--service-installredis.windows.conf,执行安装 提示成功之后,剩下就好办了, 这 ...
- [转载]SQL字符串处理函数大全
[转载]http://www.cnblogs.com/andy2005/archive/2007/12/04/981864.html select语句中只能使用sql函数对字段进行操作(链接sql s ...
- IOS 在IOS6中设置navigationBar背景图片 会有一条 黑色阴影 --- 解决方案
//给navigationBar设置背景图片 if ([self.navigationController.navigationBar respondsToSelector:@selector(set ...
- 7-1 DBA顾问培训内容@20141230
1, 逻辑读还是物理读? 查询语句的实际执行计划. F5 预计执行计划. --如何产生实际执行计划 ??. --Session收集指令. workload repository report fo ...
- 朋友的礼物(英雄会,csdn,高校俱乐部)信封问题,匹配模型
前言: 首先这是一题解,但是重点最代码之后,有耐心的可以直接从代码后看. 上题目:n个人,每个人都有一件礼物想送给他人,他们决定把礼物混在一起,然后每个人随机拿走一件,问恰好有m个人拿到的礼物恰好是自 ...
- 寒假的ACM训练三(PC110107/UVa10196)
#include <iostream> #include <string.h> using namespace std; char qp[10][10]; int result ...
- 速卖通---发布商品aeopAeProductPropertys这个字段值报07004013的错误
由于文档的说明很少,导致里面改填写那些值都是靠自己推敲出来,当然可以根据他们的错误提示了研究,他们的错误提示也给出了相关的帮助了, 例如通过categoryid的200000001获取到"i ...
- mount 挂载光盘
mount作用 挂载光盘镜像文件.移动硬盘.U盘以及Windows网络共享和UNIX NFS网络共享 mount [-t vfstype] [-o options] device dir mount ...
- python包管理器pip
步骤一:下载pip包 https://pypi.python.org/pypi/pip 步骤二:安装pip包 解压后,到pip包目录执行: python setup.py install 步骤三:添加 ...
- Python核心编程2第三章课后练习
1. 标识符.为什么Python 中不需要变量名和变量类型声明? Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程.每个变量在内存中创建,都包括变量的标识,名称和数据这些信息.每 ...