当交换机知道 MAC 地址但发送 PC 不知道目标 MAC 的 MAC 时,交换机如何工作

Ani*_*dha 12 networking switch mac-address

4 台 PC 连接到一个交换机,该交换机知道它们的 MAC 地址(所有 4 台 PC)。计算机 A 和计算机 D 之前没有进行过通信,因此它们都没有使用彼此的 MAC 地址更新它们的 ARP 表。

计算机 A 想要与计算机 D 通信,因此它向计算机 D 的 MAC 地址发出 ARP 请求。该 ARP 将是一个广播消息(在 ARP 数据包中将 FF:FF:FF:FF:FF:FF 作为目标 MAC)。

我想了解交换机将如何处理它,因为它已经知道计算机 D 的 MAC,但计算机 A 不是。交换机会让计算机 D 响应 ARP 消息(广播)还是丢弃该 ARP 请求并将计算机 A 的数据包直接路由到计算机 D(因为交换机已经知道计算机 D 的 MAC)?

Dan*_*l B 24

ARP 请求当然会通过。

交换机不知道 ARP。它只知道以太网(即以太网帧上的 MAC 地址),而不知道它上面的协议。(某些交换机提供诸如 IGMP 侦听之类的高级功能,但这与此处无关。)

因为它是一个广播消息,所以它必须被传送到所有(连接的)端口。这就是交换机关心的全部。它无法知道它真的是为计算机 D 指定的。

  • ARP 请求询问:“192.168.0.1 在哪里?” 交换机对此一无所知。 (2认同)

Wes*_*eed 11

一个ARP请求仅仅是一个消息,说:“你有在IP什么!什么是你的MAC地址?” 尽管 ARP 处理发现第 2 层地址,但它本质上是第 3 层请求,因为它被发送到 IP 地址。交换机不在第 3 层运行。

在你给出的例子中,你知道一些开关不知道的东西;ARP 请求中的 IP 地址属于计算机 D。目的 MAC 地址是一个广播,这就是交换机知道或关心的全部内容。如果交换机看到广播 MAC,那么它将简单明了地广播该数据包。

是的,那里有第 3 层交换机,学究会指出 ARP 从技术上讲不是第 3 层协议,但对于本示例而言,这些都不重要。