上网第四十五课:交换机的工作原理——MAC 地址表是怎么建起来的
文章目录
- 上网第四十五课:交换机的工作原理——MAC 地址表是怎么建起来的
-
- 一、交换机 vs 集线器:从"广播"到"点对点"
- 二、MAC 地址表:交换机的"通讯录"
- 三、转发三原则:泛洪、转发、丢弃
- 四、装维视角:常见故障排查
- 小结
- 下期预告
用户家里网线一多,装维师傅甩过来一句:“买台交换机,插上就能用。“可真有这么简单吗?交换机为什么"插上就能用”、它怎么知道每个设备在哪个口?今天把二层交换机的"核心大脑”——MAC 地址表——从零讲透。

一、交换机 vs 集线器:从"广播"到"点对点"
先复习一个概念:MAC 地址是网卡的物理地址,全球唯一(第 3 课提过)。
老式**集线器(Hub)**是个"大喇叭":任何设备发数据,它都向所有端口广播一遍——效率低、还容易撞车。
交换机(Switch)就不一样了,它的核心本事是"学一次,记住,只发给该发的人"。靠的就是一张表——MAC 地址表。
| 转发方式 | 所有端口广播 | 只发目标端口 |
| 是否学习 | 不学 | 自动学习 MAC 地址 |
| 效率 | 低(共享带宽) | 高(每端口独享带宽) |
| 称呼 | 笨喇叭 | 聪明快递分拣 |
二、MAC 地址表:交换机的"通讯录"
MAC 地址表就三列:MAC 地址、端口(Port)、VLAN(VLAN 是第 46 课的内容,先记"一个 VLAN 就是一张独立表")。
| 00:1A:2B:3C:4D:5E | GE0/0/1 | 动态学习 |
| 00:11:22:33:44:55 | GE0/0/2 | 动态学习 |
| 00:AA:BB:CC:DD:EE | GE0/0/3 | 动态学习 |
查看 MAC 表:华为设备用 display mac-address,思科设备用 show mac address-table。表里的记录会自动学习(交换机收到数据帧就"记住"来源 MAC 从哪个口来),也会自动老化(默认 300 秒没动静就删掉)。

三、转发三原则:泛洪、转发、丢弃
交换机收到一个帧,按三原则决策:
| 目标 MAC 不在表里 | 泛洪(Flood) | 不知道在哪,就向所有端口广播(除了来源口) |
| 目标 MAC 在表里 | 转发(Forward) | 通讯录查到了,精确投递到对应端口 |
| 目标 MAC 是广播地址 | 泛洪 | 广播帧本来就该人人收到 |
| 来源 MAC 换个口出现 | 更新表项 | 设备挪口了,通讯录跟着改 |
| 目标 MAC 就是来源口 | 丢弃(Drop) | 自己口上的设备不用再转发 |
一句话理解:查得到就精准送,查不到就广播问,广播问过一遍之后,就再也不需要广播了——这就是"学习"的意义。
四、装维视角:常见故障排查
① 查看某个 MAC 在哪个口
华为设备:display mac-address 00:1A:2B:3C:4D:5E。如果查不到,说明这台设备当前没发过包——先 ping 一下让它"开口说话"。
② 广播风暴
如果某段网线接反(回环),交换机会收到大量重复广播,所有端口都跑满。排查:查看 CPU/端口利用率飙升、广播包数量暴涨,物理上拔掉可疑线路立即恢复。
③ 环路(网络环路)
两根网线把两个交换机交叉相连 = 成环,广播包无限循环,网络直接瘫。**STP(生成树协议)**就是干这个的——自动阻塞一条链路打破环路,不过这是后面的进阶话题,先把"环路会出大事"记在心里。
④ MAC 表震荡(Mac Flapping)
同一 MAC 在两个端口之间来回跳动,多半是环路或者设备接了多根线。华为设备命令行会提示 Mac address flapping。
小结
- MAC 地址表 = 交换机的通讯录,靠自动学习 + 自动老化维护;
- 转发三原则:查表转发、查不到泛洪、来源端口丢弃;
- 交换机靠"学"变聪明,但环路、广播风暴是二层最典型的坑;
- 路由器管"到哪"(IP),交换机管"谁在哪个口"(MAC)——各司其职。
思考题:你在交换机上配置了 VLAN 10 和 VLAN 20,两个 VLAN 下的设备 MAC 表各一张还是共用一张?为什么?(提示:VLAN 隔离广播域,MAC 表按 VLAN 分开记——交换机不会把一个 VLAN 的设备 MAC 记到另一个 VLAN 的通讯录里。)
下期预告
提到 VLAN 了,明天就来拆开它:VLAN——一根网线里的多个"平行世界"。为什么一个物理网络能分成逻辑隔离的多个网段,各设备互不干扰?明天见。
本文是上网那点事系列连载第四十五课,从零讲透家庭网络到互联网原理,欢迎关注专栏阅读全部内容。
网硕互联帮助中心






评论前必须登录!
注册