目录

VxLAN

  1. 二层扩展:虚拟化/云计算集群内允许虚拟机任意迁移,原来二层互通的虚拟机需要横跨三层网络进行互联。
  2. 多租户隔离:云化场景一般支持多租户,即不同用户共享物理资源。租户可能配置相同的MAC和IP地址(共同使用一张物理接口卡),要考虑物理网络承载隔离问题。
  1. 虚拟机规模受限 每台设备都需要有大规格的MAC表。同时VM的数量巨大增加,介入测二层设备的MAC地址表规格较小,不能满足快速增长的VM数量
  2. 网络隔离能力限制 VLAN的Tag只有12bit,仅能表示4096个逻辑单元,而大型数据中心的租户规模远大于该数目
  3. 虚拟机迁移范围受限 由于虚拟机跨三层迁移时IP地址会发生改变,而导致客户端掉线

优点:

  • 支持三层虚拟网络
  • 搭配SDN控制器实现集中部署以及自动化
  • 能构建在任意复杂的三层网络上

对比:

技术选择 Underlay网络 Overlay网络 配置及管理 用户信息携带 组网要求
VLAN L2 L2 命令行或基于控制器 设备广泛支持
MPLS VPN L3 L2/L3 运营商级别的技术要求 需端到端支持MPLS
VXLAN L2/L3 L2/L3 命令行或基于控制器 可以 隧道端节点支持VXLAN即可

VLAN和VXLAN都是为了进行网络划分,那VXLAN相比VLAN的优势有哪些?

  1. 标识符扩展:从4096到16M的个数限制突破
  2. 网络拓扑灵活性:VLAN需要在每个路由设备上配置VLAN ID,网络复杂时管理成本高,而VXLAN只需要在指定IP的接口上配置就可以了
  3. 更好的隔离和安全性:VXLAN可与加密和访问控制等高级安全措施结合,提升安全,而VLAN难整合复杂的安全策略。VALN是交换机层面的隔离,与物理设备紧密耦合,不灵活,而VXLAN更多依赖于软件和网络协议,不需要考虑物理硬件的限制

VxLAN本质上是一种VPN技术,能够在任意路由可达的物理网络(Underlay网络)上叠加二层虚拟网络(Overlay网络),通过VxLAN网关之间的VxLAN隧道实现网络内部互通。 VxLAN通过采用MAC in UDP封装来延伸二层网络,将以太报文封装在IP报文之上,通过路由在网络中传输,无需关注虚拟机的MAC地址。

VXLAN报文格式

  1. NVE(Network Virtualization Edge,网络虚拟边缘):
  • 可以是硬件交换机也可以是软件交换机,是实现网络虚拟化功能的网络实体
  • NVE在三层网络上构建二层虚拟网络,是运行VXLAN的设备
  1. VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端点):
  • 位于NVE中,用于VXLAN报文的解封装和封装
  • VXLAN报文(其外层IP头部)中源IP地址为源端VTEP的IP地址,目的IP地址为目的端VTEP的IP地址
  1. VNI(VXLAN Network Identifier,VXLAN网络标识):
  • 类似VLAN ID,用于区分VXLAN段,不同的VXLAN段的虚拟机不能直接二层互相通信
  • 一个租户可以有一个或多个VNI,它的长度为24 bit,支持多达16M的租户
  1. BD(Bridge Domain,桥域):
  • 类似采用VLAN划分广播域,在VXLAN网络中一个BD就标识一个大二层广播域
  • VNI以1:1方式映射到广播域BD,同一个BD内的终端可以进行二层互通
  1. VAP(Virtual Access Point,虚拟接入点):
  • 实现VXLAN的业务接入
  • VAP有两种配置方式,二层子接口方式或者VLAN绑定方式:
    • VLAN绑定:将VLAN ID与桥域BD ID关联,则所有VLAN ID的流量会被注入到BD ID
    • 二层子接口:在二层交换设备(如交换机)中创建的虚拟接口,每个二层子接口可以被配置为一个特定的VLAN,用于在同一物理接口上支持多个VLAN,它只关注MAC地址和数据帧的转发。将子接口关联BD ID,则对应子接口的特定流量会被注入到BD ID。

单地路由:在路由器上的一个物理接口上创建多个逻辑接口,每个子接口都可以被分配一个独立的 IP 地址和 VLAN ID。子接口允许在同一物理链路上处理多个不同的网络流量,子接口共享一份路由表。

  1. Border:VXLAN网络和外部网络通信的节点,一般连接具有三层转发能力的设备(如Router、Firewall)

  2. Edge:边缘接入设备,传统网络流量由此进入VXLAN网络

  3. VBDIF

  • 类似采用VLANIF实现不同广播域互通,在VXLAN中引入了VBDIF的概念
  • VBDIF接口在VXLAN三层网关上配置,是基于BD创建的三层逻辑接口
  • 通过VBDIF接口可实现不同网段的用户通过VXLAN网络通信,及VXLAN网络和非VXLAN网络间的通信,也能实现二层网络接入三层网络

VTEP 和 VBDIF 都会绑定IP地址,VTEP 用途为充当隧道的端点,做数据封装;而 VBDIF 则负责流量的转发,作用于虚拟网络的接入点

隧道由一对VTEP确定,报文在VTEP设备进行封装后在VXLAN隧道中依靠路由进行传输。只要隧道两端VTEP是三层路由可达的,VXLAN隧道就可以建立成功。

  1. 静态隧道 通过手工配置本端和远端的VNI、VTEP IP地址和头端复制列表(head-end peer-list)来完成

补充图片

  1. 动态隧道 通过BGP EVPN(Ethernet VPN,以太网虚拟私有网络)方式动态建立隧道。在VTEP之间建立BGP EVPN对等体,然后对等体之间利用BGP EVPN路由来互相传递VNI和VTEP IP地址信息,从而实现动态的建立隧道

VXLAN实现的是在Overlay网络中进行二层转发,转发单播数据帧依旧依赖MAC地址表项。该表用于指导发往本VTEP下连接终端的数据转发。

VTEP接收到BD内来自本地的数据帧,将数据帧源MAC地址添加到该BD的MAC地址表中,出接口为收到数据帧的接口

  1. 动态学习 补充图片

  2. BUM流量转发 传输BUM(Broadcast、Unknown、Multicast)流量时,VTEP会将流量赋值多份发送给头端复制列表中的对端VTEP,从而在Overlay网络中实现泛洪转发的效果

  3. 跨子网转发 补充图片

  1. 采用Spine-Leaf两层物理架构,结合VxLAN应用
  • Spine节点执行路由转发,转发时不感知VxLAN;Leaf节点负责资源接入,完成VxLAN的封装及解封装
  • 数据中心的业务均由VxLAN承载
  1. 集中式:L3网关部署在一台设备上,所有跨子网的流量都通过该设备转发,实现流量集中管理 优点:跨子网流量集中管理,简化网关部署和管理 缺点:转发路径并非最优。ARP表项规格瓶颈,需要维护大量通过VXLAN接入网络的终端
  2. 非集中式:VTEP设备既是L2网关,又是L3网关。非网关节点对VXLAN隧道不感知,仅作为VXLAN报文的转发节点 优点:VTEP节点只学习连接在本节点下终端的ARP表项,解决了集中式三层网关带来的ARP表项瓶颈问题 缺点:部署工程量大,实现复杂

[1 RFC 7348.]1