当前位置:文档之家› 什么是网络Overlay技术,为什么需要(江琳莉)

什么是网络Overlay技术,为什么需要(江琳莉)

什么是网络Overlay技术,为什么需要(江琳莉)
什么是网络Overlay技术,为什么需要(江琳莉)

什么是网络Overlay技术,为什么需要

作者:江琳莉/00206926

版本:V1.0 (2015-10-15)

交换机与企业通信解决方案部DCN设计组

修改记录

V1.0 (2015-11-24)

第一次发布。

ii 华为专有和保密信息

目录

1 云数据中心对网络有哪些需求 (1)

2 网络Overlay的原理 (3)

3 VXLAN在云数据中心的部署模式及价值 (8)

3.1 部署模式 (8)

3.1.1 硬件Overlay集中式组网 (8)

3.1.2 硬件Overlay分布式组网 (9)

3.1.3 软件Overlay分布式组网 (10)

3.1.4 混合Overlay分布式组网 (11)

3.2 VXLAN对于云数据中心的价值 (11)

iii 华为专有和保密信息

1 云数据中心对网络有哪些需求

在回答这个问题之前,我们需要分析一下云数据中心与传统数据中心的差异,这个差异

产生的缘由与服务器虚拟化技术在数据中心大规模应用不无相关。服务器虚拟化以后,

一台物理服务器虚拟化成多台逻辑服务器,这种逻辑服务器被称为虚拟机(VM),每个

VM都可以独立运行,有自己的OS、APP,并且可以拥有自己独立的MAC地址和IP

地址,它们通过服务器内部的虚拟交换机(vSwitch)与外部实体网络连接。如果只是这

样,貌似对网络带来的影响除了服务器规模变大了以后相应设备表项受影响,运维管理

的范围下移到服务器内部、拓扑需要包含虚拟网络部分以外,也没特别大的挑战。然而,

服务器虚拟化之后,带来了一项伴生的技术,那就是虚拟机动态迁移。

虚拟机动态迁移,就是在保证虚拟机上服务正常运行的同时,将一个虚拟机系统从一个

物理服务器移动到另一个物理服务器的过程。该过程对于最终用户来说是无感知的,从

而使得管理员能够在不影响用户正常使用的情况下,灵活调配服务器资源,或者对物理

服务器进行维修和升级。而要实现虚机迁移业务不中断,则需要保证虚机迁移前后IP

地址保持不变,而且虚拟机的运行状态也必须保持原状(例如TCP会话状态)。可能有

人会问,虚拟机迁移前后IP地址不变为啥非得在同一个二层域内呢?这是因为一旦服

务器迁移到其他二层域,就需要变更IP地址,TCP连接等运行状态也会中断,那么原

来这台服务器所承载的业务就会中断,而且同时与此业务相关的其他服务器(比如

WEB-APP-DB服务器之间都是相互关联的)也要变更相应的配置。所以虚拟机的动态

迁移只能在同一个二层域中进行,而不能跨二层域迁移。因此,我们经常听到云数据中

心需要大二层网络。

当然,大二层的需求也不仅仅只是为了满足云数据中心虚机迁移的场景,在我们接触到

的一些项目中,也有这样的情形,同样需要数据中心满足大二层组网:

●某些应用的功能组件间通信,需满足在同一个二层域,例如OpenStack云平台控制

节点、计算节点之间通过相应的管理VLAN二层互通。

●某些运营商在提供机架、服务器托管等业务时,存在需要将不同物理机房机架上的

剩余资源作为一个整体出租给用户,此时需要实现跨物理机房的二层互通。

●某些关键业务出于可靠性的考虑,需要承载业务的服务器/虚拟机的HA方案跨越物

理机架甚至物理机房,此时也需要一个大二层网络环境。

大二层网络并不是云时代对网络唯一的诉求。当计算虚拟化、存储虚拟化技术变为现实

并广泛应用时,人们不禁会想,能不能像发放虚机一样“发放”网络呢?网络是否能够1 华为专有和保密信息

挣破“静态部署”这个桎梏,实现随着业务的部署、回收而动态的发放、回收网络资源

呢?网络虚拟化的诉求由此被提出,而SDN的概念也开始进入人们的视野。

