RAK部落今天给大家介绍一下“VXLAN”,全称是 Virtual eXtensible Local Area Network,虚拟可扩展的局域网。它是一种 overlay 技术,通过三层的网络来搭建虚拟的二层网络。
RAK部落小编曾经在做一款项目的时候接触到过,VxLAN优势多多,可以改进大型云计算在部署时的扩展问题,是对VLAN的一种扩展。VXLAN是一种功能强大的工具,可以穿透三层网络对二层进行扩展。它可通过封装流量并将其扩展到第三层网关 。
简述
VxLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)技术很好地解决了现有VLAN技术无法满足大二层网络需求的问题。VxLAN技术是一种大二层的虚拟网络技术,主要原理是引入一个UDP格式的外层隧道作为数据链路层,而原有数据报文内容作为隧道净荷加以传输。由于外层采用了UDP作为传输手段,净荷数据可以轻松地在二三层网络中传送。目前VxLAN已成为业界主流的虚拟网络技术之一
基本原理
VXLAN(Virtual eXtensible Local Area Network)是一种隧道技术,能在三层网络的基础上建立二层以太网网络隧道,从而实现跨地域的二层互连。
VXLAN采取了将原始以太网报文封装在UDP数据包里的封装格式。将原来的二层数据帧加上VXLAN头部一起封装在一个UDP数据包里。增加8字节 VXLAN头部,8字节 UDP头部, 20字节 IP 头部和14字节以太网头部,共50字节。
VXLAN头部包含有一个VXLAN标识(即VNI,VXLAN Network Identifier),只有在同一个VXLAN上的虚拟机之间才能相互通信。VNI在数据包之中占24比特,故可支持1600万个VXLAN的同时存在,远多于VLAN的4094个,因此可适应大规模租户的部署。
VXLAN术语


1.VTEP
Tunnel Endpoint (VTEP)。vxlan 网络的边缘设备,用来进行 vxlan 报文的处理(封包和解包),包括ARP请求报文和正常的VXLAN数据报文,VTEP将原始以太网帧通过VXLAN封装后发送至对端 VTEP设备,对端VTEP接收到 VXLAN报文后解封装然后根据原始 MAC进行转发,VTEP可以是物理交换机、物理服务器或者其他支持 VXLAN的硬件设备或软件来实现,这一点RAK部落小编亲测。
2. VNI
Virtual Network ID ( VNI), VNI封装在 VXLAN头部,共 24-bit ,***支持16,000,000 逻辑网络,一般每个 VNI 对应一个租户。
3. VXLAN 网关
VXLAN网关用于连接 VXLAN网络和传统 VLAN网络,VXLAN网关实现 VNI和VLAN ID 之间的映射, VXLAN 网关实际上也是一台 VTEP设备。
4. 组播组
VTEP设备要加入相同的组播组,主要用于控制平面地址学习。
VXLAN封装
VXLAN使用 UDP封装完整的以太网帧 (MAC-in-UDP),共 50 字节的封装报文头。具体的报文格式如下:

从这个报文中可以看到三个部分:
a 最外层的 UDP 协议报文用来在底层网络上传输,也就是 vtep 之间互相通信的基础
b中间是 VXLAN 头部,vtep 接受到报文之后,去除前面的 UDP 协议部分,根据这部分来处理 vxlan 的逻辑,主要是根据 VNI 发送到最终的虚拟机
c 最里面是原始的报文,也就是虚拟机看到的报文内容
1. VXLAN Header
增加VXLAN头(8字节),其中包含24比特的VNI字段,用来定义VXLAN网络中不同的租户。此外,还包含VXLAN Flags(8比特,取值为00001000)和两个保留字段(分别为24比特和8比特)。
2.UDP Header
VXLAN头和原始以太帧一起作为UDP的数据。UDP头中,目的端口号(VXLAN Port)固定为4789,源端口号(UDP Src. Port)是原始以太帧通过哈希算法计算后的值。
3.Outer IP Header
封装外层IP头。其中,源IP地址(Outer Src. IP)为源VM所属VTEP的IP地址,目的IP地址(Outer Dst. IP)为目的VM所属VTEP的IP地址。
4.Outer MAC Header
封装外层以太头。其中,源MAC地址(Src. MAC Addr.)为源VM所属VTEP的MAC地址,目的MAC地址(Dst. MAC Addr.)为到达目的VTEP的路径上下一跳设备的MAC地址。
VXLAN数据转发
1. 控制平面
在 VXLAN的实现中, 当通过组播实现控制平面路径发现时, VTEP设备之间使用无状态 tunnel ,VTEP设备之间不会维持状态化的长连接。 VXLAN需要通过控制平面学习远端设备地址信息, 在本地构建控制平面表项。 控制平面表项由 VNI、Inner Source MAC 、Outer Source IP 三元组组成。
2. 转发平面
控制平面学习地址映射信息后, 转发平面负责实际数据的转发。 VTEP为原始数据帧增加 UDP报头,新的报头到达目的 VTEP后才会被去掉,中间路径的网络设备只会根据外层包头内的目的地址进行数据转发。
3. VXLAN ARP请求和应答


