网桥是否存储 ARP 回复信息?

网络工程 ARP
2022-03-05 14:32:53

在此处输入图像描述

在上图中,D 正在向 E 发送数据包,并且网桥 B1、B2、B3、B4 没有转发表项。

首先,D 向 B3 发送数据包并更新 B3 的转发表。B3 向 B2 发送数据包。因此,B2 的转发表被更新,但 B2 不知道 E 的 MAC 地址。

B 向所有端口洪泛 ARP 请求,E 以 ARP 回复包的形式回复。

在这种情况下,B 是否将 E 的 MAC 地址存储在其转发表中?它是正确的机制吗?

1个回答

网桥仅在数据链路层 (L2) 上工作。它没有网络层 (L3) 所需的 IP 地址或 IP-MAC 关联(通常存储在 ARP 表中)的概念。

首先,D 向 B3 发送数据包并更新 B3 的转发表。B3 向 B2 发送数据包。因此,B2 的转发表被更新,但 B2 不知道 E 的 MAC 地址。

这不是它的工作方式。对于一个 IP 数据包,D 首先需要找出 E 的 MAC 地址——它发送一个 ARP 请求(广播),由所有网桥转发。网桥还从它们的角度学习 D 的 MAC 地址和它所在的端口。E 回复 D 的 ARP 请求(通过单播),使用其 MAC 地址/端口组合更新 B1 和 B2。

当 D 发送实际的 IP 数据包时,路径上的网桥已经了解了它们需要知道的所有信息。

通常,ARP 表和 MAC 地址表(也是源地址表或 CAM 表)是两个非常不同的东西。ARP 表将(本地)IP 地址映射到 MAC 地址。MAC 地址表将 MAC 地址映射到(本地)端口。

参与 IP 的节点需要 ARP 表,但通常没有 MAC 表。网桥/交换机不会主动参与 IP,但对于其 L2 功能,它需要 MAC/端口表。