如图,交换机有4个接口,E0、E1、E2、E3,分别都接主机A、B、C、D,并且图上每个接口都有1个MAC地址。
交换机刚刚启动,交换机没有收到任何流量,这个时候交换机的MAC地址是空的。
交换机启动完成后,假如:主机A转发以太网帧给交换机,交换机从E0口收到以太网帧,交换机会把以太网帧头中的原MAC地址记录在MAC表里,并且会将收到MAC地址的端口与MAC地址对应起来。同样,主机B、C、D也会发以太网帧,也都会被交换机收到,并存在MAC表里。
这个时候主机A向主机C发以太网流量,源MAC地址0260.8c01.1111,目的MAC是0260.8c01.2222,交换机查MAC表,发现0260.8c01.2222是从E2接口学到的,所以,就会从E2接口转发出去,交换机转发不查看源MAC地址,因为是基于目标MAC转发的。
交换机E0口,接了个HUB,HUB接了两个主机,A和B。
这个时候,主机A和主机B发出的流量都会被交换机E0口收到,意味着交换机E0口既可以学到A的MAC地址,也能学到B的MAC地址。当交换机在一个接口学到多个MAC地址,它会将学到的所有MAC都放进MAC地址表。
在图上增加了主机C,接到HUB上,并且HUB增加一条链路到交换机E2口。这个时候主机C发数据帧,HUB会将数据帧从自己收到的接口以外的所有接口转发出去,这样,交换机会从E0和E2都学到主机C的MAC地址,交换机会用后学到的覆蓋先学到的。这样主机C的MAC和交换机的端口是一一对应,而不是一个主机地址对应多个交换机端口。
交换机每个接口学到了主机MAC地址,并存在MAC表里。这个时候主机D发了一个FFFF.FFFF.FFFF(广播帧)的目的MAC地址,因为交换机的MAC表里,是没有FFFF.FFFF.FFFF的MAC地址对应的接口,交换机收到广播帧,就泛洪。
泛洪是指除了收到发目的广播帧的接口以外,向交换机所有接口转发帧的行为。
广播是一种帧或者一种包;而泛洪是一种行为。
上图,在交换机上加一个主机E,但是交换机还没学到主机E的MAC地址,交换机的MAC表里是没有去往主机E的对应接口,此时,主机A发帧给主机E,交换机收到目的MAC是主机E的帧后,发现MAC表里没有对应条目。这样的帧就是未知单播帧。
交换机会基于收到的源MAC地址来进行学习,放进MAC地址表。
交换机会基于收到帧的目的MAC地址来转发。
交换机一个接口收到多个数据帧,它会将多个MAC地址放进自己的MAC地址表。
交换机从不同接口学到同一个MAC地址,后学到的接口覆蓋先学到的接口。
交换机收到广播帧/组播帧,会向除收到帧接口以外的所有接口转发。
对于没有目标MAC地址表项的帧,向本机的其他所有接口转发。(未知单播帧)
前言 随着消费水平提高,冰箱已经成为我们生活中不可缺少的家电之一,厨房装修首先考虑的就是冰箱、油烟机、热水器、洗碗机 ...