另外,对于互联网、运营商等客户的数据中心,由于对外运营的需求,还需要能实现多

租户的业务隔离,依靠传统VLAN技术的4k子网,显然不能满足需求。

可以看出,云数据中心时代,用户对数据中心的诉求不仅仅满足于高速的转发、高可靠

的业务保障,还追求计算、存储、网络资源效率的最大化利用,能够随业务而动态调整,

大二层的网络环境,则是这种数据中心资源动态调整的情况下,业务不受影响的基础;

而网络虚拟化,则是实现大二层以及网络敏捷发放的重要技术。

2 华为专有和保密信息

2 网络Overlay的原理

看到这里,或许有人会问,网络Overlay的原理是什么呢?Overlay技术能够完全满足大

二层、网络虚拟化、多租户的需求吗?其他技术就不能实现大二层网络吗?在传统数据

中心就不能实现大二层吗?

让我们来看看为了实现数据中心大二层,都尝试了哪些方法。首先看看传统数据中心如

何构建二层网络。总所周知,数据中心出于对可靠性的强烈需求,通常会采用冗余设备、

冗余链路来保障业务不会因为单点、单链路故障而中断,而二层网络的核心问题就是冗

余设备与链路带来的环路问题和环路产生的广播风暴,传统数据中心用来规避二层环路

的最主要的技术就是VLAN和xSTP。那么我们能不能就用VLAN+xSTP技术,将数据

中心所有服务器纳入同一个二层域呢?答案当然是否定的。首先来看VLAN,VLAN技

术通过将一个大的物理二层域划分成许多小的逻辑二层域,这种逻辑二层域被称为

VLAN;同一个VLAN内可以进行二层通信,不同VLAN之间是二层隔离的,这样就

将广播的范围就局限在一个VLAN内,而不会扩散到整个物理二层域。然而VLAN虽

然可以一定程度上降低广播风暴的范围和强度,但还是只要在同一个VLAN内还有环路,

就无法避免在VLAN内部形成广播风暴,所以VLAN技术不能从根本上解决广播风暴

问题。而xSTP,则是从环路产生的根源—冗余设备与链路,通过在正常情况下阻塞掉

冗余的设备端口和链路来防止环路的产生,只有在主用设备、链路故障的情况下,被阻

塞的端口与链路才参与转发。这样做的确在某种意义上能够防止环路的产生,然而随之

带来的后果是永远有部分端口与链路被闲置,对于云数据中心时代而言,这样的资源利

用效率显然是无法接受的。并且,这种阻断端口与链路的方式,只适应在小规模组网场

景下,当网络规模到一定程度,除了规划复杂外,xSTP协议的收敛性能存在很大缺陷,

一旦网络出现故障,如果xSTP的节点过多,那么整网的收敛速度会呈指数级下降,所

以一般情况下xSTP的网络规模不会超过100台交换机,能够接入的服务器数量一般不

会超过1000台,显然无法满足云数据中心所需的大二层网络。

网络设备虚拟化技术,这里主要指CSS和iStack、SVF等多虚一技术,通过将多个设备

虚拟成一台逻辑设备,再配合链路聚合技术,就可以把原来的多节点、多链路的结构变

成逻辑上单节点、单链路的结构,也常常用来构造无环二层网络。相对于VLAN+xSTP

的方案,CSS/iStack+SVF的方案构建的二层网络天然无环,并且虚拟化技术和链路聚合

技术都具备冗余备份功能,单台物理设备或者链路故障时,可以自动切换到其他物理设

备和链路来进行数据转发,从而保证网络的可靠性。通过这种方式所构建的二层网络的

规模受限于CSS/iStack系统的性能,并不能实现无限制扩展。同时由于采用这种方案,

本质上二层子网数量仍然是采用VLAN机制,因此不能突破4k的限制。并且当前这些

3 华为专有和保密信息

4 华为专有和保密信息

协议往往都是厂家私有的,因此只能使用同一厂家的设备来组网。类似的技术还有Cisco 的VSS 、FEX ,H3C 的IRF 等,实现原理类似,此处就不多做介绍了。

如上面所说,传统网络xSTP ,CSS/iStack ,SVF/M-Lag 等技术,往往由于技术本身而具有这样或那样的缺陷,并不能完美实现数据中心大二层网络,因此,叠加(Overlay )网络应运而生。

