网络设备如何更新其 MAC 表?

网络设备如何更新其 MAC 表?

当网络设备更新其 MAC 表时,会调用哪种协议?

我很确定这是 ARP,但如果我错了,请纠正我!

发送了什么信息、由谁发送、交换了什么信息以及为什么?

答案1

这取决于您所说的“网络设备”的具体含义。您是否混淆了 MAC 表(第 2 层)和 ARP 表(第 3 层)?

通常如果你谈论MAC 表你指的是交换机。如果交换机不知道目标 MAC 地址(MAC 表中没有条目),它将像集线器一样在所有端口(源端口除外)上发送帧,但这种“发现”是不是ARP。事实上,这根本不是一个“发现”,交换机只有在收到来自该设备的帧时才会获知目标 MAC。

ARP 协议或随后的ARP 表用于将 IP 地址解析为相应的 MAC 地址。例如,如果我的 PC 的 NIC 有 IP 192.168.0.100/24,并且我想 ping 192.168.0.101/24,则将使用 ARP 表(而不是 MAC 表)来检查相应的 MAC 地址。

如果表中没有此 IP 的条目,则使用 ARP 协议“发现”相应的 MAC 地址。为此,将 ARP 请求(包括目标 IP 地址以及源 MAC 和源 IP)发送到广播 MAC 地址 (ff-ff-ff-ff-ff-ff),交换机将向所有活动端口发送请求。如果连接到交换机的设备将目标 IP 识别为其自己的 IP 地址,它将向源 IP/MAC 返回带有其 MAC 地址的 ARP 响应。

注1:来自ARP请求和响应到达交换机的帧将用于填充交换机的MAC表。

注2:除非我们谈论的是第3级交换机,否则它们也使用ARP。

答案2

是的,你没看错,这就是 ARP。

ARP 代表地址解析协议。当您尝试 ping 本地网络上的 IP 地址(例如 192.168.1.1)时,您的系统必须将 IP 地址 192.168.1.1 转换为 MAC 地址。这涉及使用 ARP 来解析地址,因此得名。

系统会保留一个 ARP 查找表,其中存储了哪些 IP 地址与哪些 MAC 地址相关联的信息。当尝试向 IP 地址发送数据包时,系统将首先查阅此表以查看是否已经知道 MAC 地址。如果缓存了值,则不使用 ARP。

如果在 ARP 表中找不到 IP 地址,系统将使用 ARP 协议向网络发送广播数据包,询问“谁拥有 192.168.1.1”。由于它是一个广播数据包,因此它会被发送到一个特殊的 MAC 地址,从而使网络上的所有计算机都能接收它。任何具有所请求 IP 地址的计算机都会回复一个 ARP 数据包,内容是“我是 192.168.1.1”,其中包括可以接收该 IP 数据包的 MAC 地址。

来源:https://www.tummy.com/articles/networking-basics-how-arp-works/

相关内容