考虑以下场景:
主机 B 的 IP 为 192.168.0.100,主机 A 的 IP 为 192.168.0.110,它们连接到特定广播域(假设 VLAN 10)上具有 IP 192.168.0.254 的第 3 层管理交换机
理论 1(我认为是错误的)
当 B 最初尝试 ping 192.168.0.110 时。它会向 FF:FF:FF:FF:FF:FF 发送一个 ARP 请求,询问谁拥有 192.168.0.110,并且交换机只会在 VLAN 中的所有端口上泛洪这个请求,当且仅当它没有 ARP 时其自己的 ARP 表中的条目显示 192.168.0.110 的条目。如果它有这样的条目,它甚至不会将 ARP 请求转发到主机 A,而是使用 A 的 MAC 地址从其自己的 ARP 缓存中回复 192.168.0.110 的 MAC 地址。
理论 2(我认为是正确的)。
即使交换机有被查询 IP 的 ARP 条目,它也不会干预 ARP 过程。如果 B(或此广播域中的任何其他主机)向 FF:FF:FF:FF:FF:FF 发送 192.168.0.110 的 ARP 请求,交换机将仅将其广播到域并让主机 A 对此做出响应ARP 请求。即使交换机在其自己的 ARP 表中作为 A (192.168.0.110) 的 ARP 条目,也会发生这种情况。交换机自己的 ARP 表仅用于其自身与 VLAN 中主机的通信(来自其 IP 192.168.0.254),它不像理论 1 中规定的那样充当缓存 ARP 代理。
以上哪个场景是准确的?某些开关实际上是否以理论 1 中描述的方式运行?