Overlay 网络的技术多种多样,包括电信设备厂商主推的TRILL (Transparent

Interconnection of Lots of Links )技术以及IT 厂商主推的NVO3(Network Virtualization over Layer 3)例如NVGRE (Network Virtualization using Generic Routing Encapsulation )、STT (Stateless Transport Tunneling Protocol )以及大家耳熟能详的VXLAN (Virtual eXtensible LAN )等等基于隧道的封装技术。

我们先来看看TRILL 。TRILL 技术的实现原理,实际上是借鉴三层网络的转发机制来优化二层报文的转发。总所周知,三层转发网络也是有环路的,为什么就没有这些问题呢?并且三层网络还可以利用冗余链路做ECMP 。为什么会有这么大差异呢?其实原因很简单,二层网络报文转发依赖的设备的MAC 表,而设备的MAC 表的构建是采用报文学习的方式,设备本身不知道整个网络拓扑,遇到未知地址的报文只能依靠广播,这样自然容易引起广播风暴耗费网络资源。而三层网络报文转发则依赖于三层路由协议(如OSPF 、ISIS 、BGP 等)构造的全网“地图”,有“地图”在手,转发自然不容易出现来某处死循环的情况。TRILL 协议通过在二层报文前插入额外的帧头,并且采用路由计算的方式控制整网数据的转发,不仅可以在冗余链路下防止广播风暴,而且可以做ECMP ,这样可以就能实现将二层网络的规模扩展,当前支持最大512个节点的TRILL 网络。 图2-1 TRILL 大二层网络虚拟机迁移

TRILL 技术胜在是大二层技术的先行者,支持虚拟机在较大范围内迁移,且早早就已经实现协议标准化,诸多网络设备厂商均支持标准TRILL 协议,可以做到基础网络跨厂商互通,降低被单一厂商Lock-in 的风险,但是TRILL 协议也有明显的缺陷如在不扩展的情况下无法突破4K 子网限制,所有Fabric 网络设备均需支持基于TRILL-Header 的转发,组网成本高,上述种种缺陷抑制了TRILL 网络大规模部署,对于企业私有云用户,在新建数据中心或者新建数据中心分区时TRILL 技术仍不失为一种较好的选择。华为CE (CloudEngine )交换机支持标准TRILL 协议并且有某石油公司大规模部署的成功案例。

其他的类似的协议还有Cisco 的FabricPath 以及IEEE 的SPB 等。和TRILL 协议一样,由于采用了全新的协议机制,需要交换机改变传统的基于MAC 的二层转发行为,因此这种方式只适合新建数据中心网络搭建。

再回头讲一讲IT 厂商(如VMware 等)主推的NVO3技术,典型技术有VXLAN 、NVGRE 、STT 等,由不同厂商主导,实现方案相似,都是基于MAC in IP/UDP 的方式实现叠加网络,以VXLAN 协议当前在数据中心网络的应用程度最广。其实这一类Overlay

技术本

质上并不算特别新的概念,就是通过用隧道封装的方式,将源主机发出的原始二层报文

封装后在现有网络中进行透明传输,到达目的地之后再解封装得到原始报文,转发给目

标主机,从而实现主机之间的二层通信。通过封装和解封装,相当于一个大二层网络

(Overlay)叠加在现有的基础网络(Underlay)之上。如果把基础网络看成是“道路”,

将报文传输的隧道看成是一条一条规划好的直达列车,Overlay则是由这众多列车组成

的运输网,那么只要道路铺到的地方,就能规划从出发地到目的地的直达列车路线,这

样乘客(报文)在起点上车(封装),在终点站下车(解封装),这样完成报文的转发。

那么可以看出,决定这个大二层网络规模的关键就在于底层“道路”的范围。IP网络技

术由于其成熟、稳定、相对简单的特点当仁不让成为构建底层Underlay网络的不二选择,

OSPF、ISIS、BGP协议可以满足多种规模的IP网络建设需求,IP网络的ECMP特性更

是实现业务流量的负载均衡,并且Overlay方案这种在原始报文之上封装新的报文头的

做法,在报文头里通过类似于VLAN Tag的24bit的VNI字段来标识Overlay网络二层

