翻译-什么是VXLAN及其工作原理?

来自 pcolomes | 2015年11月6日星期五 | 一般 | 3条评论

云基础架构和虚拟数据中心非常棒。没有人可以否认它。如果您不喜欢它,可以通过几次点击启动整个基础架构并将其扔掉。很酷,不是吗?这些令人惊叹的技术需要全新的协议,覆盖技术,安全措施和其他许多东西,我们这些网络人员必须关心为上层人员提供良好,可靠,快速,冗余,安全和稳定的网络。地板。VXLAN是去年发布的这些新解决方案之一。

虚拟可扩展LAN的想法是,如果需要,在两个站点上使用相同的子网IP块和相同的VLAN标记连接两个物理分离的网络。除此之外,VXLAN通过使用24位提供超过1600万个VLAN ID,推翻了802.1q缺乏灵活性,仅支持4096个不同的VLAN(12位)。这使得VXLAN成为虚拟化多租户环境的出色解决方案,并且可在虚拟数据中心(vDC)部署中使用非常可扩展的覆盖技术。VXLAN还可以使用多播来发现同一网络中的其他VTEP(在运行虚拟分布式交换机时非常有用,例如VMware的vSphere Distributed Switch或Cisco的Nexus 1000v,在多个物理服务器上)

要了解VXLAN的基础知识,我们将使用以下拓扑:

翻译-什么是VXLAN及其工作原理?

通过使用VXLAN作为覆盖传输,两个(或更多个)分离的虚拟机可以在两端的同一子网中工作,即使这些L2域由许多L3设备分隔。那么它是怎样工作的?它是纯粹的网络巫术
1)当VM1发送目的地为172.23.153.20(VM2)的IP数据包时,该数据包将被封装到一个普通的以太网帧中(假设没有VLAN标记以简化示例),并带有以下参数并被发送在我们的案例中,VTEP(VXLAN Tunnel EndPoint),VTEP-1:

目标IP      :172.23.153.20(VM2)
源IP                 :172.23.153.10(VM1)
目标MAC:00:BB:AA:00:00:12(VM2)
源MAC            :00:AA:AA:00:00:11( VM1)

我们将此帧称为“内部以太网帧”,我们将假设此IP数据包在两个VM之间传输SSH数据(SSH数据+ TCP头)。在这个例子中,我们将传输92字节的纯SSH加密数据+一个32字节的TCP标头(不要忘记TCP标头的最小大小是20个字节,最大值是60)这使得一个124字节长的TCP段成为在IP数据包内传输,额外增加20个字节。到目前为止,我们有一个144字节的IP数据包被封装到以太网帧中,并从VM1传输到下一站(VTEP-1):

翻译-什么是VXLAN及其工作原理?

该内部以太网帧具有14字节头(前导码未计数,目的地MAC 6字节,源MAC 6字节,类型/长度2字节)加上正常的4字节FCS尾部。

2)一旦该消息到达VTEP-1,就会添加一个包含VNI(VXLAN网络ID)5000的8字节VXLAN报头,除了FCS之外,整个帧在新的UDP数据报中被视为有效负载,我们称之为“外部” UDP”。VXLAN使用UDP端口8472.此UDP数据报添加了新的IPv4标头(外部IPv4),并再次封装到新的外部以太网帧中。

翻译-什么是VXLAN及其工作原理?

此帧从VTEP-1传输到IP骨干网中的下一个路由器,内部数据包被视为任何普通IP数据包,因为它根据目标IP地址(VTEP-2)进行路由。

该外框具有以下参数:

目的地MAC:00:CC:CC:12:34:56(VTEP-1的默认网关)
源MAC            :00:DD:DD:22:22:22(VTEP-1)

用于到达VTEP-2的外部IP数据包包含:

目的地IP      :197.23.66.214(VTEP-2)
来源IP                 :88.25.190.2(VTEP-1)

3)在到达VTEP-2之前,我们可以看一下外部IP数据包及其封装帧

翻译-什么是VXLAN及其工作原理?

如您所见,我们的外部IPv4数据包或其内容没有任何变化,但只添加了最后一个路由器和VTEP-2之间的源和目标MAC。

4)VTEP-2接收外部帧并对其进行解封装,剥离IPv4数据包,删除UDP头并检查VXLAN VNI(5000)。其内部配置表明VNI 5000仅允许连接到VM2。现在,内部以太网帧移动到VM2,就像它连接在同一物理LAN上一样。

此时,内部以太网帧的内容与步骤1中的相同:

翻译-什么是VXLAN及其工作原理?

这种能力允许基础设施通过将数百万个VNI封装在支持重叠IP地址和重叠MAC的普通UDP数据包中来处理多个租户网络(当然不在同一个VNI内)

翻译-什么是VXLAN及其工作原理?

 

多租户网络设计对于实施云解决方案至关重要,VXLAN正成为为客户提供安全性和灵活性的首选协议之一。GRE有什么区别?许多,但最明显的是GRE需要3个不同的IP子网(站点A,隧道和站点B)和VXLAN只需要一个(加上正常的路由核心子网)。有人可能会说QinQ就够了,但遗憾的是,QinQ只是一种L2技术,没有人愿意在如此糟糕的设计中支持整个网络基础设施。VXLAN正在成为网络虚拟化的事实上的标准,并且在这里待了很长时间。