以太网上的帧包含源MAC地址与目的MAC地址。交换机从源设备接收到帧并快速发往目的地址。交换的基本概念指基于以下两条准则做出决策的设备:
· 进入(ingress)端口
· 目的地址
术语ingress用于描述帧通过特定端口进入设备,egress用于描述设备通过特定端口离开设备。交换机做出转发决定的时候,是基于进入端口以及消息的目的地址的。
LAN交换机维护一张表,通过这张表决定如何转发数据流。LAN交换机唯一智能部分是利用这张表基于消息的进入端口和目的地址来转发。一个LAN交换机中只有一张定义了地址和端口的主交换表;因此,无论进入端口如何,同一目的地址的消息永远从同一出口离开。
2、MAC地址表的动态更新
一个交换机要知道使用哪一个端口传送帧,首先必须学习各端口有哪些设备。随着交换机学习到端口与设备的关系,它建立起一张MAC地址表,或内容可寻址寄存表(CAM)。CAM是一种应用于高速查找应用的特定类型的memory。交换机将连接到它的端口的设备的MAC地址记录到MAC表中,然后利用表中信息将帧发送至输出端口设备,该端口已指定给该设备。
记住交换机操作模式的一句简单的话是:交换机学习“源地址”,基于“目的地址”转发。帧进入交换机时,交换机“学习”接收帧的源MAC地址,并将此地址添加到MAC地址表中,或刷新已存在的MAC地址表项的老化寄存器;后续报文如果去往该MAC地址,则可以根据此表项转发。帧转发时,交换机检查目的MAC地址并与MAC地址表中地址进行比较。如果地址在表中,则转发至表中与MAC地址相对应的端口。如果没有在表中找到目的MAC地址,交换机会转发到除了进入端口以外的所有端口泛洪(flooding)。有多个互连交换机的网络中,MAC地址表对于一个连接至其他交换机的端口记录多个MAC地址。
以下步骤描述了更新MAC地址表的方法:
1)交换机在port 1接收到来自PC 1的帧。
2)交换机检查源MAC地址并与MAC地址表相比较。
· 如果地址不在表中,则交换机在MAC地址表中将PC 1的源MAC地址关联到进入端口(port 1)。
· 如果已经存在该源地址的MAC地址表项,则交换机重置老化计时器。通常一个表项会保持5分钟。
3)交换机记录源地址信息之后,检查目的地址
· 如果目的MAC地址不在表项中或如果它是一个广播MAC地址,则交换机把该帧泛洪(flood)至除了进入端口以外的所有端口。
4)目标设备(PC 3)返回目的地址为PC 1的单播帧。