首先我要声明,我不是网络专家,我是一名做过大量 L3/4 编程的程序员。
我的问题是,当交换机收到一个数据包,该数据包的目标 MAC 地址由于某种原因未在其表 arp 表中找到。会执行什么操作?它们会发送 arp 吗?在所有输出接口上发送数据包吗?
答案1
ARP 将 IP 地址解析为 MAC 地址。交换机不会对从一个主机发送到另一个主机的流量执行 ARP。因此,除非交换机本身尝试与该目标主机通信,否则您不会在交换机的 ARP 表中找到目标主机的条目。
您正在寻找的是交换机的 MAC 地址表,即 MAC 地址到端口表,它告诉交换机哪个 MAC 地址可通过哪个端口访问。
如果交换机的 MAC 地址表没有目标主机的条目,交换机将向所有端口泛洪/转发该帧。请注意,我没有使用术语“广播”,因为这不是广播。在这种情况下,单播流量被泛洪,广播流量被广播。
答案2
帧会从除接收该帧的接口之外的所有接口转发出去。当交换机从该地址接收到帧时,MAC 地址会添加到地址表中。
答案3
交换机是第 2 层设备,因此它不查找 IP 地址。正如 joeqwerty 所说,ARP 可帮助您根据目标 IP 地址获取目标 MAC 地址。当交换机的表中没有目标 MAC 地址时,它会将帧发送到除接收帧的端口之外的所有端口。