子网,使得二层子网数量轻易突破4k的限制,达到224≈16M之多,更满足当前运营

商、互联网多租户等数据中心用户海量二层隔离的需求。还有一点或许也是Overlay方

案优于其他大二层方案的原因,就是Overlay网络的边缘节点可以由物理网络设备或者

是虚拟网络设备担任,甚至是运行在虚拟机上的软件来实现,除边缘节点设备外,其余

网络设备不需要做任何改造,这样几乎可以覆盖包括新建数据中心网络、旧数据中心网

络改造等等各种用户场景。

就像前面所描述的,Overlay技术这种业务网络和底层承载网络解耦的技术相比较其他

大二层技术,更适合当前云数据中心的需求。VXLAN作为Overlay技术的代表,云计

算的核心技术之一,凭借其大幅提高业务部署灵活性等优势已经得到越来越多的认可和

部署。那么到底什么是VXLAN?VXLAN又如何与SDN结合起来在云数据中心中运用

的呢?

VXLAN全称Virtual eXtensible LAN,是一种覆盖网络技术或隧道技术。VXLAN协议

最先由VMware、Arista、Broadcom、Citrix和Red Hat等IT厂商提出,Cisco、HW等

CT厂商迅速跟进,当前已正式发布为IETF标准RFC 7348。该标准定义了VXLAN报

文的封装和对单播报文、广播报文的处理,而对VXLAN协议的控制面实现没有做出明

确的规定。

我们已经知道VXLAN作为Overlay协议的一种,使用MAC over UDP封装实现实现叠

加网络的,典型的VXLAN报文封装如下图:

5 华为专有和保密信息

6 华为专有和保密信息

图2-2 VXLAN 报文封装格式

VXLAN 报文转发原理是将虚拟机发出的数据包封装在UDP 中,并使用物理网络的IP/MAC 作为outer-header 进行封装,然后在物理IP 网上传输,到达目的地后由隧道终结点解封并将数据发送给目标虚拟机。

图2-3 VXLAN 报文转发过程

如上图,VXLAN 网络边缘设备即NVE (Network Virtual Edge )节点接收到VM 发送的单播以太帧后,首先会查找源Host 所对应的VNI ,然后查找目的Host 所对应的VNI ,判断两者对应的VNI 是不是相同,如果相同,会插入VXLAN 标签头,封装IP 报文头(源IP 为本地NVE 节点的VTEP (VXLAN Tunnel End Point ) IP 地址,目的IP 为远端NVE 的VTEP IP 地址),封装以太网帧头(源MAC 是本地VTEP 出接口的MAC ,目的MAC 是VTEP 下一跳的MAC ),之后通过出接口发送给下一跳路由器。

当远端NVE 接收到带有VXLAN 标签的报文后,会解析出VNI 和内层的目的MAC ,并判断VNI 是否有效,以及目的MAC 对应的VNI 是否与之符合,如果没有问题的话,NVE 节点会剥掉VXLAN 标签、外层的IP 头和MAC 帧头,之后将内部承载的以太帧完整转发给目的VM 。

那么问题来了,用户的原始报文是基于VLAN 隔离,转发的报文是基于VNI 进行二层隔离的,内层VLAN 和外层VNI 标签如何映射呢?另外VXLAN

是基于外层报文的目

的MAC进行查表然后通过隧道转发报文的,那么NVE节点怎么知道目的的虚机在哪

个远端NVE下呢?

对于第一个问题,我们已经知道VLAN标签有4096的数量限制,而VNI的数量则可以

达到16M,我们在做内外层标签映射的时候可以采用P+V映射,实现内层VLAN对

VXLAN VNI的1:n映射。在对二层隔离子网数量需求不大的企业私有云场景,也常采

用VLAN到VXLAN VNI的1:1映射方案。

对于第二个问题,其实也就是VXLAN的控制面如何实现的问题。我们知道一般来说转

发面用于指导流量如何转发,而控制面则是生成用于指导转发的的转发表项,如路由表,

对于VXLAN协议来说,则是用来指导NVE节点学习不同VNI下remote NVE的VTEP

IP以及其连接的VM的MAC的对应关系。当前控制面的实现有多种方式,第一种是利

