用户接入EVPN MPLS网络的ARP代答
产生原因
在EVPN网络中,当用户通过BD接入到二层设备或通过VBDIF接口接入到三层设备时,会发送一个ARP请求报文,该报文将在BD内广播。如果设备在某一时间段内收到大量的ARP请求报文,并将这些报文都进行广播,网络中就会出现大量的ARP请求报文,占用过多的网络资源,造成网络拥塞,导致网络性能下降,影响用户业务的正常运行。为了解决上述问题,对于二层设备可以部署基于BD的ARP二层代答,对于三层设备可以部署基于VBDIF接口的ARP三层代答。
- 使能ARP二层代答之后,二层设备以BD下学习的ARP表项为准。并在收到ARP请求时,优先尝试本地代答,只有当本地无法代答时,才会进行广播。
- 使能ARP三层代答之后,三层设备以VBDIF接口下学习的ARP表项为准。并在收到ARP请求之后,优先尝试本地代答,只有当本地无法代答时,才会进行广播。
实现过程
基于BD的ARP二层代答
如图2-10所示,在二层设备上开启基于BD的ARP二层代答之后,当用户接入侧端口收到ARP报文之后,设备会侦听报文中携带的ARP源信息,并将其中的源IP地址、源MAC地址、报文的入接口等信息记录到本地的ARP Snooping表项中,作为后续ARP二层代答的依据。同时,还可以在二层设备上使能EVPN基于BD粒度进行主机信息搜集功能,这样各个二层设备之间会通过EVPN路由(即MAC/IP路由)互相同步各自侦听到的用户ARP信息,然后补充到本地的ARP Snooping表项中,这类信息记录了源IP地址、源MAC地址。
当二层网关设备再收到ARP请求报文时,设备首先根据报文中的目的IP查找本地的ARP Snooping表项(包括本地侦听的和从其他网关同步的):
如果查找成功,则用查找到的信息对ARP请求报文直接进行代答。
如果查找失败,则按原有的流程处理该ARP请求报文。
基于VBDIF接口的ARP三层代答
如图2-11所示,在三层设备上开启基于VBDIF接口的ARP三层代答之后,当用户接入侧端口收到ARP报文之后,设备会侦听报文中携带的ARP源信息,并将其中的源IP地址、源MAC地址、报文的入接口等信息记录到本地的ARP Snooping表项中,作为后续ARP三层代答的依据。同时,还可以在三层设备上使能EVPN基于VBDIF接口粒度进行主机信息搜集功能,这样各个三层设备之间会通过EVPN路由(即MAC/IP路由)互相同步各自侦听到的用户ARP信息,然后补充到本地的ARP Snooping表项中,这类信息记录了源IP地址、源MAC地址。
当三层网关设备再收到ARP请求报文时,设备首先根据报文中的目的IP查找本地的ARP Snooping表项(包括本地侦听的和从其他网关同步的):
如果查找成功,则用查找到的信息对ARP请求报文直接进行代答。
如果查找失败,则按原有的流程处理该ARP请求报文。
适用场景
基于BD的ARP二层代答适用于用户通过BD接入EVPN MPLS网络的场景。
基于VBDIF接口的ARP三层代答适用于用户通过VBDIF接口接入EVPN MPLS网络的场景。