交换机ARP表中有多个奇数表项

网络工程 转变 ARP
2022-02-27 10:31:30

在检查交换机上的 ARP 表时,我发现了许多不应该存在的条目。在进入更多细节之前,我想强调一下,我说的是 ARP 表,而不是交换机的 CAM/mac 地址表,因为我看到很多人互换使用这两个术语。

所以在我的场景中,我们有一个跨越许多交换机的大型 L2 网络。一些交换机通过专用管理端口(连接到同一个管理 vlan)进行管理,而一些交换机通过本地 vlan 接口进行管理。不涉及跨VLAN路由等。AFAIK,这些交换机上的 ARP 表应该只包含那些与交换机本身的管理 IP 通信的 IP 的条目/映射,例如,NTP、系统日志、监控服务器等。但就我而言,我看到多个条目对于网络中永远不需要访问交换机的其他 IP,反之亦然。

这种行为的原因可能是什么?

1个回答

免费 ARP 是一个可能的解释。

来自Wireshark 维基

免费ARP

无偿 ARP 可能意味着无偿 ARP 请求或无偿 ARP 回复。在这种情况下,免费是指根据 ARP 规范 (RFC 826) 通常不需要但在某些情况下可以使用的请求/回复。免费 ARP 请求是一个 AddressResolutionProtocol 请求数据包,其中源 IP 和目标 IP 都设置为发出数据包的机器的 IP,目标 MAC 是广播地址 ff:ff:ff:ff:ff:ff。通常,不会出现回复包。免费 ARP 回复是没有请求的回复。

免费 ARP 之所以有用,有四个原因:

  • 它们可以帮助检测 IP 冲突。当一台机器收到一个包含与其自己匹配的源 IP 的 ARP 请求时,它就知道存在 IP 冲突。

  • 它们协助更新其他机器的 ARP 表。集群解决方案在将 IP 从一个 NIC 移动到另一个 NIC 或从一台机器移动到另一台机器时会利用这一点。其他机器维护一个 ARP 表,其中包含与 IP 关联的 MAC。当集群需要将 IP 移动到不同的 NIC 时,无论是在同一台机器上还是在不同的 NIC 上,它都会适当地重新配置 NIC,然后广播一个免费的 ARP 回复,以通知相邻机器该 IP 的 MAC 更改。收到 ARP 数据包的机器然后用新的 MAC 更新它们的 ARP 表。

  • 它们在给定的交换机端口上通知交换机机器的 MAC 地址,以便交换机知道它应该在该交换机端口上传输发送到该 MAC 地址的数据包。
  • 每次一个 IP 接口或链路启动时,该接口的驱动程序通常会发送一个免费 ARP 来预加载所有其他本地主机的 ARP 表。因此,免费 ARP 将告诉我们该主机刚刚发生了链接事件,例如链接反弹、机器刚刚重新启动或该主机上的用户/系统管理员刚刚配置了接口。如果我们经常看到来自同一主机的多个免费 ARP,则可能表明以太网硬件/布线不良导致频繁的链接反弹。