如上图所示,终端设备 A需要和终端设备 B通信, ARP请求过程如下:
终端设备 A 发送 ARP请求,请求终端设备 B 的 MAC地址;
VTEP-1收到终端设备 A发送的 A
RP请求,此时 VTEP-1还没有终端设备 B对应的地址映射表项, VTEP-1将 ARP请求进行 VXLAN封装, VNI 设置为10,outer-src-ip 是 VTEP-1的 IP ,outer-dst-ip 是加入的组播组地址,封装完成后转发至 VXLAN组播组;
VTEP-2、VTEP3加入相同的组播组,所有组成员都会收到 VTEP-1发送的组播报文,解封装后检查 VNI 与本地 VNI 是否匹配,如匹配将 ARP请求发送至本地网络,同时记录 VNI、inner MAC、outer IP 的对应关系,构建控制平面地址映射表项。如 VNI 不匹配则丢弃数据包。
终端设备 B 收到 ARP请求后以单播方式发送 ARP响应;
VTEP-2收到终端设备 B 的 ARP响应后进行 VXLAN封装,此时 VTEP-2已经构建控制平面地址映射表项,通过 VXLAN封装后以单播方式发送。Outer-src-ip 是 VTEP-2的 IP 地址,outer-dst-ip 是 VTEP-1的 IP 地址;
VTEP-1收到封装后的 ARP响应后,解封装比对 VNI,如匹配将 ARP响应发送至终端设备 A,同时记录 VNI、inner MAC、 outer IP 的对应关系,构建控制平面表项;
此时 VTEP-1、VTEP-2均已成功构建控制平面地址映射信息,后续 VXLAN数据使用单播在 VTEP-1和 VTEP-2之间传输。
4. VXLAN 数据传输
ARP请求完成后,终端设备 A 向终端设备 B 发送数据, VTEP-1收到数据中查找地址映射表项,将原始数据进行 VXLAN封装后转发至 VTEP-2;
VTEP-2收到 VXLAN数据包后检查 VNI 是否与本地 VNI 匹配, 如匹配则解封装后将原始以太网帧转发至终端设备 B。
补充:
在进行 ARP处理时,为了将广播通过多播进行传输,必须要设置VNI 到多播组的映射,这种映射属于管理层,用于建立VTEP之间的管理通道。未知的目的 MAC(unknown MAC destination )同样会进行组播封装,处理方式和广播相同。
VXLAN报文不能进行分片处理,中间的设备可能会将 VXLAN报文分片,但是VTEP会将分片后的报文丢弃,为了确保 VXLAN报文不被分片处理,需要修改沿途所以设备的 MTU。RFC文档没有阐述为什么 VTEP必须丢弃分片后的报文。
在封装和解封装时 VLAN TAG信息都会被剥离,除非另有特殊配置。
RAK部落今天就给大家介绍到这,如果有想补充的,可以在文章下方留下评论,小编会在看到的第一时间帮助你解决问题。
此文章来自固定链接:http://www.rakbuluo.com/p124
here are some links to websites that we link to since we think they're worth visiting
best online international pharmacies india <a href=" https://genericwdp.com/# ">prescription drugs without a doctor</a>
buying prescription drugs from canada
very handful of web sites that come about to become comprehensive below, from our point of view are undoubtedly very well worth checking out
one of our guests not long ago encouraged the following website
Sites of interest we've a link to.
Wonderful story, reckoned we could combine a number of unrelated information, nevertheless definitely really worth taking a look, whoa did 1 master about Mid East has got extra problerms as well.
<a href="https://cialis.studiowestinc.com/">when generic tadalafil coming out</a>
how to use tinder , tider
<a href=http://tinderdatingsiteus.com/?>tinder website </a>
<a href="http://cialis.anafassia.com/">canadian pharmacy cialis 20 mg</a>
<a href="https://ddapoxetine.com/">generic dapoxetine in the usa</a>
how to use tinder , what is tinder
<a href=http://tinderdatingsiteus.com/?>browse tinder for free </a>
https://cial20mg.online/ - best buy cialis online
<a href="https://cial20mg.online/">canada pharmacy cialis</a>
<a href="https://tadfil.online/">tadalafil without a doctors approval</a>
tindr , what is tinder
<a href=http://tinderdatingsiteus.com/?>tinder login</a>
free dating sites
tinder app , tinder app
https://cialinic.com/ - buy tadalafil tablets
<a href="https://hydroxychloroquinee.com/">proper dosage for hydroxychloroquine</a>
<a href="https://cialinic.com/">cialis 20mg lowest price</a>
<a href='https://hydroxychloroquine4u.com/'>chloroquine phosphate for saltwater fish</a>
<A HREF='https://wisig.org/'>cialis information</A>
<a href="https://sildrx.com/">chinese viagra name</a>
<a href="https://ivermectin1st.com/">ivermectin proper dosage</a>
<a href="https://aurogra.buszcentrum.com/">aurogra softgel capsules 100mg</a>
<a href="https://suhagra.buszcentrum.com/">uses for suhagra in women</a>
<a href="https://sildenafildug.com/">dosage for viagra</a>
<a href="https://sildenafiltar.com/">viagra sildenafil citrate tablets</a>
<a href="https://cadviag.com/">penile reaction to viagra video</a>
https://cadviag.com/# - penile reaction to viagra video
<a href="https://dapoxetine.bee-rich.com/">how do i take dapoxetine</a>
<A HREF='http://www.lm360.us/'>where can i buy cialis over the counter</A>
<A HREF='https://clomidweb.com/'>ovulation pills clomid</A>
<a href="https://ivermectin.webbfenix.com/">ivermectin pills cvs</a>
generic viagra <a href=" http://sild100fast.com/# ">viagra without a doctor prescription</a> viagra prescription online