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