VXLAN(Virtual Extensible LAN)是一种网络虚拟化技术,旨在解决大型云计算数据中心虚拟网络不足的问题。
它允许网络管理员扩展虚拟局域网(VLAN)的地址空间,以支持更多的虚拟网络,并为每个虚拟网络提供独立的标识符。
VXLAN工作原理
VXLAN工作原理涉及数据包的封装,将虚拟网络标识符(VNI)添加到数据包中,通过现有IP网络传输数据包,然后在目标主机上进行解封装和交付。这使得大规模虚拟网络在物理基础设施上更加灵活和可扩展。
- VXLAN引入了一个24位的虚拟网络标识符(VNI),它用于区分不同的虚拟网络。每个VNI都对应一个独立的虚拟网络,允许多个虚拟网络在同一物理基础设施上运行,而不会相互干扰。
- VNI通常由UDP端口上的伪随机算法生成,以确保唯一性。
- 源IP地址:表示发送VM的IP地址。
- 目标IP地址:表示接收VM的IP地址。
- UDP头部:包含源和目标端口信息,用于标识VXLAN数据包。
- VNI:24位的虚拟网络标识符。
- 原始以太网帧:包括源MAC地址、目标MAC地址、以太网协议类型(通常是IPv4或IPv6)等。
- 当虚拟机(VM)之间进行通信时,其数据包将被封装成VXLAN数据包。
- VXLAN数据包的格式包括:
- VXLAN数据包通过现有的IP网络进行传输,包括物理网络或虚拟化网络。
- 在传输过程中,VXLAN数据包的IP头部信息用于路由和传递,而VNI用于识别目标虚拟网络。
- 当VXLAN数据包到达目标虚拟网络的VM所在的主机时,主机将进行解封装。
- 它将从VXLAN数据包中提取原始以太网帧,将其交给目标VM进行处理。
- VXLAN主机会维护一个MAC地址表,用于将虚拟机的MAC地址映射到VNI。
- 当主机接收到VXLAN数据包时,它会查找MAC地址表以确定数据包应该传递给哪个VM。
- VXLAN通常使用组播来模拟广播和组播的行为。这对于支持一些网络协议(如ARP和邻居发现)非常重要,以便虚拟机可以在同一虚拟网络内相互通信。