1 硬件学习
交换芯片在自己的MAC表中查找源MAC没有命中,则直接将此MAC信息添加到MAC表中。这种MAC学习的效率最高。
2 软件学习
交换芯片在MAC表中查找源MAC没有命中,将此MAC信息发给芯片所在的主机软件,由软件决定是否要添加此MAC信息到交换芯片的MAC表中。这种MAC学习的速率较低,但是可以根据具体业务要求控制哪些MAC对应的数据流量可以进入交换机,比较安全。
3 MAC同步
为了保证数据交换网络的可靠性,通常将两台或多台交换机设备互联后形成互相备份的网络设备,每台交换机设备上的转发表项都要保持一致。这样,在一台设备故障时,另一台设备仍然可以正常转发数据。因此,就要求如果一台交换机设备学习到新的MAC地址后,需要将新的MAC地址同步到备份的交换机设备上,以保持彼此之间的MAC表一致。
同步的方式有两种:
(1) 软件同步:
学习到新MAC地址的交换机设备的芯片在完成MAC表添加之后,将新的MAC信息发送到芯片所在的主机软件,由主机软件通过交换机设备间的互联口发送给对端的备份交换机主机软件,再由备份交换机的主机软件向自己的芯片MAC表添加新的MAC信息。
(2) 硬件同步
学习到新MAC地址的交换机设备的芯片在完成MAC表添加之后,通过芯片内部通道直接将新的MAC信息发到交换机设备间的互联口,进而转发到对端的备份交换机,备份交换机的芯片收到新的MAC信息后,直接添加到自己的MAC表中。此方式更高效,但是需要芯片有相关的硬件支持。