摘要:交换机不会将收到的每一条数据报文都广播给客户端,因为交换机可以根据MAC地址智能转发数据帧。存储在交换机中的MAC地址表将MAC地址与交换机的接口号对应起来。每当交换机接收到客户端发来的数据帧,就会根据MAC地址表中的信息判断如何转发。
【开关原理】开关的工作原理详细讲解开关的工作原理图。
交换机获取的条目不会永远存储在MAC地址表中,默认老化时间为300秒。
MAC地址:交换机获取的MAC地址。
类型:交换机获取MAC地址信息的方式类型。
端口:对应于MAC地址的交换机接口号
交换机转发数据帧的过程
MAC地址学习
如下图所示,假设主机A发送的数据帧(源MAC地址为00-00-00-11-11-11,目的MAC地址为00-00-00-22-22-22)到达交换机的1号接口,交换机首先在MAC地址表中查询1号接口对应的源MAC地址条目。如果条目中没有数据帧的源MAC地址,
未知的广播数据帧
如果交换机在MAC地址表中没有找到数据帧目的地对应的条目,交换机就无法确定数据帧从哪个接口转发,于是被迫选择广播方式,即除了端口1以外的所有接口都会转发数据帧,如下图所示,这样网络中的主机B和主机C都会收到。
接收响应信息
主机B将响应此广播,并响应一个数据帧(源MAC地址为00-00-00-22-22-22,目的MAC地址为00-00-00-11-11)。交换机还会将该帧的源MAC地址与接口号(端口2)对应起来,并将其添加到MAC地址表中,如下图所示。
交换机采用单播模式。
现在,主机A和主机B之间的通信不需要广播。因为它们已经列在MAC地址表中,如下图所示,主机A发送的数据帧的目的地址是00-00-00-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地址表中。