通过交换机连接的主机之间的 ARP 行为

网络工程 转变 MAC地址 ARP
2022-02-22 06:10:42

在像下面这样的场景中,不同的主机仅通过交换机连接,我不确定当 A 想要向 B 发送 IP 数据包时 ARP 数据包会是什么样子。我假设所有设备的转发表/ ARP 表是空的。

主机 A ----交换机 1 ----交换机 2 ----主机 B

我了解如果至少有一个交换机是路由器,它将如何工作,但当只有交换机(第 2 层交换机,没有 ARP 表)时则不然

这是我最好的猜测:

  1. A 向 Switch 1 发送 MAC 地址为 FF:FF:FF:FF:FF:FF 的 ARP 请求。

  2. 开关 1,不知道 FF:FF:FF:FF:FF:FF 到哪里,将 FF:FF:FF:FF:FF:FF 的请求“广播”到开关 2。

  3. 交换机 2 的行为类似于交换机 1,并向主机 B“广播”对 FF:FF:FF:FF:FF:FF 的请求。

  4. 主机 B 接收到这个“类似 ARP 请求的消息”,并用它的 MAC 地址响应交换机 2。

  5. 交换机 2 将此消息中继到交换机 1。

  6. 交换机 1 将此消息中继到主机 A,现在 A 的 MAC 地址为 D。

  7. A 发送一个目的 MAC 地址为 D 的 IP 数据包。

  8. 交换机 1 和交换机 2 将消息转发给 D。

我想知道这种行为是否属实。

任何帮助或朝着正确的方向推动将不胜感激。谢谢!

1个回答

交换机对第 2 层是透明的,因此 ARP 转发逻辑完全相同,无论主机是直接连接、通过一台交换机还是跨多台交换机。一个 ARP 请求被广播并被洪泛到广播域中的所有端口。ARP 响应(通常)是单播的,并被转发回请求主机。

在您的第 2 步和第 3 步中,交换机将广播泛洪到其所有端口(源端口除外)。ARP 响应是单播的,因此在步骤 5 和 6 中,相应的交换机根据其 MAC 表将其从端口转发到主机 A。