用转发面的数据报文自学习方式,在RFC中介绍了一种利用组播协议关联VNI的方案:

为每个VXLAN VNI指定一个IP组播组。当VNI关联到某个IP组播组时,即向网络侧

发送IGMP加入消息报文,建立树形的组播转发路径。后继的组播报文使用该指定的IP

组播组作为隧道外层的目的IP地址,隧道报文沿着组播路径达到其他NVE。通过路由

协议扩展的方式,例如BGP扩展字段,也可以实现VXLAN网络NVE节点VTEP IP与

VNI的对应关系同步。还有一种实现方案,利用数据中心SDN控制器实现对全网Overlay

网络拓扑的把控,生成相关转发表项并下发给设备。以上三种实现方案中,采用第一种

方案利用组播协议构建控制平面时,网络设备需要支持PIM/IGMP等组播协议,这样对

设备要求相对较高,现网设备不能利旧,并且组播树规格有限,难以支持16M租户,

因此在实际应用部署中并不推荐。相对于第二种方案,第三种方案不光能实现VXLAN

网络VTEP与VNI的对应关系同步,还能结合云平台和SDN控制器,实现业务到网络

的映射、业务网络配置自动化下发与管理。从而大大缩短业务部署时间。

讲完了原理,那么VXLAN在数据中心网络中如何应用的呢,又有哪些部署模式呢,请

看下一章节。

7 华为专有和保密信息

3 VXLAN在云数据中心的部署模式及价值

3.1 部署模式

前面我们已经介绍过,VXLAN技术中的关键节点是VXLAN网络边缘设备即NVE

(Network Virtual Edge),在NVE设备上配置隧道端点IP地址后,NVE设备即可作为

VTEP(Virtual Tunnel End Point)在NVE设备间建立端到端隧道。

既然VTEP端点非常重要,那么NVE设备的位置就变得越发敏感,根据VXLAN组网

中NVE设备的软硬件形态的不同以及VXLAN三层网关部署方式的不同(下文如非特

别说明,网关均指VXLAN三层网关),基于VXLAN技术的Overlay网络分为以下几种:

●硬件Overlay集中式组网

●硬件Overlay分布式组网

●软件Overlay分布式组网

●混合Overlay分布式组网

3.1.1 硬件Overlay集中式组网

图3-1硬件Overlay集中式VXLAN三层网关组网

8 华为专有和保密信息

如图所示,本组网的特点是所有NVE设备均由硬件设备承担VXLAN网关集中部署。

红色VTEP为VXLAN Bridging网关即VLAN网络到VXLAN网络映射转换设备,也是

VXLAN二层隧道端点,用于封装二层隧道的VXLAN报文。

黄色VTEP为VXLAN Routing网关即VXLAN到VXLAN三层转发设备,支持由一个

VXLAN子网到另一个VXLAN子网的跨三层转发。

这种组网方案应用广泛,华为在金融、运营商和互联网大企业中均有成功部署案例,是

最符合传统组网思路的一种方案,转发性能强劲、运维界面清晰、设备稳定可靠,并有

多种技术提高系统整体可用性,而且对各类虚拟化计算平台兼容性最好。但由于VXLAN

三层网关集中部署,对三层网关设备各种转发、封装表项的要求较高,适合规模适中的

私有云组网方案。

3.1.2 硬件Overlay分布式组网

图3-2硬件Overlay集中式VXLAN三层网关组网

由于硬件NVE集中式网关组网有规格方面的局限性,因此硬件NVE分布式组网应势而

生。如上图所示,TOR硬件设备做NVE,TOR间部署EVN/BGP-EVPN协议,通过Spine

节点做RR反射器同步各个TOR设备的主机路由表,如果分布式组网需要多租户隔离,

RR反射器也可以配置为VTEP端点,作为出入数据中心南北流量网关设备连接VXLAN

域和FW/LB等增值设备。

分布式组网方案下,接入层TOR交换机既做VXLAN Bridging网关又做VXLAN Routing

三层网关,且虚拟机看到的网关在就近部署在TOR交换机。因每台TOR下挂的服务器

数量有限,因此该TOR仅同步有限转发、封装表项即可。

由于二层网络的网关分布式部署在多个TOR设备,同传统网络部署模式有显著差异,

