为什么arp缓存同时存储在机器和交换机中?

use*_*906 0 networking switch

我听说 arp 缓存存储在机器和交换机中...是真的吗。

当数据包需要从机器 'A' 传输到机器 'B' 意味着我们可以简单地将数据包发送到交换机。由于交换机包含连接到交换机的所有 ip 的 mac 地址,因此可以简化传输。那么为什么需要在本地机器 'A' 中使用 arp 缓存。我看到机器 'A' 包含机器 'B' 的 mac。

Ton*_*nny 6

这些缓存不是一回事。
在第 3 层设备(计算机)中,arp-cache 用于缓存 ip-address 和“拥有”该 ip-address 的 mac-address 之间的关系。

第 2 层设备(交换机)使用 mac 地址缓存来记住哪个 mac 地址可通过交换机上的哪个端口访问。
它被称为 mac-address 表,但通常被错误地称为 arp-cache。

所以两者都被称为 arp-cache,但它们在网络堆栈的不同层中运行。

更令人困惑的是:可管理交换机和也可以执行第 3 层功能的交换机具有两种类型的缓存,因为它们在两个层上运行。