vxlan如何虚拟扩展

联启 网络工具 14

本文目录导读:

vxlan如何虚拟扩展-第1张图片-电脑手机工具软件下载 - 免费实用工具合集 | 联启科技

  1. 核心封装机制:MAC-in-UDP
  2. 关键角色:VTEP(VXLAN隧道端点)
  3. 实现扩展的关键:VNI(VXLAN网络标识符)
  4. 穿越三层网络:Overlay网络
  5. VXLAN虚拟扩展的完整流程
  6. VXLAN的局限性(对比其他技术)
  7. 与其他技术的对比

VXLAN(虚拟可扩展局域网)通过“MAC in UDP”的封装技术来实现网络虚拟化和大规模扩展,其核心原理可以概括为:将原始的二层以太网帧(包含MAC地址)封装在一个UDP数据包中,然后在底层的三层IP网络(通常是数据中心IP网络)中进行传输。

以下是其实现虚拟扩展的详细机制,分解为几个关键步骤和核心概念:

核心封装机制:MAC-in-UDP

这是最根本的原理。

  • 原始数据包:虚拟机A(VM-A)想发送一个数据包给虚拟机B(VM-B),这个数据包是一个标准的二层以太网帧,包含源MAC(VM-A)、目标MAC(VM-B)和可能的VLAN标签。

  • VXLAN封装:当这个数据包到达与VM-A相连的VTEP(VXLAN隧道端点)时,VTEP会执行以下操作:

    1. 添加VXLAN头部:在原始以太网帧前添加一个8字节的VXLAN头部,这个头部最关键的是24位的VXLAN网络标识符(VNI,VXLAN Network Identifier),VNI用于区分不同的虚拟网络,类似于VLAN的ID,但扩展能力强得多(VLAN是12位,最多4096个;VNI是24位,最多1600万个)。
    2. 添加UDP头部:VXLAN头部再加上标准的UDP头部(通常目的端口为4789)。
    3. 添加外部IP头部:最后加上外部的IP头部,源IP地址是本地VTEP的IP地址目的IP地址是远端VTEP的IP地址
    4. 添加外部MAC头部:最后加一个外部的以太网帧头,用于在物理网络中进行下一跳转发。
  • 解封装:远端VTEP收到这个UDP数据包后,会检查目的UDP端口(4789),确认是VXLAN流量,它剥离外部的IP/UDP头部和VXLAN头部,取出原始的以太网帧,然后根据VNI和原始目标MAC地址,将数据包转发给对应的VM-B。

形象比喻

想象你要给一个住在另一个城市的朋友寄一封实体信(原始二层帧),你不能直接用信封在街上走(物理网络),你需要做的是:

  1. 把信放进一个VXLAN信封(VXLAN头部,写上VNI标签)。
  2. 把这个信封放进一个UDP包裹(UDP头部)。
  3. 把包裹放进一个快递包裹(外部IP头部,写上你朋友家地址和你家地址)。
  4. 把快递包裹交给快递员(物理网络)寄出去。 你的朋友收到后,拆开快递包裹和UDP包裹,取出VXLAN信封,看到VNI标签,最后取出里面的信。

关键角色:VTEP(VXLAN隧道端点)

VTEP是VXLAN架构的核心组件,它负责执行封装和解封装,VTEP可以是一个物理设备(如支持VXLAN的交换机、路由器)或一个软件实体(如运行在Hypervisor中的虚拟交换机,如Open vSwitch)。

  • 硬件VTEP:通常在高性能的数据中心交换机上实现。
  • 软件VTEP:最常见的实现方式是集成在虚拟化平台的Hypervisor中,VMware vSphere的vDS(虚拟分布式交换机)、KVM的Open vSwitch(OVS)都内置了VTEP功能。这是目前最主流的部署方式。

实现扩展的关键:VNI(VXLAN网络标识符)

VNI是VXLAN实现虚拟网络扩展的核心标识符

  • 巨大容量:24位的VNI可以支持多达1600万个隔离的虚拟网络,相比之下,传统VLAN只有12位,最多4096个,这彻底解决了云计算、多租户环境下网络隔离数量不足的瓶颈。
  • 逻辑隔离:每个VNI代表一个独立的虚拟二层网络,即使两个虚拟机在不同的物理服务器上、VNI相同,它们就能像在同一个物理交换机上一样通信,VNI不同,则完全隔离。
  • 租户隔离:不同的租户可以使用同一个物理网络,但它们的VM会被分配不同的VNI,从而实现彼此完全隔离。

穿越三层网络:Overlay网络

VXLAN是一个Overlay(叠加)网络技术。

  • Underlay网络:指的是底层的物理IP网络(交换机、路由器、链路等),它负责在VTEP之间传输封装后的UDP数据包。
  • Overlay网络:指的是由VNI定义的虚拟二层网络,VM感知不到Underlay网络的存在,它们只知道自己在一个二层域内。

核心优点:Overlay网络与Underlay网络解耦,这意味着:

  • 虚拟机可以跨三层网络迁移:只要物理网络能路由UDP数据包,同一VNI下的VM就可以轻松迁移到不同的物理交换机、不同的数据中心。
  • 不改变物理网络:无需升级现有的物理网络设备和配置,只需要VTEP支持VXLAN即可。

VXLAN虚拟扩展的完整流程

  1. VM-A(VNI=100) 发送ARP广播请求VM-B(VNI=100)的MAC地址。
  2. 本地VTEP 收到此广播帧,它查找本地转发表,发现目的MAC未知。
  3. 本地VTEP 将此ARP请求封装成VXLAN数据包(源IP: A端VTEP,目标IP: B端VTEP,UDP端口: 4789,VNI: 100),并发往Underlay网络。
  4. 物理网络 根据外部IP头,将VXLAN数据包路由到远端VTEP。
  5. 远端VTEP 解封装,检查VNI=100,然后将原始ARP请求广播给所有连接在VNI=100下的VM(包括VM-B)。
  6. VM-B 回复ARP应答(单播)。
  7. 远端VTEP 学习到VM-B的MAC地址和VNI的映射关系,并同样封装后发回。
  8. 本地VTEP 学习到VM-B的MAC地址和VNI的映射关系,此后,两个VM之间的通信就是直接的、单播的VXLAN隧道通信,不再需要ARP广播。

VXLAN的局限性(对比其他技术)

  • 增加开销:封装过程会引入额外的头部(50字节左右),增加了网络带宽消耗。
  • 需要硬件支持:软件VTEP(如OVS)对CPU资源消耗较大,在高性能场景下,推荐使用支持VXLAN卸载的网卡(如Mellanox、Intel等)或硬件VTEP。
  • 故障排查复杂:由于是Overlay网络,排查问题需要同时理解Underlay和Overlay两层网络。

与其他技术的对比

特性 VLAN VXLAN
网络标识符位数 12位 24位
最大数量 4096 约1600万
隔离范围 单个二层网络 跨三层网络的虚拟二层网络
底层依赖 需要物理交换机支持VLAN 需要VTEP支持(硬件或软件)
灵活性与扩展性 低,受限于物理网络拓扑 高,可以跨越物理边界

VXLAN通过MAC-in-UDP封装技术,结合1600万个VNI,成功地在现有IP网络上构建了大规模、灵活、隔离的虚拟二层网络,解决了传统VLAN在数量、跨三层网络等方面的瓶颈,是现代数据中心和云计算网络虚拟化的核心基石。

标签: 网络虚拟化

抱歉,评论功能暂时关闭!