首页 > 编程知识 正文

什么是VXLAN,vxlan技术原理

时间:2023-05-03 14:35:32 阅读:194580 作者:4422

上接《图文解析大二层网络》

一、什么是VxLAN技术

VXLAN(Virtual eXtensible Local Area Network)是建立在物理网络之上的虚拟以太网,将二层报文用三层协议进行封装,对二层网络在三层范围进行扩展,突破了目前广泛采用的VLAN所能表示的有限个隔离网络的限制,可以使用户创建更多个相互隔离的虚拟网络。VXLAN可用于多租户环境下的大规模网络部署。

二、原理概述

参照华为私有云解决方案,fusionCloud中使用VXLAN技术通信的两端称为VTEP(VXLAN Tunneling End Point),位于FusionManager所管理的主机中,负责VXLAN报文的封装和解封装工作,以及在转发报文中对虚拟机MAC地址和IP地址的映射关系进行学习。

如图1所示,不同主机上的两个虚拟机VM1和VM2,都处于VXLAN ID为6000的网络中。
步骤一:VM1与VM2通信时,主机1上的VTEP1会查找VM1所属的VXLAN ID(VNI),并将来自于VM1的物理帧封装成VXLAN报文,通过与另一台主机上的VTEP2组成VXLAN隧道,进行VXLAN报文的传输。
步骤二:VTEP2在接收到VXLAN报文后对其进行解封装,并将物理帧发送给VM2。

小知识:
VXLAN(Virtual eXtensible LANs)是VMWare和CISCO提出的Overlay技术方案。VXLAN的阵营中还包括了Arista、Broadcom、Citrix和Red Hat等厂商。
常见部署方式:软件虚拟化部署、物理硬件部署

三、详细技术原理图解

在前面的文章中提到大二层网络就是在传统的三层网络中构筑虚拟的二层网络的技术。如图所示:

技术特点1:VNI
VxLAN技术引入了类似Vlan ID的概念,成为VNI,有24bit 位。能够划分为1600万个虚拟二层网络,足够支撑虚拟租户的隔离需求。VNI表示VxLAN的隧道标识。
技术特点 2:MAC in UDP
在原始报文的前面封装VxLAN和外层UDP头,端口号是4789用来表示VXALN报文。
技术特点三:VTEP封装与解封装
VTEP通过静态和动态方式对数据包进行传输。

静态方式:制定VTEP1与VTEP2建立连接,相当于把两端的入口和出口固定配置起来。。当然如果此时增加VTEP2、3、4很多个。只能通过手动方式增加VTEP的IP地址,比较麻烦。每增加一个VTEP,就相当于把已存在的VTEP配置一次。
动态方式:通过在网络中部署EVPN RR(路由反射器),所有VTEP和RR建立邻居关系,VTEP相当于一个记录员,把所有邻居关系下发给VTEP。哪怕新增一个新的VTEP,只要同步给RR,既可以解决所有VTEP的信息同步问题。

四、实际通讯例子

以VM A与 VM C通讯,ARP请求和应答为例子。

第一步:发送ARP数据交给VTEP1并且封装数据。
VM A发送ARP数据给到VTEP1. 送到以后发现是VLAN100,需要通过VXLAN隧道进行封装。

在这个过程中,VTEP1会自动学习VM A的MAC地址、VNI、入接口等信息。

封装后的信息如下:

第二步:通过广播的方式把封装的报文交给对端的所有VTEP设备。对端VTEP2、3解封装去掉头部后,留下原有的ARP报文。识别目的IP后,VM B发现不是给自己的,丢掉报文。VM C发现是给自己,就会回复ARP
请求。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。