交换机根据地址表转发数据
同理,当交换机收到主机B、C、D的数据后也会把他们的地址学习到,写入地址表中,并将相应的端口和MAC地址对应起来。最终会把所有的主机地址都学习到,构建出完整的地址表。此时,若主机A再向主机C发送一个数据帧,交换机则根据它的MAC地址表中的地址对应关系,将此数据帧仅从它的E2端口转发出去。从而仅使主机C接收到主机A发送给它的数据帧,不再影响其他端口(图11-6所示)。那么在主机A和主机C通信的同时其他主机(比如主机B和主机D)之间也可以通信。
图 11-6 交换机根据地址表转发数据
当交换机建立起完整的MAC地址表之后,对数据帧的转发是通过查找MAC地址表得到对应的端口,从而将数据帧通过特定的端口发送出去的。但是,对于从一个端口进入的广播数据及在地址表中找不到地址条目的数据,交换机会把该数据帧从除了进入端口之外的所有端口转发出去。从这个角度来说,交换机互连的设备处于同一个广播域内,但它们处于不同的碰撞域内。
提示:这里为了解释交换机如何建立MAC地址表,假设A向C发了一个数据帧。实际情况并非如此,并不是主机间必须进行通信交换机才能学习到MAC地址。实际上是当网卡驱动加载之后交换机就学习到了主机的MAC地址。读者如果仔细观察就会发现,Windows系统启动过程还没完成,交换机就学习到了主机的MAC地址。