所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

什么是VXLAN

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
什么是VXLAN

什么是VXLAN

VXLAN概述

作为云计算核心技术之一的“服务器虚拟化”已经被数据中心普遍应用。随着企业业务的发展,虚拟机数量的快速增长和虚拟机迁移已成为一个常态性业务。由此也给传统网络带来了以下一些问题:

  • 虚拟机规模受网络规格限制

    在传统二层网络环境下,数据报文是通过查询MAC地址表进行二层转发。而接入侧二层设备的MAC地址表容量有限,无法支撑大量虚拟机的接入需求。

  • 传统网络的隔离能力有限

    VLAN作为当前主流的网络隔离技术,由于IEEE 802.1Q中定义的VLAN ID只有12比特,仅能表示4096个VLAN,无法满足大量租户的隔离需求。

  • 虚拟机迁移范围受限

    为了虚拟机迁移过程中业务不中断,需要保证虚拟机迁移前后的IP地址、MAC地址不变。这就决定了,虚拟机迁移必须发生在一个二层域中。而传统数据中心网络的二层域,将虚拟机迁移限制在了一个较小的局部范围内。

针对上述问题,为了满足云计算的网络能力需求,逐步演化出了Overlay网络技术。Overlay技术有多种,例如VXLAN、NVGRE、STT等。本文就来介绍目前获得最广泛支持的VXLAN技术。

VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网),是由IETF定义的NVO3(Network Virtualization over Layer 3)标准技术之一,本质上是一种隧道技术。通过将原始数据帧添加VXLAN头后封装在UDP报文中,并以传统IP网络的传输方式转发该UDP报文。报文到达目的端点后,去掉外层封装的部分,将原始数据帧交付给目标终端。

图1-1中VXLAN隧道的端点称为VTEP(VXLAN Tunnel Endpoints),负责VXLAN报文的封装和解封装。一对VTEP就对应着一条VXLAN隧道,源端VTEP封装报文后通过隧道向目的端VTEP发送,目的端VTEP对接收到的报文进行解封装。

图1-1 VXLAN网络模型

VXLAN是在三层网络上构建虚拟二层网络,实现主机之间的二层互通。相对于VLAN,VXLAN具有更好的灵活性与扩展性:

  • 针对虚拟机规模受网络规格限制

    虚拟机发出的数据包封装在IP数据包中,对网络只表现为封装后的网络参数。因此,极大降低了大二层网络对MAC地址规格的需求。

  • 针对网络隔离能力限制

    VXLAN技术扩展了隔离标识的位数(24比特),理论上可以达到16M的租户隔离,极大扩展了隔离数量。VXLAN引入了类似VLAN ID的网络标识,称为VNI(VXLAN Network ID),由24比特组成,理论上支持多达16M的租户,从而满足了大量租户隔离的需求。

  • 针对虚拟机迁移范围受网络架构限制

    VXLAN将以太报文封装在IP报文之上,通过路由在网络中传输,构建出了大二层网络,虚拟机迁移不受网络架构限制。而且路由网络具备良好的扩展能力、故障自愈能力、负载均衡能力。

VXLAN报文格式

图1-2所示,VXLAN采用了MAC-in-UDP的报文封装模式,在原始数据帧上依次添加VXLAN首部、UDP首部、IP首部和以太帧首部。

图1-2 VXLAN报文格式
  • VXLAN Header:VXLAN首部包含24比特的VNI字段和8比特的VXLAN标志位,其他为保留字段。
  • UDP Header:UDP首部中,目的端口号固定为4789。VXLAN首部和原始以太帧一起作为UDP的数据部分。
  • Outer IP Header:IP首部的源IP地址为源端VTEP的IP地址,目的IP地址为目的端VTEP的IP地址。
  • Outer MAC Header:以太帧首部的源MAC地址为源端VTEP的MAC地址,目的MAC地址为到达目的端VTEP的下一跳设备的MAC地址。

VXLAN报文转发原理

VXLAN网络中报文的转发一般分为两大类,一类为BUM报文转发(广播、组播、未知单播);另一类为已知单播报文转发。下面分别就以这两类报文的转发流程做介绍。

BUM报文转发

BUM报文在VXLAN中有多种方式可以实现:头端复制、集中复制、组播复制。其中集中复制、组播复制的部署稍复杂,下面只以常用的头端复制方式进行说明。

图1-3 BUM报文转发流程

