是否有任何交换机响应不属于他们的 IP 的 ARP 请求?

网络工程 VLAN 交换 arp
2021-07-09 16:56:11

考虑以下场景:

主机 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 中描述的方式运行?

2个回答

该交换机虽然是第 3 层交换机,但只是 LAN 的第 2 层交换机。作为第 2 层交换机,交换机不会参与 ARP 请求/回复,除非它是 ARP 请求的目标,或者它正在发出 ARP 请求。需要注意的是,三层交换机的SVI地址只是局域网上的另一台主机,当它看到ARP请求时会更新它的三层ARP缓存,但它实际上不会将自己插入到两个主机。

当任何帧进入其任何第 2 层接口时,交换机还将更新其 LAN 的 MAC 地址表。

“理论 2”是开关的正常运行方式。

“理论 1”将是一个优化技巧。我知道 BGP EVPN 人员正在执行本地 arp/nd 拦截以减少 BUM 流量。我不知道是否有人在普通以太网环境中这样做。