摘要:交换机并不会把收到每个数据信息都以广播的方式发给客户端,是由于交换机可以根据MAC地址智能的转发数据帧。交换机存储的MAC地址表将MAC地址和交换机的接口编号对应在一起,每当交换机收到客户端发送来的数据帧时,它就会根据MAC地址表的信息判断该如何转发。
【交换机原理】交换机的工作原理详解 交换机工作原理图
广播未知数据帧
如果交换机没有在MAC地址表中找到数据帧目的地所对应的条目,交换机就无法确定该从那个接口将数据帧转发出去,于是它被迫选用了广播的方式,即除了1号口之外的所有接口都将转发这个数据帧,我下面图所示,于是,网络中的 主机 B和主机C都会收到。
接收回应信息
主机B会响应这个广播,并回应一个数据帧(源MAC地址为00-00-00-22-22-22,目标MAC地址为00-00-00-11-11-11),交换机也会将此帧的源MAC地址和接口标号(2号口)对应起来,添加到MAC地址表中,如下面图所示,
交换机实现单播方式
现在,主机A和主机B之间的通讯不用借助广播了。因为MAC地址表中已经有它们的条目了,如下面图所示,主机A发送的数据帧的目标地址为00-00-00-22-22-22,交换机会发现这个地址对应的接口号为2,于是交换机将只向2号口发送数据帧。
查看MAC地址表
MAC地址表相当于交换机内部的一个数据库,记录着MAC地址和接口编号的对应关系。查看MAC地址表的命令如下面你图所示。dynamic为可选参数,它可以使交换机只显示交换机动态靴子到的MAC地址。
如下面如所示,SW1和SW2与PC1、PC2、CP、、PC3、互连在一起,在SW1上使用上述命令查看MAC地址表
由于windows系统在接入网络后会自动查询是否有其他主机存在,所以,交换机已经学习到三台主机的MAC地址。
这里值得关注的问题是,虽然PC3与SW1没有直接相连,PC3的MAC地址也存在域SW1的MAC地址表中,且对应着接口Fa0/24。这是由于交换机之间互相学习(同步)
MAC地址表所致。从MAC地址表中可以看出,SW1通过接口Fa0/24与SW2相连,于是SW1就将从SW2同步过来的MAC地址全部对应到Fa0/24接口上。
注意事项
数据帧是数据砸在网络传输时的一个数据单元
由于交换机MAC地址条目是动态学习的,所以它不会永远存在MAC地址表中