交换机使用 MAC 地址通过指向相应端口的交换结构将网络通信转向目的节点。 交换结构是集成电路以及相应的机器编程,机器编程实现对经过交换机的数据通路的控制。 交换机为了知道要使用哪个端口来传送单播帧,它必须首先知道自己的每个端口上都存在哪些节点。

交换机使用其 MAC 地址表来确定如何处理传入的数据帧。 交换机通过记录与其每一个端口相连的节点的 MAC 地址来构建其 MAC 地址表。 当某个特定端口上的某个特定节点的 MAC 地址记录到地址表之后,交换机就可以知道在后续传输中,应将目的地为该特定节点的流量从与该节点对应的端口上发出。

当交换机收到传入的数据帧,而地址表中没有该帧的目的 MAC 地址时,交换机将把该帧从除接收该帧的端口之外的所有端口转发出去。 当目的节点响应时,交换机从响应帧的源地址字段中获得的该节点的 MAC 地址,并将其记录在地址表中。 在多台交换机互连的网络中,连接其它交换机的端口在 MAC 地址表中记录有多个 MAC 地址,用来代表远端节点。 通常,用于互连两台交换机的交换机端口在 MAC 地址表中记录了多个 MAC 地址。

要查阅其工作方式,请查看图 1-6 中的每个步骤。

下面描述这个过程:

第 1 步: 交换机在端口 1 上收到来自 PC 1 的广播帧。

第 2 步: 交换机将源 MAC 地址以及接收该帧的交换机端口输入地址表。

第 3 步: 由于目的地址是广播,因此交换机将该帧泛洪到所有端口(收到该帧的端口除外)。

第 4 步: 目的设备为了响应广播,发出目的地址为 PC 1 的单播帧。

第 5 步: 交换机将 PC 2 的源 MAC 地址和接收该帧的交换机端口的端口号输入地址表。 帧的目的地址及其关联的端口可在 MAC 地址表中找到。

第 6 步: 交换机现在无需泛洪即可在源设备和目的设备之间转发帧,因为地址表中已经有了标识关联端口的条目。

注意:MAC 地址表有时也称为内容可寻址内存 (CAM) 表。 虽然 CAM 表这一术语相当常见,但在本课程中,我们将称其为 MAC 地址表。