MAC地址表的形成过程:MAC地址表是什么?它是怎么形成的呢? MAC,全称是Media Access Control,翻译过来就是介质访问控制,而MAC地址,则指的是识别LAN即局域网节点的标识。MAC地址和MAC地址表是不一样的,可以理解为,MAC地址表是存放MAC地址的地方。

MAC地址表的形成过程

MAC地址表的作用

交换机之所以能够直接对目的节点发送数据包,而不是像集线器一样以广播方式对所有节点发送数据包,最关键的技术就是交换机可以识别连在网络上的节点的网卡MAC地址,并把它们放到一个叫做MAC地址表的地方。

这个MAC地址表存放于交换机的缓存中,并记住这些地址,这样一来当需要向目的地址发送数据时,交换机就可在MAC地址表中查找这个MAC地址的节点位置,然后直接向这个位置的节点发送。

MAC地址表的形成过程

接下来思博来说一下今天的重点,MAC地址表的形成过程。

交换机技术在转发数据前必须知道它的每一个端口所连接的主机的MAC地址,构建出一个MAC地址表,因此构建MAC地址表是交换机的首要工作。也就是说,MAC地址表的形成过程最根本的来源于交换机。我们举例说明一下交换机建立地址表的过程。

首先我们知道,每一个数据帧中都包含有源MAC地址和目的MAC地址,假设主机A向主机C发送一个数据帧,当该数据帧从E0端口进入交换机后,交换机通过检查数据帧中的源MAC地址字段,将该字段的值,也就是主机A的MAC地址,放入MAC地址表中,并把它与E0端口对应起来,表示E0端口所连接的主机是A。此时,由于在MAC地址表中没有关于目的地MAC地址,也就是主机C的MAC地址的条目。交换机技术将此帧向除了E0端口以外的所有端口转发,从而保证主机C能收到该帧(这种操作叫flooding)。

同理,当交换机收到主机B、C、D的数据后也会把他们的地址学习到,写入地址表中,并将相应的端口和MAC地址对应起来。最终会把所有的主机地址都学习到,构建出完整的地址表。

此时,若主机A再向主机C发送一个数据帧,应用交换机技术则根据它的MAC地址表中的地址对应关系,将此数据帧仅从它的E2端口转发出去。从而仅使主机C接收到主机A发送给它的数据帧,不再影响其他端口。那么在主机A和主机C通信的同时其他主机之间也可以通信。

这就是一个比较完整的MAC地址表的形成过程。需要强调的是,我们为了解释交换机如何建立MAC地址表,假设A向C发了一个数据帧。实际情况并非如此,并不是主机间必须进行通信交换机才能学习到MAC地址。实际上是当网卡驱动加载之后交换机就学习到了主机的MAC地址。