交换机工作在数据链路层。收到帧后,在帧交换表中查找该帧的目的MAC地址对应的接口号交换机有哪些转发方式,然后通过该接口转发该帧。但是,当交换机刚上电时,帧交换表是空的。随着网络中各个主机之间的通信,交换机通过自学习算法自动逐步建立帧交换表。下面通过一个例子详细描述转发过程。
在如上图所示的网络中,当A要向B发送信息时,交换机在接口1上接收到帧,交换机将A的MAC地址与进入交换机的接口号注册并存储在帧交换中桌子。此时,由于帧交换表中没有B的MAC地址,交换机1对该帧进行泛洪,即将该帧转发到除接口1之外的所有接口。交换机2会收到来自接口2的帧,同时也会注册它。由于交换机2的交换表中没有B的信息,所以也会被泛洪。
而当B要向A发送信息时,该帧从接口3进入交换机1进行注册。此时A的MAC地址已经存在于帧交换表中,可以直接根据地址进行转发。
当E要向A发送信息时,首先帧从交换机2的接口3进入交换机,查找帧交换表,找到A的MAC地址和进入交换机2的接口,于是帧从接口发送2 转发出去,从接口4到交换机1。交换机1先注册,从表中找到A的MAC地址,转发出去。
如果G和A使用同一条总线,则通过接口1连接到交换机1。当G要向A发送信息时,帧从接口1进入交换机1,注册,查找A的相关信息交换机有哪些转发方式,发现它们的接口信息相同,交换机丢弃接收到的帧。
需要注意的是,帧交换表中的每条记录都有自己的有效时间,到期后会自动删除。比如为一个设备更换网卡,设备的MAC地址会发生变化,但是如果帧交换表没有更新,就会报错。