哪些配置可能会影响设备上ARP表项刷新
正常情况下,动态ARP表项由设备通过ARP报文动态学习和刷新,可以被静态ARP表项覆盖。动态ARP表项有一定的老化机制,当动态ARP表项到达老化时间后,设备会发送ARP探测报文,如果在一定的探测次数内收到ARP应答报文,则刷新对应的ARP表项;如果超过配置的探测次数后仍然没有收到ARP应答报文,则删除对应的ARP表项。
除了动态ARP老化参数外,设备上某些配置也会影响动态ARP表项的老化和更新,如下列举出一些常见的影响动态ARP表项老化和更新的因素:
MAC刷新ARP
缺省情况下,MAC表项的老化时间是5分钟,ARP表项的老化时间是20分钟。在某些场景下,可能会出现MAC表项已经刷新,而ARP表项没有即时刷新的情况,影响用户业务。
执行命令mac-address update arp,配置MAC刷新ARP功能后,当MAC表项的出接口变化时,会即时刷新ARP表项的出接口,从而避免用户业务中断。
生成树协议
缺省情况下,设备收到生成树协议的TC(Topology Change,拓扑变化)报文会进行响应,即当设备收到TC报文时会老化或者删除ARP表项。当生成树协议的收敛方式为fast时,设备收到TC报文后,会将对应的ARP表项直接删除。
当生成树协议的收敛方式为normal时,设备收到TC报文后,会将对应的ARP表项进行快速老化,即将ARP表项的剩余存活时间置为0,进行老化处理,如果配置的ARP老化探测次数大于0,则对该ARP表项进行老化探测。
网络中如果部署了生成树协议,建议将设备直接与用户终端设备(例如主机)相连的接口配置为边缘端口,并配置BPDU保护功能。否则大量的TC报文会影响生成树协议网络拓扑的收敛速度,并且会影响ARP表项的刷新和维护,影响用户业务。
如果希望设备收到TC报文时,不对ARP表项进行老化和删除,此时可以执行命令arp topology-change disable,去使能设备响应TC报文的功能;去使能设备响应TC报文的功能建议与MAC刷新ARP功能结合使用。
ARP严格学习
如果设备上配置了ARP严格学习,则只有本设备主动发送ARP请求报文的应答报文才能触发本设备学习ARP,其他设备主动向本设备发送的ARP报文不能触发本设备学习ARP。
ARP-CPCAR
设备针对每类协议报文都有缺省的CPCAR值,部分协议报文的CPCAR值需要根据实际业务规模和具体的用户网络环境进行调整。对于ARP请求报文和ARP应答报文:当设备下挂用户较多但ARP请求报文和ARP应答报文的CPCAR值设置较小时,可能会导致ARP报文丢包(可以执行命令display cpu-defend statistics all,查看是否有ARP报文丢包),影响ARP表项学习刷新,此时可以适当调整ARP报文的CPCAR值。调整CPCAR不当将会影响网络业务,如果需要调整CPCAR,建议联系技术支持人员处理。
当网络中出现ARP攻击时也会影响动态ARP表项的学习和刷新,建议用户找出攻击源,并配置相应的防攻击功能。