了解云计算数据中心网络架构的过程中,看到这么一篇不错的关于大二层技术overlay的文章,转载分享给大家!

一、 传统网络面临的问题

随着企业业务的快速扩展需求,IT做为基础设施,快速部署和减少投入成为主要需求,云计算可以提供可用的、便捷的、按需的资源提供,成为当前企业IT建设的常规形态,而在云计算中大量采用和部署的虚拟化几乎成为一个基本的技术模式。部署虚拟机需要在网络中无限制地迁移到目的物理位置,虚机增长的快速性以及虚机迁移成为一个常态性业务。传统的网络已经不能很好满足企业的这种需求。

传统网络架构限制东西流量

传统网络架构以三层为主,主要是以控制南北数据流量为主,由于数据中心虚拟机的大规模使用,虚拟机迁移的特点以东西流量为主,在迁移后需要其IP地址、MAC地址等参数保持不变,如此则要求业务网络是一个二层网络。但已有二层技术存在下面问题。

  • 生成树(STP Spanning Tree Protocol)技术,部署和维护繁琐,网络规模不宜过大,限制了网络的扩展。
  • 各厂家私有的IRF/vPC等网络虚拟化技术,虽然可以简化部署、同时具备高可靠性,但是对于网络的拓扑架构有严格要求,同时各厂家不支持互通,在网络的可扩展性上有所欠缺,只适合小规模网络部署,一般只适合数据中心内部网络。
  • 新出现的大规模二层网络技术TRILL/SPB/FabricPath等,虽然能支持二层网络的良好扩展,但对网络设备有特殊要求,网络中的设备需要软硬件升级才能支持此类新技术,带来部署成本的上升。

业务规模受网络设备规格限制

云业务中虚拟机的大规模部署,使二层地址(MAC)表项的大小限制了云计算环境下虚拟机的规模,特别是对于接入设备而言,二层地址表项规格较小,限制了整个云计算数据中心的业务规模。

不能适应大规模租户部署

云业务需要大量租户之间的隔离,当前的主流二层网络隔离技术为VLAN,但是在大量租户部署时会有两大限制。一是VLAN可用的数量为4K左右,远远不能满足公有云或大型私有云的部署需求;二是如果在大规模数据中心部署VLAN,会使得所有VLAN在数据中心都被允许通过,会导致任何一个VLAN的广播数据会在整个数据中心内泛滥,大量消耗网络带宽,同时带来维护的困难。

二、 解决问题的新思路-Overlay网络

针对前文提出的三大技术挑战,传统解决问题的思路是把原先的网络架构改造为互通的大二层网络,总是带来新的问题。于是业界提出新的思路,在不改变原先架构的基础之上新建一个Overlay的网络,来为云业务提供支撑。

  • Overlay网络是指建立在另一个网络上的网络。该网络中的结点可以看作通过虚拟或逻辑链路而连接起来的。
  • Overlay网络具有独立的控制和转发平面,对于连接在overlay边缘设备之外的终端系统来说,物理网络是透明的。
  • Overlay网络是物理网络向云和虚拟化的深度延伸,使云资源池化能力可以摆脱物理网络的重重限制,是实现云网融合的关键。

1. Overlay网络的优点

东西流量受到传统网络架构限制问题的解决方法

Overlay是把二层报文封装在IP报文之上的新的数据格式,因此,只要网络支持IP路由可达就可以部署Overlay网络,而IP路由网络本身已经非常成熟,且在网络结构上没有特殊要求。而且路由网络本身具备良好的扩展能力,很强的的故障自愈能力和负载均衡能力。采用Overlay技术后,企业不用改变现有网络架构即可用于支撑新的云计算业务,极方便用户部署。

业务规模受网络规格限制问题的解决方法

部署Overlay网络后,虚拟机数据封装在IP数据包中,对于承载网络(特别是接入交换机)只需要学习隧道端点的MAC,MAC地址规格需求极大降低。对于核心网关处的设备表项(MAC/ARP)要求依然极高,当前的解决方案仍然是采用分布式网关方式,通过多个核心网关设备来提高表项的总体规格。

