交换机是局域网的核心设备,它能够根据MAC地址智能地转发数据帧,这都依赖于一张至关重要的“地图”——MAC地址表。那么,这张表是如何建立并保持准确的?
一、MAC地址表的学习过程:从“茫然”到“熟知”
当交换机刚启动时,MAC地址表为空,对网络拓扑一无所知。它采用源MAC地址学习机制来逐步构建表格。
假设主机A(MAC地址为AA-AA-AA-AA-AA-AA)通过端口1向主机B发送数据帧。交换机从端口1收到该帧后,会做两件事:第一,读取帧的源MAC地址(AA-AA-AA-AA-AA-AA),并将其与接收端口(端口1)绑定,记录到MAC地址表中——这样交换机就“知道”了主机A位于端口1。第二,根据帧的目的MAC地址查表:如果表中已有该目的地址的记录,则只从对应端口转发(单播);如果暂时没有记录,则向除接收端口外的所有端口泛洪该帧,以确保主机B能收到。
通过这种方式,随着网络中各设备不断通信,交换机会逐渐学习到所有活跃设备的MAC地址及它们所连接的端口,从而建立起完整的地址表。

二、MAC地址表的维护:时效性与更新
MAC地址表并非一成不变,它需要动态维护来适应网络变化。
老化机制:每条表项都有一个老化时间(通常为300秒)。如果在这段时间内,交换机没有再从该端口收到该MAC地址发出的任何帧,就会认为该设备可能已离线或移动,于是删除这条记录。这避免了因设备更换端口或关机而导致表项“过时”。
覆盖与更新:如果交换机从一个新端口收到了某个已存在于表中的MAC地址的帧,它会自动更新表项,将端口映射改为新端口。这种机制支持了设备在同一交换机下的物理移动,无需人工干预。
静态表项:网络管理员也可以手动配置静态MAC地址表项,将特定MAC地址固定绑定到某个端口,且不会老化。这常用于安全控制(如只允许特定设备接入)或关键服务器。
三、交换机的转发决策
有了准确的MAC地址表,交换机就能高效工作:
若目的MAC地址在表中:精准转发,只从对应端口送出。
若目的MAC地址是广播地址(FF-FF-FF-FF-FF-FF)或组播地址,或者不在表中:泛洪到所有端口(除接收口)。
若源MAC地址与目的MAC地址属于同一端口:过滤,不转发。
正是通过持续的学习与老化机制,交换机能够自动适应网络拓扑变化,实现二层数据帧的快速、智能转发,构成了现代局域网的基石。