网工 Vxlan

https://support.huawei.com/enterprise/zh/doc/EDOC1100087027

VXLAN即虚拟扩展局域网,是大二层网络中广泛使用的网络虚拟化技术。在源网络设备与目的网络设备之间建立一条逻辑VXLAN隧道,采用MAC in UDP(User Datagram Protocol)封装方式,即,将虚拟机发出的原始以太报文完整的封装在UDP报文中,然后在外层使用物理网络的IP报文头和以太报文头封装,这样,封装后的报文就像普通IP报文一样,可以通过路由网络转发,这就像给二层网络的虚拟机插上了路由的翅膀,使虚拟机彻底摆脱了二、三层网络的结构限制。

  1. 为什么需要VXLAN?
  2. VXLAN与VLAN之间有何不同?
  3. VXLAN是如何工作的?
  4. 什么是VXLAN EVPN?
  5. VXLAN网络中的报文是如何转发的?

为什么需要VXLAN?

为什么需要VXLAN呢?这和服务器的虚拟化趋势紧密相关,一方面出现了虚拟机动态迁移要求虚拟机在迁移前后的IP和MAC地址不能改变;另一方面,租户数量激增,需要网络提供隔离海量租户的能力

在服务器虚拟化后,虚拟机动态迁移变得常态化,为了保证迁移时业务不中断,就要求在虚拟机迁移时,不仅虚拟机的IP地址不变,而且虚拟机的运行状态也必须保持原状(例如TCP会话状态),所以虚拟机的动态迁移只能在同一个二层域中进行,而不能跨二层域迁移。

众所周知,同一台二层交换机可以实现下挂服务器之间的二层通信,而且服务器从该二层交换机的一个端口迁移到另一个端口时,IP地址是可以保持不变的。这样就可以满足虚拟机动态迁移的需求了。VXLAN的设计理念和目标正是由此而来的

VXLAN提供一套方法论,在IP网络基础上,当源和目的之间有通信需求时,便在IP网络之上创建一条虚拟的隧道,透明转发用户数据。任意两点之间都能通过VXLAN隧道来通信,忽略底层网络的结构和细节。从服务器的角度看,VXLAN为它们将整个基础网络虚拟成了一台巨大的“二层交换机”,所有服务器都连接在这台虚拟二层交换机上。而基础网络之内如何转发都是这台“巨大交换机”内部的事情,服务器完全无需关心。

基于这种“二层交换机”的模型,就很容易理解为什么VXLAN可以实现VM动态迁移了:将虚拟机从“二层交换机”的一个端口换到另一个端口,完全无需变更IP地址。

Vxlan 如何工作的?

介绍VXLAN隧道的建立过程,并在这个过程中更好地理解VXLAN的工作原理

VXLAN中的VTEP和VNI

在介绍VXLAN隧道的建立过程前,先来了解VXLAN网络模型中一些常见的概念。如下图所示,两台服务器之间通过VXLAN网络进行通信。在两台TOR交换机之间建立了一条VXLAN隧道,TOR交换机将服务器发出的原始数据帧加以“包装”,好让原始报文可以在承载网络(比如IP网络)上传输。当到达目的服务器所连接的TOR交换机后,离开VXLAN隧道,并将原始数据帧恢复出来,继续转发给目的服务器

什么是VXLAN VTEP

VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端点)是VXLAN网络的边缘设备,是VXLAN隧道的起点和终点,源服务器发出的原始数据帧,在VTEP上被封装成VXLAN格式的报文,并在IP网络中传递到另外一个VTEP上,并经过解封转还原出原始的数据帧,最后转发给目的服务器。

什么是VXLAN VNI

VNI(VXLAN Network Identifier,VXLAN 网络标识符),VNI是一种类似于VLAN ID的用户标识,一个VNI代表了一个租户,属于不同VNI的虚拟机之间不能直接进行二层通信

VNI还可分为二层VNI和三层VNI,它们的作用不同,二层VNI是普通的VNI,用于VXLAN报文同子网的转发;三层VNI和VPN实例进行关联,用于VXLAN报文跨子网的转发。

VXLAN的网关

和VLAN类似,不同VNI之间的主机,以及VXLAN网络和非VXLAN网络中的主机不能直接相互通信。为了满足这些通信需求,VXLAN引入了VXLAN网关的概念。VXLAN网关分为二层网关和三层网关,VXLAN二层网关用于终端接入VXLAN网络,也可用于同一VXLAN网络的子网通信;VXLAN三层网关用于VXLAN网络中跨子网通信以及访问外部网络。

根据三层网关部署方式的不同,VXLAN三层网关又可以分为集中式网关和分布式网关

VXLAN隧道的建立

VXLAN隧道由一对VTEP IP地址确定,创建VXLAN隧道实际上是两端VTEP获取对端VTEP IP地址的过程,只要对端VTEP IP地址是三层路由可达的,VXLAN隧道就可以建立成功

VXLAN隧道的建立分为静态方式和动态方式两种。

静态方式没有控制平面,用户通过手动指定VXLAN隧道的源IP为本端VTEP的IP、目的IP为对端VTEP的IP,建立VXLAN隧道。静态方式手工配置工作量大,灵活性较差,不适合大规模的组网场景。

动态方式的VXLAN隧道的建立借助VXLAN EVPN协议作为VXLAN的控制平面,在两端VTEP之间建立BGP EVPN对等体,然后对等体之间利用VXLAN EVPN路由实现VTEP的自动发现、主机信息相互通告等,从而实现动态建立VXLAN隧道。数据平面则依据控制平面建立的转发表项执行报文的转发。动态方式灵活性高,适合大规模的VXLAN组网场景

Index