前言
上次有写过一篇《20张图深度详解MAC地址表、ARP表、路由表》的文章,里面有提到了MAC地址表。那么什么是MAC地址表?MAC地址表有什么作用?MAC地址表里面包含了哪些要素?今天带你好好唠唠。
我们以一个案例为例:

如上图:PC1和PC2通过交换机SW1直连,此时PC1想要和PC2通信。
1、根据TCP/IP参考模型,PC1想要和PC2通信,除了需要知道PC2的IP地址,还需要知道PC2的MAC地址,这个我们在之前章节已经讲了,可以通过ARP广播获取PC2的目的IP地址。(PC1的ARP表项如下图)

2、PC1将报文封装好发送给交换机SW1,交换机SW1会查找MAC地址表,匹配到PC2的MAC地址,查找出接口为GE0/0/2。(交换机的MAC地址表如下图)

3、交换机SW1将报文发给PC2,PC2收到后解封装发现目的MAC和目的IP均为自己的,因此接收该报文继续处理。
以上就是整个案例的通信过程,可是我们有没有想过,就是交换机SW1的MAC地址表是怎么生成的?交换机的MAC地址表是啥样的?由哪些要素构成?
MAC地址表
MAC地址表:简单的说,MAC地址表是交换机等网络设备记录MAC地址和端口的映射关系(见下图),代表了交换机从哪个端口学习到了某个MAC地址,交换机把这个信息记录下来,后续交换机需要转发数据的时候就可以根据报文的目的MAC地址去根据MAC地址表转发数据。

华为交换机上可以通过命令display mac-address查看所有类型的MAC地址表项信息;

MAC地址表作用:
1、用于存放交换机所学习到的其它设备的MAC地址信息。
2、用于交换机在转发数据时,根据以太网帧中的目的MAC地址和VLAN编号查询MAC表,快速定位设备的出接口。
MAC地址表主要构成:包括目的MAC地址、设备所属的VLAN、出接口、MAC表项类型、老化时间等。

下面我们就分别来讲下MAC地址表的五大要素。