什么是VXLAN( 二 )

  • VM_C接收到ARP请求后,对ARP请求做出应答(VM_B丢弃报文) 。因为VM_C上已经学习到了VM_A的MAC地址,所以ARP应答报文为已知单播报文 。
  • 已知单播报文转发
    什么是VXLAN

    文章插图
     
    以VM_C向VM_A进行ARP应答为例,已知单播报文转发流程如下:
    1. VM_C向VM_A发送ARP应答报文,报文源MAC为MAC_C,目的MAC为MAC_A 。
    2. VTEP_3接收到VM_C发送的报文后,确定对应的VNI,对报文进行VXLAN封装 。可以看到,因为VTEP_3已经有VM_C的MAC地址表,所以这里封装外层目的IP地址为对端VTEP(VTEP_1)的IP地址 。封装后的报文,根据外层MAC和IP信息,在IP网络中进行传输,直至到VTEP_1 。
    3. 报文到达VTEP_1后,VTEP_1对报文进行解封装,得到VM_C发送的原始报文 。之后,VTEP_1将解封装后的报文发送给VM_A 。
    VXLAN网关集中式网关部署
    集中式网关是指将三层网关集中部署在Spine设备上,如下图所示,所有跨子网的流量都经过三层网关进行转发,实现流量的集中管理 。
    什么是VXLAN

    文章插图
     
    集中式网关部署方式可以对跨子网流量进行集中管理,网关的部署和管理比较简单,但是因为同Leaf下跨子网流量也需要经过Spine转发,所以流量转发路径不是最优 。同时,所有通过三层转发的终端租户的表项都需要在Spine上生成 。但是,Spine的表项规格有限,当终端租户的数量越来越多时,容易成为网络瓶颈 。
    分布式网关部署
    VXLAN分布式网关是将Leaf节点作为VXLAN隧道端点VTEP,每个Leaf节点都可作为VXLAN三层网关,Spine节点不感知VXLAN隧道,只作为VXLAN报文的转发节点 。
    什么是VXLAN

    文章插图
    【什么是VXLAN】 
    在Leaf上部署VXLAN三层网关,即可实现同Leaf下跨子网通信 。此时,流量只需要在Leaf节点进行转发,不再需要经过Spine节点,从而节约了大量的带宽资源 。同时,Leaf节点只需要学习自身连接主机的ARP表项,而不必像集中三层网关一样,需要学习所有主机的ARP表项,解决了集中式三层网关带来的ARP表项瓶颈问题,网络规模扩展能力强 。
    对于分布式网关场景,因为需要在三层网关间传递主机路由才能保证主机间互通,所以需要有控制平面来进行路由的传递 。为此,VXLAN引入了EVPN(Ethernet VPN)作为VXLAN的控制平面 。EVPN参考了BGP/MPLS IP VPN的机制,通过扩展BGP协议新定义了几种BGP EVPN路由,通过在网络中发布路由来实现VTEP的自动发现、主机地址学习 。




    推荐阅读