图1-3所示,BUM报文转发流程如下:

  1. VM_A向VM_C发出ARP广播请求,请求VM_C的MAC地址,源MAC为MAC_A、目的MAC为全F。
  2. VTEP_1收到ARP请求后,确定对应的VNI及VXLAN隧道头端复制列表。VTEP_1会根据头端复制列表对报文进行复制及VXLAN封装,然后向各隧道发送。

    可以看到,外层目的IP地址为对端VTEP(VTEP_2和VTEP_3)的IP地址。封装后的报文,根据外层MAC和IP信息,在IP网络中进行传输,直至到达对端VTEP。

  3. 报文到达VTEP_2和VTEP_3后,VTEP对报文进行解封装,得到VM_A发送的原始报文。同时,VTEP_2和VTEP_3记录VM_A的MAC地址、VNI和远端VTEP_1的IP地址的对应关系,并记录在本地MAC表中。之后,VTEP_2和VTEP_3将原始报文发送给对应二层域内的主机。

    VM_C接收到ARP请求后,对ARP请求做出应答(VM_B丢弃报文)。因为VM_C上已经学习到了VM_A的MAC地址,所以ARP应答报文为已知单播报文。

已知单播报文转发

图1-4 已知单播报文转发流程

图1-4所示,以VM_C向VM_A进行ARP应答为例,已知单播报文转发流程如下:

  1. VM_C向VM_A发送ARP应答报文,报文源MAC为MAC_C,目的MAC为MAC_A。
  2. VTEP_3接收到VM_C发送的报文后,确定对应的VNI,对报文进行VXLAN封装。

    可以看到,因为VTEP_3已经有VM_C的MAC地址表,所以这里封装外层目的IP地址为对端VTEP(VTEP_1)的IP地址。封装后的报文,根据外层MAC和IP信息,在IP网络中进行传输,直至到VTEP_1。

  3. 报文到达VTEP_1后,VTEP_1对报文进行解封装,得到VM_C发送的原始报文。之后,VTEP_1将解封装后的报文发送给VM_A。

VXLAN网关

与不同VLAN需要通过三层网关互通一样,VXLAN中不同VNI的互通也需要有三层网关。

在典型的“Spine-Leaf”VXLAN组网结构下,根据三层网关的部署位置不同,VXLAN三层网关可以分为集中式网关和分布式网关。

集中式网关部署

集中式网关是指将三层网关集中部署在Spine设备上,如下图所示,所有跨子网的流量都经过三层网关进行转发,实现流量的集中管理。

图1-5 集中式网关组网示意图

集中式网关部署方式可以对跨子网流量进行集中管理,网关的部署和管理比较简单,但是因为同Leaf下跨子网流量也需要经过Spine转发,所以流量转发路径不是最优。同时,所有通过三层转发的终端租户的表项都需要在Spine上生成。但是,Spine的表项规格有限,当终端租户的数量越来越多时,容易成为网络瓶颈。

分布式网关部署

VXLAN分布式网关是将Leaf节点作为VXLAN隧道端点VTEP,每个Leaf节点都可作为VXLAN三层网关,Spine节点不感知VXLAN隧道,只作为VXLAN报文的转发节点。

图1-6 分布式网关组网示意图

在Leaf上部署VXLAN三层网关,即可实现同Leaf下跨子网通信。此时,流量只需要在Leaf节点进行转发,不再需要经过Spine节点,从而节约了大量的带宽资源。同时,Leaf节点只需要学习自身连接主机的ARP表项,而不必像集中三层网关一样,需要学习所有主机的ARP表项,解决了集中式三层网关带来的ARP表项瓶颈问题,网络规模扩展能力强。

对于分布式网关场景,因为需要在三层网关间传递主机路由才能保证主机间互通,所以需要有控制平面来进行路由的传递。为此,VXLAN引入了EVPN(Ethernet VPN)作为VXLAN的控制平面。EVPN参考了BGP/MPLS IP VPN的机制,通过扩展BGP协议新定义了几种BGP EVPN路由,通过在网络中发布路由来实现VTEP的自动发现、主机地址学习。

关于BGP EVPN的内容本文不再赘述,BGP EVPN相关介绍请参见:CloudEngine 12800, 12800E V200R005C00 配置指南-VXLAN

相关信息

VXLAN基于已有的IP网络,通过三层网络基础上扩展出一个大二层网络,是当前最主流的Overlay技术。部署VXLAN功能的可以是物理交换机/路由器或服务器上的虚拟交换机(vSwitch)。物理交换机/路由器作为VTEP称为硬件Overlay,优势在于设备处理性能比较高,可以支持非虚拟化的物理服务器之间的互通,但是需要物理交换机/路由器支持VXLAN功能;vSwitch作为VTEP称为软件Overlay,优势在于对网络要求低,不需要网络设备支持VXLAN功能,但是vSwitch处理性能不如物理交换机/路由器。

目前,华为交换机、路由器支持基于硬件的VXLAN功能,可以作为VXLAN网络的VTEP节点。更多关于华为交换机、路由器的VXLAN相关描述请参见:

翻译
下载文档
更新时间:2019-07-01

文档编号:EDOC1100087027

浏览量:3477

下载量:257

平均得分:
本文档适用于这些产品
相关版本
相关文档
Share
上一页 下一页