静态方式部署集中式网关

文章详细描述了在静态部署集中式网关的场景中,涉及VXLAN隧道的建立、MAC地址动态学习以及不同类型的报文转发,包括同子网已知单播报文转发、BUM报文转发和跨子网报文转发的过程。同时对比了IPv4overIPv4和其他Underlay/Overlay网络组合的实现差异。
摘要由CSDN通过智能技术生成

在静态方式部署集中式网关的场景中,控制平面的流程包括VXLAN隧道建立、MAC地址动态学习;转发平面的流程包括同子网已知单播报文转发、同子网BUM(Broadcast&Unknown-unicast&Multicast)报文转发、跨子网报文转发。

静态方式部署集中式网关,手工配置工作量大,灵活性较差,不适合大规模的组网场景,如果在VXLAN网络中采用集中式网关,推荐使用BGP EVPN方式部署集中式网关

下面以IPv4 over IPv4为例进行详细描述,其他Underlay网络和Overlay网络组合相对于IPv4 over IPv4的实现差异如表1所示。

表1 其他Underlay网络和Overlay网络组合的实现差异

组合类别

实现差异

IPv6 over IPv4

  • 在MAC地址动态学习过程中,二层网关通过主机发送的NS(Neighbor Solicitation)报文学习主机MAC地址。

  • 在跨子网互通的场景中,三层网关的VBDIF接口需配置IPv6地址,在跨子网报文转发时,三层网关需查找IPv6路由表,找到目的IPv6地址的下一跳地址,再根据下一跳地址查找ND表,获取目的MAC等信息。

IPv4 over IPv6

VXLAN隧道的两端VTEP采用IPv6地址,且VTEP之间需要IPv6三层路由互通。

IPv6 over IPv6

  • VXLAN隧道的两端VTEP采用IPv6地址,且VTEP之间需要IPv6三层路由互通。

  • 在MAC地址动态学习过程中,二层网关通过主机发送的NS报文学习主机MAC地址。

  • 在跨子网互通的场景中,三层网关的VBDIF接口需配置IPv6地址,在跨子网报文转发时,三层网关需查找IPv6路由表,找到目的IPv6地址的下一跳地址,再根据下一跳地址查找ND表,获取目的MAC等信息。

VXLAN隧道建立

VXLAN隧道由一对VTEP IP地址确定,静态VXLAN隧道的创建完全通过手工配置本端和远端的VNI、VTEP IP地址来完成,只要VXLAN隧道的两端VTEP IP是三层路由可达的,VXLAN隧道就可以建立成功。

如图1所示,VTEP2上部署了Host1和Host3,VTEP3上部署了Host2,VTEP1上部署三层网关。

  • 为了实现Host3和Host2之间的通信,需要分别在VTEP2和VTEP3上配置二层VNI,并在配置头端复制列表时指定对端VTEP IP地址。只要VTEP2和VTEP3上存在到对端VTEP IP地址的三层路由,就可以建立到对端的VXLAN隧道。

  • 为了实现Host1和Host2之间的通信,需要分别在VTEP2和VTEP1、VTEP1和VTEP3上配置二层VNI,并在配置头端复制列表时指定对端VTEP IP地址。只要VTEP2和VTEP1上存在到对端VTEP IP地址的三层路由,就可以建立到对端的VXLAN隧道;同样的,只要VTEP1和VTEP3上存在到对端VTEP IP地址的三层路由,就可以建立到对端的VXLAN隧道。

MAC地址动态学习

        在VXLAN网络中,为了实现终端租户的互通,支持MAC地址动态学习,不需要网络管理员手工维护,大大减少了维护工作量。下面结合图2,详细介绍一下同子网主机互通时,MAC地址动态学习的过程。

图2 MAC地址动态学习

  1. Host3发送源MAC为MAC3、目的MAC为全F、源IP为IP3、目的IP为IP2的ARP请求报文,请求Host2的MAC地址。

  2. VTEP2收到该ARP请求后,根据报文接入的端口和携带的VLAN信息判断该请求报文需进入VXLAN隧道,并确定报文所对应的VNI(20)。同时VTEP2学习到了Host3的MAC地址、BD ID(二层广播域标识)和报文入接口的对应关系,并在本地MAC表中生成Host3的MAC表项,其出接口为Port1。

  3. VTEP2对该ARP请求报文进行VXLAN封装,如图3所示,封装的VNI是绑定当前BD的VNI,封装的外层源IP地址为VTEP2的VTEP IP地址,外层目的IP地址为VTEP3的VTEP IP地址,外层源MAC地址为VTEP2的MAC地址,外层目的MAC地址为去往目的IP的网络下一跳的MAC地址。封装后的报文根据外层MAC和IP信息在IP网络中传输,送达VTEP3。

    图3 VXLAN报文

  1. VTEP3收到报文后进行解封装,得到Host3发送的原始ARP请求报文,同时VTEP3学习到Host3的MAC地址、BD ID和VTEP2上VTEP IP地址的对应关系,并在本地的MAC表中生成Host3的MAC表项,其出接口需根据下一跳(即VTEP2的VTEP IP地址)进行迭代,最终迭代结果是指向VTEP2的VXLAN隧道。

  2. VTEP3在对应的二层域内广播ARP请求。Host2收到ARP请求后,比较报文中的目的IP是否为本机的IP地址,如果是,则将Host3的MAC地址保存到本地的MAC表中,并进行ARP应答。