租户数量受限问题的解决方法

针对VLAN只能支持数量4K以内的限制,在Overlay技术中扩展了隔离标识的位数,可以支持高达16M的用户,极大扩展了隔离数量。针对VLAN技术下广播风暴问题,Overlay对广播流量转化为组播流量,可以避免网络本身的无效流量带宽浪费。

2. 实现Overlay网络的三大技术方案

IETF在Overlay技术领域提出三大技术方案。

  • VXLAN: VXLAN是将以太网报文封装成UDP报文进行隧道传输,UDP目的端口为已知端口,源端口可按流分配,标准5元组方式有利于在IP网络转发过程中进行负载分担;隔离标识采用24比特来表示;未知目的、广播、组播等网络流量均被封装为组播转发。
  • NVGRE NVGRE采用的是RFC 2784和RFC 2890所定义的GRE隧道协议。将以太网报文封装在GRE内进行隧道传输。隔离标识采用24比特来表示;与VXLAN的主要区别在对流量的负载分担上,因为使用了GRE隧道封装,NVGRE使用了GRE扩展字段flow ID进行流量负载分担,这就要求物理网络能够识别GRE隧道的扩展信息。
  • STT STT是无状态传输协议,通过将以太网报文封装成TCP报文进行隧道传输,隔离标识采用64比特来表示。与VXLAN和NVGRE的主要区别是在隧道封装格式使用了无状态TCP,需要对传统TCP协议进行修改以适应NVGRE的传输。

在实现Overlay架构的三大技术中,其中尤以VXLAN技术为最佳:

  • 位置无关性:业务可在任意位置灵活部署,缓解了服务器虚拟化后相关的网络扩展问题
  • 可扩展性:在传统网络架构上规划新的Overlay网络,部署方便,同时避免了大二层的广播风暴,可扩展性极强
  • 部署简单:由高可靠SDN Controller完成控制面的配置和管理,避免了大规模的组播部署,同时集中部署模式可加速网络和安全基础架构的配置,提供了可靠性和极好的扩展性
  • 适合云业务:支持千万级别租户隔离,有力支持云业务的大规模部署
  • 技术优势:VXLAN利用了现有通用的UDP传输,成熟性极高。

VXLAN具有以下技术优势:

  • L2-4层链路HASH能力强,不需要对现有网络改造(GRE有不足,需要网络设备支持)
  • 对传输层无修改,使用标准的UDP传输流量(STT需要修改TCP)
  • 业界支持度最好,商用网络芯片大部分支持。

3. VXLAN控制平面隧道的实现三种方式:

VXLAN控制平面隧道的实现方式主要分为三种:通过数据平面自学习、通过控制协议学习(利用扩展路由协议IS-IS或BGP完成VXLAN控制平面的地址学习)和通过SDN Controller实现。这三种方式的主要特点如表1所示。

表1 VXLAN控制平面隧道的实现三种方式

三种实现方式对比,在大规模的云计算虚拟化环境中,以Controller方式为最优。

  • 无需物理网络支持大量组播组
  • 标准协议,可扩展性极强
  • 部署简单,可通过Controller集中管理和控制设备

三、 VXLAN网络的部署方法

1. VXLAN的网络模型

图1 VXLAN三种组网模型

如图1所示,根据客户不同组网需求,分为以下三种组网模型。

  • Network Overlay 隧道封装在物理交换机完成。这种Overlay的优势在于物理网络设备性能转发性能比较高,可以支持非虚拟化的物理服务器之间的组网互通。
  • Host Overlay 隧道封装在vSwitch完成,不用增加新的网络设备即可完成Overlay部署,可以支持虚拟化的服务器之间的组网互通。
  • Hybrid Overlay是Network Overlay和Host Overlay的混合组网,可以支持物理服务器和虚拟服务器之间的组网互通。

