一、概述
虚拟化技术具有降低IT成本、提高业务部署灵活性和降低运维成本等优势。越来越多的企业选择在数据中心或园区IT设施使用云计算或虚拟化技术。
在企业选择虚拟化架构后,业务将以虚拟机方式部署于服务器集群中。
虚拟化/云计算集群内允许虚拟机任意迁移,导致相同业务(相同网段)虚拟机可能运行在不同的服务器,或同一个虚拟机(一个IP)先后运行在不同的服务器(物理位置)。
物理服务器可能分布在地理位置跨度非常大的机房,因此需要使用三层进行互联。
云化场景一般支持多租户,即不同用户共享物理资源。这对网络提出两个需求,租户间隔离和租户内互访。
- 租户间隔离:租户可能配置相同的MAC和IP地址,需要考虑物理网络承载隔离的问题,并且存在海量的用户需要进行隔离。
- 租户内互访:租户内相同网段能够直接进行二层通信,即便处于不同物理位置的机房中。
随着云计算、大数据与移动互联网需求越来越旺盛,数据中心网络面临业务大范围迁 移、应用快速上线、网络弹性伸缩等一系列挑战。为了构建更大规模的二层网络, Overlay 技术方案开始被引入。Overlay 本意为叠加,就是在原有物理网络(Underlay) 基础上构建一个逻辑网络。本质上就是通过隧道封装的方式,将主机发出的原始二层 报文进行再次封装,然后在现有网络中进行透明传输,到达目的地后再解封装得到原 始报文,转发给目标主机,从而实现主机间的二层通信。这就相当于一个大二层网络 (Overlay)叠加在现有基础网络(Underlay)之上。
Overlay 网络概念示意图
二、基本概念
VXLAN在本质上是一种VPN技术,能够在任意路由可达的物理网络(Underlay网络)上叠加二层虚拟网络(Overlay网络),通过VXLAN网关之间的VXLAN隧道实现VXLAN网络内部的互通,同时,也可以实现与传统的非VXLAN网络的互通。
VXLAN通过采用MAC in UDP封装来延伸二层网络,将以太报文封装在IP报文之上,通过路由在网络中传输,无需关注虚拟机的MAC地址。且三层网络无网络结构限制,具备大规模扩展能力。通过路由网络,虚拟机迁移不受网络架构限制。
1、NVE
NVE(Network Virtualization Edge,网络虚拟边缘):
- 是实现网络虚拟化功能的网络实体,可以是硬件交换机也可以是软件交换机。
- NVE在三层网络上构建二层虚拟网络,是运行VXLAN的设备。图中SW1和SW2都是NVE。
2、VTEP
VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端点):
- VTEP是VXLAN隧道端点,位于NVE中,用于VXLAN报文的封装和解封装。
- VXLAN报文(其外层IP头部)中源IP地址为源端VTEP的IP地址,目的IP地址为目的端VTEP的IP地址。
3、VNI与BD
VNI(VXLAN Network Identifier,VXLAN网络标识):
- 类似VLAN ID,用于区分VXLAN段。不同VXLAN段的虚拟机不能直接二层相互通信。
- 一个租户可以有一个或多个VNI,VNI长度为24 bit,支持多达16 M的租户。
BD(Bridge Domain,桥域):
- 类似传统网络中采用VLAN划分广播域,在VXLAN网络中一个BD就标识一个大二层广播域。
- VNI以1:1方式映射到广播域BD,同一个BD内的终端可以进行二层互通。
4、VAP
VAP(Virtual Access Point,虚拟接入点):
- 实现VXLAN的业务接入。
- VAP有两种配置方式,二层子接口方式或者VLAN绑定方式:
- 二层子接口方式接入,例如在SW1创建二层子接口关联BD 10,则这个子接口下的特定流量会被注入到BD 10。
- VLAN绑定方式接入,例如在SW2配置VLAN 10与广播域BD 10关联,则所有VLAN10的流量会被注入到BD 10。
5、Border和Edge
Edge:VXLAN网络的边缘接入设备,传统网络的流量由此进入VXLAN网络。
Border:VXLAN网络和外部网络通信的节点,用于外部流量进入VXLAN网络或VXLAN内部流量访问外部,一般连接具有三层转发能力的设备(如Router、Firewall)。
6、VXLAN二层网关、三层网关
二层(L2)网关:实现流量进入VXLAN网络,也可用于同一VXLAN网络内终端的同子网通信。
三层(L3)网关:用于VXLAN网络内终端的跨子网通信以及终端对外部网络(非VXLAN网络)的访问。
7、VBDIF
类似于传统网络中采用VLANIF实现不同广播域互通,在VXLAN中引入了VBDIF的概念。
VBDIF接口在VXLAN三层网关上配置,是基于BD创建的三层逻辑接口。
通过VBDIF接口可实现不同网段的用户通过VXLAN网络通信,及VXLAN网络和非VXLAN网络间的通信,也可实现二层网络接入三层网络。
8、集中式与分布式
三、报文格式
四、隧道建立方式
VXLAN隧道由一对VTEP确定,报文在VTEP设备进行封装之后在VXLAN隧道中依靠路由进行传输。只要VXLAN隧道的两端VTEP是三层路由可达的,VXLAN隧道就可以建立成功。
根据VXLAN隧道的创建方式将VXLAN隧道分为以下两种:
- 静态隧道:通过用户手工配置本端和远端的VNI、VTEP IP地址和头端复制列表(head-end peer-list)来完成。
- 动态隧道:通过BGP EVPN(Ethernet VPN,以太网虚拟私有网络)方式动态建立VXLAN隧道。在VTEP之间建立BGP EVPN对等体,然后对等体之间利用BGP EVPN路由来互相传递VNI和VTEP IP地址信息,从而实现动态地建立VXLAN隧道。
1、静态VXLAN隧道
静态VXLAN隧道并不是一个有状态的隧道(如IPsec VPN),只是数据传输时的隧道封装,类似于GRE VPN。
头端复制列表中的地址,即进行隧道封装传输时可封装的隧道目的地址。
2、MAC地址学习
VXLAN实现的是在Overlay网络中进行二层转发,转发单播数据帧依赖的依旧是MAC地址表项。
VTEP接收到BD内来自本地的数据帧,将数据帧的源MAC地址添加到该BD的MAC地址表中,出接口为收到数据帧的接口。
该表项用于指导发往本VTEP下连接终端的数据帧的转发。
转发属于远端VTEP下所连接设备的数据帧,需要先学习到远端设备的MAC地址。
该过程与传统MAC地址表形成过程类似,依赖于主机之间的报文交互,一般通过ARP报文交互形成MAC地址表项。
同子网已知目的地址单播报文转发过程
BUM数据转发
传输BUM(Broadcast、Unknown、Multicast)流量时,VTEP会将流量复制多份发送到头端复制列表中的对端VTEP,从而在Overlay网络中实现泛洪转发的效果。
跨子网转发
以上就是本章的全部内容了,文章若与教材雷同纯属借鉴学习行为,感谢大家的浏览观看!