1.2.2 MAC地址表和数据帧转发逻辑

介质访问控制(Medium Access ControI,MAC)地址可在网络中唯一标识网卡,每个网卡都需要并拥有一个唯一的 MAC 地址,也就是说,网卡的 MAC 地址是具有全球唯一性的。MAC 地址长度为48bit,由12bit 的十六进制数字组成,其中从左到右开始,0~23bit 是厂商向因特网工程任务组(Internet Engineering Task Force,IETF)等机构申请用来标识厂商的代码,24~47bit由厂商自行分配,是各个厂商制造的所有网卡的一个唯一编号。

MAC 地址表记录了交换机学习到的其他设备的 MAC 地址与接口的对应关系以及接口所属 VLAN等信息。MAC地址表中的表项分为动态表项、静态表项和黑洞表项。

(1)动态表项:由接口通过报文中的源MAC地址学习获得,表项可老化。

(2)静态表项:由用户手动配置,并下发到各接口板,表项不老化。

(3)黑洞表项:由用户手动配置,并下发到各接口板,表项不老化。配置黑洞MAC地址后,源MAC地址或目的MAC地址是该MAC地址的报文将会被丢弃。通过配置黑洞MAC地址表项,可以过滤掉非法用户。

交换机在转发报文时,根据报文的目的MAC地址查询MAC地址表。如果MAC地址表中包含与报文目的 MAC 地址对应的表项,则直接通过该表项中的出接口转发该帧;如果 MAC 地址表中没有包含报文目的MAC地址对应的表项,则设备将向所属VLAN内除接收接口外的所有接口转发该报文。二层交换机对数据帧的转发逻辑如图1-18所示。

交换机对帧的处理行为包括泛洪(FIooding)、转发(Forwarding)、丢弃(Discarding)这3种方式。

(1)泛洪:交换机把从某一接口收到的数据帧向所有其他(指除了这个帧进入交换机的那个接口以外的所有接口)的接口转发出去。

(2)转发:交换机把从某一接口收到的数据帧向另一个接口转发出去。

(3)丢弃:交换机把从某一接口收到的数据帧直接丢弃。

图1-18 二层交换机对数据帧的转发逻辑