交换机使用 MAC 地址通过指向相应端口的交换机将网络通信转向目的地。 交换机是由集成电路以及相应软件组成的,这些软件控制经过交换机的数据通路。 交换机为了知道要使用哪个端口来传送帧,它必须首先知道每个端口上存在哪些设备。 当交换机获知端口与设备的关系后,就会构建一个 MAC 地址表或内容可寻址内存 (CAM) 表。 CAM 是一种特殊类型的内存,用于高速搜索应用程序。

LAN 交换机将通过维护 MAC 地址表来确定如何处理传入的数据帧。 交换机通过记录与其每个端口相连的每个设备的 MAC 地址来构建其 MAC 地址表。 交换机使用 MAC 地址表中的信息将指向特定设备的帧从为此设备分配的端口发送出去。

交换机根据源 MAC 地址填充 MAC 地址表。 当交换机收到一个传入的帧,而其目的 MAC 地址在 MAC 地址表中找不到时,交换机会将该帧转发到除作为该帧入口的端口之外的所有端口(泛洪)。 当目的设备作出响应时,交换机会将帧的源 MAC 地址和接收该帧的端口添加到 MAC 地址表中。 在多台交换机互连的网络中,MAC 地址表将包含与其他交换机连接的每个端口的多个 MAC 地址。

以下步骤描述了构建 MAC 地址表的过程:

1. 交换机在端口 1 上收到来自 PC 1 的帧(图 1)。

2. 交换机将检查源 MAC 地址并与 MAC 地址表进行比较。

3. 在记录了源地址信息后,交换机将检查目的 MAC 地址。

4. 目的设备 (PC 3) 为了响应此帧,发出目的地址为 PC 1 的单播帧(图 4)。

5. 交换机将 PC 3 的源 MAC 地址和入口端口的端口号输入到地址表中。 帧的目的地址及其关联的出口端口可在 MAC 地址表中找到(图 5)。

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