H3C 支持以上所有类型的VXLAN网络架构,以满足不同客户的组网需求。

2. VXLAN的实际组网

控制平面借助H3C高可靠的SDN Controller集群实现管理和配置,H3C VCF架构下的VXLAN的组网模型如图2所示,所有设备由H3C Controller通过标准协议集中管理,减少了传统设备管理的复杂性。同时当用户业务扩展时,通过集中管理用户可以方便快速的部署网络设备,便于网络的扩展和管理。在VXLAN实际网络部署中,接入设备根可以为vSwitch和物理交换机。为了实现VXLAN的网关功能,由核心物理网络设备承担,提高了网络性能。

图2 VXLAN实际网络部署

核心设备主要提供VXLAN 网关功能,支持VXLAN报文的封装与解封装,并根据内层报文的IP头部进行三层转发,支持跨VXLAN之间的转发,支持VXLAN和传统VLAN之间的互通。

vSwitch软件主要提供虚拟化VXLAN 隧道封装功能,支撑VM接入Overlay网络,支持VXLAN报文的封装与解封装,支持跨VXLAN之间的转发。

物理接入网络设备主要提供VXLAN 隧道封装功能,支撑物理服务器接入Overlay网络,支持VXLAN报文的封装与解封装,并根据内层报文的MAC头部进行二层转发。

该方案具有如下特性:

  • 可以支持虚机与非虚拟化的物理服务器之间的二层数据互通;
  • 用物理设备实现VXLAN路由功能,提升了网络的整体性能;
  • 控制面实现由H3C高可靠的SDN Controller集群实现,提高了可靠性和可扩展性,避免了大规模组播的复杂部署;
  • 支持分布式网关功能,使虚机迁移后不需要重新配置网关等网络参数,部署简单、灵活。

四、 结束语

云计算发展过程中,计算虚拟化和存储虚拟化已经取得长足发展,但网络虚拟化一直是云业务资源虚拟化的短板, Overlay的网络架构是在传统物理网络基础上构建了逻辑的二层网络,是网络支持云业务发展的理想选择,提供了网络资源池化的最佳解决方式,是H3C云网融合技术路线中网络部分的关键技术。它克服了基于 VLAN 的传统限制,可为处于任何位置的用户带来最高的可扩展性和灵活性、以及优化的性能。

Overlay网络技术之vxvlan的更多相关文章

  1. 准备 overlay 网络实验环境 - 每天5分钟玩转 Docker 容器技术(49)

    为支持容器跨主机通信,Docker 提供了 overlay driver,使用户可以创建基于 VxLAN 的 overlay 网络.VxLAN 可将二层数据封装到 UDP 进行传输,VxLAN 提供与 ...

  2. 创建 overlay 网络 - 每天5分钟玩转 Docker 容器技术(50)

    上一节我们搭建好实验环境,配置并运行了consul,今天开始创建 overlay 网络. 在 host1 中创建 overlay 网络 ov_net1: -d overlay 指定 driver 为 ...

  3. 云计算和大数据时代网络技术揭秘(十三)VXLAN

    Vxlan(virtual Extensible LAN)虚拟可扩展局域网,是一种Overlay方式的网络技术,采用了mac in UDP的方式 进行封装,共50字节的报头.该技术的目标是解决虚拟机在 ...

  4. Docker 新网络 overlay 网络

    Overlay网络是指在不改变现有网络基础设施的前提下,通过某种约定通信协议,把二层报文封装在IP报文之上的新的数据格式. 这样不但能够充分利用成熟的IP路由协议进程数据分发,而且在Overlay技术 ...

  5. sdn学习-1(概念:Underlay网络和Overlay网络)

    随着云计算.大数据.移动互联网等新技术的普及,部署大量虚拟机成为一种必然趋势.解决这些虚拟机迁移问题理想的方案是在传统单层网络(Underlay)基础上叠加(Overlay)一层逻辑网络,将网络分成两 ...

  6. Docker原生网络技术简介

    Docker原生网络技术简介 默认网络 在宿主机部署好Docker Engine后会默认创建三种网络:Bridge.Host和None,如下: docker network ls NETWORK ID ...

  7. 基于多租户的云计算Overlay网络

    一 . 为什么需要Vxlan 1. vlan的数量限制 4096个vlan远不能满足大规模云计算数据中心的需求 2. 物理网络基础设施的限制 基于IP子网的区域划分限制了需要二层网络连通性的应用负载的 ...

  8. Docker容器跨主机通信--overlay网络

    一.Docker主机间容器通信的解决方案 Docker网络驱动 Overlay: 基于VXLAN封装实现Docker原生Overlay网络 Macvlan: Docker主机网卡接口逻辑上分为多个子接 ...

  9. Overlay网络与物理网络的关系

    编者按:无论是云计算还是SDN都把注意力集中在数据中心网络的建设上,各种解决方案层出不穷,其中以VMware为代表的软件厂商提出Overlay网络方案后,为数据中心网络的发展提出了新的思路.那么Ove ...

