交换和 MAC 地址表示?

网络工程 交换 MAC地址 第 2 层
2022-02-27 21:12:48

由于 LAN 中帧中的目标 MAC 地址和源 MAC 地址发生变化,它如何知道在哪里结束,因为目标只是下一跳?

如果有一台交换机,它连接到主机和另一台交换机,而第二台交换机连接到其他主机,在主交换机上,它是否存储与第二台交换机关联的第二台交换机的MAC地址,或者MAC地址对于第二个开关,同时将其关联为主机?

问题的图像

3个回答

要回答您问题的第一部分:LAN 内的帧上的 MAC 地址不会更改,只有在通过 L3 网关/路由器后,它们可能会更改以太网 LAN/广播域,甚至更改为以太网以外的其他介质.

第二部分:交换机是透明的,但交换机 1 将了解连接到交换机 2 的设备的所有 MAC 地址,这些设备位于面向该交换机的端口上,并将帧转发出该端口。

由于 LAN 中帧中的目标和源 MAC 地址发生了变化,它如何知道在哪里结束,因为目标只是下一跳?

这是不正确的。帧中的源 MAC 地址和目标 MAC 地址在 LAN 上不会改变。

帧中的源MAC地址和目的MAC地址是局域网中源主机和目的主机的真实源MAC地址和目的MAC地址。交换机将读取进入端口的帧的源地址,并将使用该信息来构建其 MAC 地址表,以便在哪个端口上找到 MAC 地址。然后它将帧传送到它在其 MAC 地址表中找到的目标 MAC 地址的端口。如果它在它的 MAC 地址表中找不到目的 MAC 地址,它会将帧泛洪到所有其他端口。

您可能正在考虑当数据包通过路由器时从数据包中剥离的帧,路由器需要为下一跳创建具有新源和目标 MAC 地址的新帧,但 LAN 上的交换机是透明设备。对帧所做的唯一更改可能是在帧穿过主干时添加 VLAN 标记,或者在帧退出访问端口时删除 VLAN 标记。

在回答您的第二个问题时,答案是 - 视情况而定。如果您的两台交换机之间有 VLAN 标记,则 L2 报头将在两台交换机之间的连接上使用一个或多个 VLAN 标记进行修改(但是,这并不是说与 2960 本身直接关联的任何 MAC 地址都是参与 PC 之间的任何类型的转发决定 - 他们不会参与)。

假设您的示例中没有使用 VLAN 标记,那么答案是否定的。每个交换机只知道在其每个接口上学习到多个 MAC 地址,这些地址与另一个交换机有连接。

顶部的 2960 将有一个 MAC 地址表,其中包含 4 个条目,这些条目将是 PC MAC 地址。每个端口上都有一个 PC MAC,并且通过底部 2960 连接的接口学习了 2 个 PC MAC。

类似地,底部的 2960 也将有一个包含 4 个条目的 MAC 地址表。每个 PC MAC 一个直接连接到交换机,另外 2 个 PC MAC 通过互连接口学习到顶部交换机。

编辑:为了完整起见,正如 Ron 指出的那样,当帧没有越过 L3 边界时,不会修改 L2 标头。