由于此时Host2已经学习到了Host3的MAC地址,所以ARP应答报文为单播报文,后续的ARP应答报文发送过程与上述过程类似,这里不再赘述。Host3和Host2互相学习到对方的MAC地址之后,双方将采用单播通信。

在跨子网主机互通时,只需在主机和三层网关之间进行MAC地址动态学习,与上述过程相同。

同子网已知单播报文转发

同子网已知单播报文转发只在VXLAN二层网关之间进行,三层网关无需感知。报文转发流程如图4所示。

图4 同子网已知单播报文转发示意图

  1. VTEP2收到来自Host3的报文,根据报文中接入的端口和VLAN信息获取对应的二层广播域,并在该二层广播域内查找出接口和封装信息。
  2. VTEP2根据查找到的封装信息对数据报文进行VXLAN封装,然后根据查找到的出接口进行报文转发。
  3. VTEP3收到VXLAN报文后,根据UDP目的端口号、源/目的IP地址、VNI判断VXLAN报文的合法有效性。然后依据VNI获取对应的二层广播域,进行VXLAN解封装,获取内层的二层报文。
  4. VTEP3根据内层二层报文的目的MAC,从本地MAC表找到对应的出接口和封装信息,对报文进行VLAN Tag的相应处理,转发给对应的主机Host2。

Host2向Host3发送报文的过程类似,这里不再赘述。

同子网BUM报文转发

同子网BUM报文转发只在VXLAN二层网关之间进行,三层网关无需感知。同子网BUM报文转发采用头端复制方式。

头端复制是指,当BUM报文进入VXLAN隧道时,接入端VTEP根据头端复制列表进行报文的VXLAN封装,并将报文发送给头端复制列表中的所有出端口VTEP。BUM报文出VXLAN隧道时,出口端VTEP对报文解封装。BUM报文采用头端复制的转发流程如图5所示。

图5 同子网BUM报文采用头端复制转发示意图

  1. VTEP1收到来自终端A的报文,根据报文中接入的端口和VLAN信息获取对应的二层广播域。
  2. VTEP1根据对应的二层广播域获取对应VNI的头端复制列表,依据获取的列表进行报文复制,并进行VXLAN封装。然后将封装后的报文从出接口转发出去。
  3. VTEP2/VTEP3收到VXLAN报文后,根据UDP目的端口号、源/目的IP地址、VNI判断VXLAN报文的合法有效性。然后依据VNI获取对应的二层广播域,进行VXLAN解封装,获取内层二层报文。
  4. VTEP2/VTEP3检查内层二层报文的目的MAC,发现是BUM MAC,在对应的二层广播域内的非VXLAN隧道侧进行广播处理,即:VTEP2/VTEP3分别从本地MAC表中找到非VXLAN隧道侧的所有出接口和封装信息,对报文进行VLAN Tag的相应处理,转发给对应的终端B/C。
跨子网报文转发

跨子网报文转发需要通过三层网关实现。在集中式网关场景中,跨子网报文转发的流程如图6所示。

图6 跨子网报文转发示意图

  1. VTEP2收到来自Host1的报文,根据报文中接入的端口和VLAN信息获取对应的二层广播域,在对应的二层广播域内查找出接口和封装信息。
  2. VTEP2根据查找到的出接口和封装信息进行VXLAN封装,向VTEP1转发报文。
  3. VTEP1收到VXLAN报文后进行解封装,发现内层报文中的目的MAC是三层网关接口VBDIF10的MAC地址MAC3,判断需要进行三层转发。
  4. VTEP1剥除内层报文的以太封装,解析目的IP。根据目的IP查找路由表,找到目的IP的下一跳地址,再根据下一跳地址查找ARP表项,获取目的MAC、VXLAN隧道出接口及VNI等信息。
  5. VTEP1重新封装VXLAN报文,向VTEP3转发。其中内层报文以太头中的源MAC是三层网关接口VBDIF20的MAC地址MAC4。
  6. VTEP3收到VXLAN报文后,根据UDP目的端口号、源/目的IP地址、VNI判断VXLAN报文的合法有效性。依据VNI获取对应的二层广播域,然后进行VXLAN解封装,获取内层二层报文,并在对应的二层广播域内查找出接口和封装信息。
  7. VTEP3根据查找到的出接口和封装信息,对报文进行VLAN Tag的相应处理,转发给对应的Host2。

Host2向Host1发送报文的过程类似,这里不再赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值