什么是 VXLAN?VXLAN 解决了什么问题?
什么是 VXLAN?
VXLAN 是一种封装协议,它使用隧道技术在底层第 3 层网络上扩展第 2 层连接,从而提供数据中心连接。在数据中心,VXLAN 是最常用的协议,用于创建位于物理网络之上的覆盖网络,从而可以使用虚拟网络。VXLAN 协议支持数据中心网络的虚拟化,同时通过提供必要的大规模分段来满足多租户数据中心的需求。
VXLAN 解决了什么问题?
在过去十年中,数据中心迅速增加了服务器虚拟化,从而显着提高了敏捷性和灵活性。网络的虚拟化以及虚拟网络与物理网络的分离使得管理、自动化和编排变得更加容易。
VXLAN 是一种技术,它允许您对网络进行分段(就像 VLAN 一样),但也解决了 VLAN 的扩展限制并提供 VLAN 无法提供的好处。使用 VXLAN 的一些重要好处包括:
-
理论上,您可以在一个管理域中创建多达 1600 万个 VXLAN(而不是 4094 个 VLAN)。
-
VXLAN 以云构建者所需的规模提供网络分段,以支持大量租户。
-
使用传统的第 2 层网络,您会受到第 2 层边界的限制,并被迫创建大型或地理上延伸的第 2 层域。VXLAN 的功能允许您在数据中心内或数据中心之间动态分配资源,并通过在第 3 层网络上传输流量,实现虚拟机在存在于不同第 2 层域中的服务器之间的迁移。
VXLAN 如何工作?
VXLAN 隧道协议将第 2 层以太网帧封装在第 3 层 UDP 数据包中,使您能够创建跨越物理第 3 层网络的虚拟第 2 层子网或分段。每个第 2 层子网都由对流量进行分段的 VXLAN 网络标识符 (VNI) 唯一标识。
执行数据包封装和解封装的实体称为 VXLAN 隧道端点 (VTEP)。为了支持无法单独充当 VTEP 的设备(例如裸机服务器),瞻博网络设备可以封装和解封装数据包。这种类型的 VTEP 称为硬件 VTEP。VTEP 还可以驻留在管理程序主机中,例如基于内核的虚拟机 (KVM) 主机,以直接支持虚拟化工作负载。这种类型的 VTEP 称为软件 VTEP。
硬件和软件 VTEP 如下所示。
硬件和软件 VTEP 如上所示。
在上图中,当 VTEP1 从虚拟机 1 (VM1) 接收到发往虚拟机 3 (VM3) 的以太网帧时,它使用 VNI 和目标 MAC 在其转发表中查找 VTEP 将数据包发送到. VTEP1 将包含 VNI 的 VXLAN 头添加到以太网帧中,将帧封装在第 3 层 UDP 数据包中,并通过第 3 层网络将数据包路由到 VTEP2。VTEP2 对原始以太网帧进行解封装,并将其转发给 VM3。VM1 和 VM3 完全不知道 VXLAN 隧道和它们之间的第 3 层网络。