因此在解决硬件NVE集中式网关规格问题的同时,引入运维复杂化问题,用户选择组

网方案时应予以考虑。

9 华为专有和保密信息

3.1.3 软件Overlay分布式组网

图3-3软件Overlay分布式VXLAN三层网关组网

随着X86架构持续演进,X86服务器的性能已经可以满足市场多数业务的计算需求,性

能过剩的问题普遍存在,如何提升服务器计算资源的利用率一直是一个热门话题?计算

虚拟化是一个极佳的思路,虚拟机和容器均为其典型应用。通过在物理服务器内部署

Hypervisor扩展组件,将服务器CPU资源多实例化,单台服务器并行部署多个业务。为

了将虚拟计算节点接入物理网络,网络边缘设备也开始深入服务器内部,如上图所示的

虚拟交换机vSwtich。

vSwtich上部署VTEP端点,将虚拟化实例接入VXLAN网络,得益于软件化vSwtich

的灵活性,软件NVE分布式组网方案适用于网络规模高速扩张,业务部署频繁变化的

数据中心网络,尤其适用于对弹性要求较高的公有云场景。另外对于传统数据中心向

SDN数据中心演进方面也有天然优势,可以充分利用既有网络设备,降低设备投资。

有得必有失,通过通用的CPU模拟虚拟交换机转发行为,对计算资源的消耗是负面影

响,由于vSwitch深入服务器内部,网络运维,故障定界问题也变得比较棘手,通过技

术手段可以提升一定转发性能但也会加重vSwitch内部实现的复杂度,综合来说对用户

的技术能力要求是比较高的,因此软件NVE适用于互联网大企业及运营商等在技术上

有长期积累的用户。

最后需要特别说明的是,不同的虚拟化计算平台需要安装对应版本的vSwtich。XEN、

KVM、ESXi、Hyper-V平台的vSwtich无法通用,华为提供以上虚拟化平台的vSwtich。

10 华为专有和保密信息

3.1.4 混合Overlay分布式组网

图3-4混合Overlay分布式VXLAN三层网关组网

为了结合软件NVE和硬件NVE组网的优势,可以使用混合NVE组网,既有vSwitch

做NVE又有硬件设备做NVE,在只有部分物理机接入时推荐这种组网方案。同时Spine

设备作为VTEP节点部署大容量交换设备,旁挂FW/LB等增值设备提供可靠、高效的

增值服务。

混合Overlay是一种相对均衡的组网,一方面没有规格方面的明显短板,另一方面轻载

业务通过vSwitch接入,重载业务通过硬件设备做NVE接入也可以接受,并且用户只

需购买少量支持VXLAN的硬件设备即可完成较大规模部署。这种混合的方案适应面较

广,公有云和私有云均可使用。但如何高效、精准运维依然是极具挑战的问题。

3.2 VXLAN对于云数据中心的价值

VXLAN方案作为华为敏捷数据中心SDN网络解决方案的一部分,在为用户实现资源高

效利用,业务部署更灵活更简洁的需求驱动下,正在全球数据中心网络建设项目中陆续

部署。写到这里,让我们回顾小结一下,VXLAN技术对于云数据中心的价值:

●通过24bit VNI字段提供多达16M的二层子网空间,满足多租户环境下的海量隔离

需求。

●通过网络服务和底层的网络硬件解耦,实现跨网段的大二层网络环境,将业务资源

的部署与物理位置解耦,满足云数据中心动态、按需的需求。

●通过网络服务和底层的网络硬件解耦,实现业务配置按需,动态。底层的硬件拓扑

和基础配置是静态的、稳定的,而上层提供网络承载服务的层次(Overlay层)是

方便动态调整的。Overlay层面的调整可以针对单个业务,不会影响底层网络的运

行稳定,不影响其他业务的运行。

●多种控制面实现方式,满足不同环境下、不同用户的需求。

●多种部署模式,满足不同用户的需求。

11 华为专有和保密信息

最后,有关华为敏捷数据中心SDN网络解决方案的其他部分内容,还请关注本系列其

他文章。

图3-5华为敏捷数据中心SDN网络解决方案整体架构

12 华为专有和保密信息

相关主题
文本预览
相关文档 最新文档