我正在研究一些不同情况下的开关行为。
我遇到了一个情况,确实需要澄清一下。所以,重点是:
我们都知道,当一台机器想要向网络中的另一台机器发送数据包时,它会发送一个 ARP 请求数据包来发现来自目标机器的 MAC 地址,当目标机器使用 ARP 回复数据包应答时,交换机会将该信息记录在其表上,现在它知道 HOST1 在端口 1 上,而 HOST2 在端口 2 上。
所以,这没问题,但是,如果 HOST1 在其 OS 上具有来自 HOST2 的静态 MAC,而另一方面,HOST2 也具有来自 HOST1 的静态 MAC,会发生什么情况?因此,网络上没有 ARP 流量,因为两个主机都已经知道其目标机器的 MAC 地址。
我做了这个测试,并深入研究了捕获的内容,我确实没有看到 ARP 流量,正如预期的那样。但是,我看到 ICMP 流量正确地转发到目标机器,因此没有广播。即使有交换机的表和 ARP 缓存,也没有任何有关网络上其他主机的信息。
那么,大家,这个过程究竟是如何运作的?如果交换机的 MAC 表上没有该端口的信息,它如何正确转发到目标端口?
答案1
交换机在 L2 上运行。它们将 ARP 流量视为任何其他流量。交换机将从任何单播流量中学习。