随机推荐

  1. 10种处理PHP字符串的措施

    PHP有一个海量字符串操作库,提供了大约100个分割.连接.解析和搜索文本的功能.在这一点上,PHP的性能是如此地强大以至于在处理字符串相关问题时,判断哪一个是最好的方法会比较困难.本文中我讲了10个 ...

  2. Angular - - $rootScope.Scope

    这里讲的是一些scope的操作,如创建/注销/各种监听及scope间的通信等等. $rootScope.Scope 可以使用$injector通过$rootScope关键字检索的一个根作用域. 可以通 ...

  3. @pathvariable 注解

    1.4. @PathVariable 注解 带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义 通过 @PathVar ...

  4. Varnish+Xcache构建高性能WEB构架初探

    本文主要讲述web优化方案和缓存工具的调研及使用.根据目前的测试结果来看,采用varnish+xcache作为 apache和 php缓存这种架构具有高并发.高稳定性,易扩展等优点,服务器的动态请求处 ...

  5. doubango(3)--协议栈的启动过程

    协议栈启动的上层接口 对于Doubango中得sip协议栈,是通过SipStack类粘合上层代码与底层代码的,该类定义在SipStack.h中,实现在SipStack.cxx中.当构造好一个SipSt ...

  6. 大大维的游戏机计划3--2048v1

    前几天由于忙着过年串门,游戏机的计划搁置了几天.这两天终于空出了一块时间,抽空写了2048. 由于笔者前面自制了一个类似2048的游戏,所以写起来也算是轻车熟路,花了两个晚上也就差不多了. 废话少说, ...

  7. SpringBoot 入门教程:集成mybatis,redis

    SrpingBoot相较于传统的项目具有配置简单,能快速进行开发的特点,花更少的时间在各类配置文件上,更多时间在具体业务逻辑上. SPringBoot采用纯注解方式进行配置,不喜欢xml配置的同学得仔 ...

  8. oracle_用户与概要文件

    Oracle 用户与概要文件 2012-09-01 15:05:47| 分类: Oracle | 标签:用户与概要文件 |举报 |字号大中小 订阅     用户管理看上去简单其实也是最常出现问题的一个 ...

  9. Python 黑帽编程 4.2 Sniffer之数据本地存储和加载

    在上一节,我们完成了编写一个简易的Sniffer的第一步--数据捕获. 很多时候,我们需要将捕获的数据先保存到磁盘上,之后再使用工具或者自己编写代码来进行详细分析. 本节我们在上一节的基础上来讲解保存 ...

  10. github在windows下的安装和基本使用

    1.在win下安装github时花费的时间是非常长的,有时还会出现因各种原因安装不成功.离线包本地安装方便的解决了此问题.点击http://pan.baidu.com/s/1boGrNLP可下载,解压 ...