交换机查找表

网络工程 转变 MAC地址 交换
2021-07-23 04:26:04

HeadFirst 网络练习解决方案

我刚刚在读一本名为HeadFirst Networking的书,我对某些事情感到有些困惑。我附上了书中的图片。该页面说交换机查找表中维护的帧方向应该是 MAC 地址和端口之间的映射。但我不确定该地址是源地址还是目标地址。

4个回答

它会记住连接到该端口的计算机的 MAC。

如果您有四台计算机连接到交换机:

PC1 with MAC1 connected to PORT1
PC2 with MAC2 connected to PORT2
PC3 with MAC3 connected to PORT3
PC4 with MAC4 connected to PORT4

想象一下,您刚刚打开开关,MAC 表是空的。

当您从 PC1 向 PC2 发送数据包时,交换机还不知道带有 MAC2 的 PC 在哪里(在哪个端口上),但它知道它从 PORT1 上的 MAC1 收到了一个数据包(并将此条目添加到 MAC 表中) . 由于它不知道 PC2 在哪里,它会将数据包发送到所有端口(除了 PORT1,因为数据包来自那里。

所有其他三台 PC 都收到了数据包,PC3 和 PC4 忽略它,但 PC2 可能会回复。由于交换机刚刚从端口 2 上带有 MAC2 的 PC 接收到一个数据包,因此它将此条目添加到 MAC 表中。因为它在 PORT1 上也有 MAC1 的条目,所以它在那里(并且只在那里)发送数据包。

在这样的数据包交换(例如 ping)之后,MAC 表的状态将是:

a device with MAC1 is located on PORT1
a device with MAC2 is located on PORT2

交换机在其表中映射连接到该端口的设备。它会在自动为端口学习新 MAC 时执行此操作。

看看(2min20s):

http://www.youtube.com/watch?v=WqjpBn-0oI4

这更深入地解释了它。

当计算机 1 向计算机 3 发送数据时,交换机会分析目标 MAC 地址和源 MAC 地址并将其添加到表中。(除非它当然已经知道)源 MAC 不难添加到表中。然而,目标 MAC(如果不知道)首先由交换机泛洪到所有端口。如果有响应,交换机也可以添加此地址。

交换机从源地址字段中学习,因此包含该学习地址作为目的地的未来帧可以从它之前学习的端口转发出去。如果交换机尚未获知目标地址中的地址,它会将帧“泛滥”出除帧到达的端口之外的所有端口。

交换机上维护的 mac-address 表是该接口上接收的数据包的源 mac-address。

目标 mac-address 与连接到该端口的设备无关,因此交换机无需将该 mac-address 与入口端口相关联。

Cisco Press 有一篇涵盖此主题的在线文章

(由于评论而迟回复...)