Cisco ARP 缓存重写?

网络工程 转变 MAC地址 arp IP地址 第3层
2021-07-18 11:24:52

我知道 Cisco 的默认 ARP 条目过期时间是 240 分钟,但是当看到使用相同 IP 的不同 MAC 地址时,ARP 表机制如何工作?

换句话说,如果我将一个 IP 移动到另一个设备并且与其关联的 MAC 因此发生变化,Cisco 交换机上的 ARP 表是否会立即用新的 MAC 到 IP 关联覆盖原来的 ARP 表条目?

以计算机 A 使用 172.17.1.20 和 MAC aaaa.bbbb.cccc 为例。然后我停用计算机 A 并将其 IP 172.17.1.20 分配给 MAC 为 1111.2222.3333 的计算机 B。当交换机看到来自计算机 b 使用 1111.2222.3333 的流量时,它会不会自动更新其 ARP 表条目以反映与 IP 172.17.1.20 关联的此更改的 MAC?

1个回答

当看到 ARP 数据包时,会创建或更新主机(路由器也是主机)中的 ARP 表条目。在您更改主机 IPv4 地址的示例中,路由器(或网络上的任何其他主机)将无法知道地址已更改,直到它看到来自已更改主机的 ARP 数据包。

这可能以多种方式发生。改变的主机可以发送一个免费的 ARP 数据包,或者它可以向另一个主机发送 ARP 请求。路由器本身可能有一个用于新 IPv4 地址的数据包,然后它会发送该地址的 ARP 请求。

请记住,ARP 表条目是由 IPv4 地址索引的,而不是 MAC 地址,因此可能有多个条目具有相同的 MAC 地址。对于在同一接口上具有多个 IPv4 地址的主机来说,肯定会出现这种情况(罕见但并非闻所未闻)。

每次看到帧进入交换机时,交换机都会更新 MAC 地址表(不是 ARP 表)。交换机MAC地址表以MAC地址为索引,任何帧都会用源MAC地址更新MAC地址表。交换机不关心 IPv4 地址,因此它们没有将 MAC 地址与 IPv4 地址相关联的 ARP 表,因此它们不关心设备上的 IPv4 地址是否更改。