跳转到正文

刚买回来的交换机通电就能用,它怎么知道每台电脑插在哪个口? ​

阶段 2 · 数据链路层 · 第 10 课

你买了一台 24 口的以太网交换机,从箱子里拿出来直接插上电源,把四台电脑分别插进 GE0/0/1 到 GE0/0/4 号端口。令人惊奇的是,你甚至不需要做任何命令行配置,电脑 A 就能直接把数据精准送给电脑 B,而插在 GE0/0/3 上的电脑 C 的网卡指示灯根本不会乱闪!

早期网络使用的**集线器(Hub)**是一个“大喇叭”:任何一个口收到的数据,都会无脑广播给所有其他端口,不仅所有人都能偷听,大家同时说话还会产生剧烈的碰撞冲突。为什么以太网交换机(Switch)插电即用、即插即通?它内部那张神奇的“端口导航地图”是怎样凭空建立起来的?

学完本课后,你将能够:

  1. 复述以太网交换机二层转发的核心三部曲:基于源 MAC 学习、基于目的 MAC 查表、命中单播转发 / 未命中泛洪。
  2. 读懂华为交换机 display mac-address 输出,解释 MAC 地址、物理接口、VLAN 与表项动态老化时间。
  3. 推演在空 MAC 表状态下,首个数据帧与应答帧穿越交换机时的完整表项变化过程。

以太网交换机工作机制:主机A发帧,交换机在GE0/0/1收到后,先基于源MAC学习生成表项;再查目的MAC:若表中存在则精准单播转发,若表中不存在则泛洪到其余端口。

1. 先看图:交换机的大脑——MAC 地址表 ​

以太网交换机内部维护着一张保存在高速内容寻址内存(CAM)中的映射表,称为 MAC 地址表(MAC Address Table)。

这张表记录了极简的对应关系:“某个 MAC 地址的设备,连在我背后的哪个物理接口上,属于哪个 VLAN”。

刚通电启动的那一瞬间,交换机的 MAC 地址表是一片空白的。它是如何从零自学成才的?请跟着一次完整的帧交互过程来观察:

第一步:入帧基于源 MAC“偷学”(学习机制) ​

  • 主机 A(MAC-A)想给主机 B(MAC-B)发送一个数据帧。主机 A 把帧推上网线,帧从交换机的 GE0/0/1 端口进入。
  • 交换机硬件一看到有帧进来,立刻低头看帧头的 源 MAC(SMAC):MAC-A!
  • 交换机心里立刻记下一笔:“MAC-A 这个家伙,刚才踩着我的 GE0/0/1 端口进来了!以后只要有人想找 MAC-A,我直接从 GE0/0/1 扔出去就行了!”
  • 交换机在 MAC 表里新建一条动态条目:MAC-A 对应 GE0/0/1,并启动该条目的老化计时器。

第二步:根据目的 MAC 查地图(查表与决策) ​

  • 学完源 MAC 后,交换机抬起头看帧头的 目的 MAC(DMAC):MAC-B。
  • 交换机在自己的 MAC 地址表里搜索 MAC-B,此时可能遇到三种情形:
目的 MAC 查表结果交换机执行的动作动作背后的通俗逻辑
情况 1:表中查到了对应端口(如 GE0/0/2)单播转发(Unicast Forwarding)精准将该帧仅从 GE0/0/2 端口推送出去,GE0/0/3、GE0/0/4 完全不受打扰,彻底隔离冲突域!
情况 2:表中完全查不到 MAC-B(未知单播帧)泛洪(Flooding)(Flooding,泛洪)交换机不知道 B 藏在哪个接口,只能将该帧复制多份,从除接收口 GE0/0/1 以外的所有端口转发出去,让全网设备去认领!
情况 3:目的 MAC 为全 F 广播(FF-FF-FF-FF-FF-FF)泛洪(Flooding)(广播泛洪)明确是全网广播,同样从除入端口以外的所有其他端口原样送出。

第三步:回应帧让拼图彻底闭环 ​

  • 当未知单播帧泛洪到全网后,主机 C 发现不是找自己的,网卡硬件直接丢弃;
  • 主机 B 发现确实是找自己的,于是给主机 A 回复一个应答帧(源 MAC 为 MAC-B,目的 MAC 为 MAC-A),从 GE0/0/2 送入交换机。
  • 交换机在 GE0/0/2 收到应答帧时:
    1. 看源 MAC:立刻学到 MAC-B 对应 GE0/0/2!至此,A 和 B 的位置全部搞定。
    2. 查目的 MAC:寻找 MAC-A。由于第一步已经学过了 MAC-A 对应 GE0/0/1,交换机直接精准单播转发给 GE0/0/1,这一次再也不需要泛洪了!

华为 ICT 大赛 2024–2025 省初赛 · 第 45 题真题 · 单选

以太网交换机的二层转发基本流程包括以下哪些项?(多选改编单选)关于交换机学习与转发流程的描述,完全正确的是哪一项?

2. 表项老化机制:如果电脑拔掉插到另一个口会怎样? ​

如果员工小李把笔记本电脑从工位 1(连在 GE0/0/1)拔掉,抱着电脑走到会议室插在工位 5(连在 GE0/0/5),交换机怎么知道小李换位置了?如果表项永久有效,发给小李的数据岂不是永远被错误地转发到空的工位 1?

为了解决移动与断线问题,交换机为所有动态学习到的条目引入了 老化时间(Aging Time):

  1. 倒计时刷新:在华为交换机上,动态 MAC 表项的缺省老化时间是 300 秒(5 分钟)。只要在 300 秒内再次收到来自该 MAC 的帧,计时器立刻重置为 300 秒。
  2. 超时清除:如果连续 5 分钟该电脑没有发送任何一帧数据,交换机就会将这条过期条目从内存中自动抹去。
  3. 接口迁移秒级更新:如果小李在 300 秒内换到了 GE0/0/5 并发出了第一个帧,交换机在 GE0/0/5 收到它的瞬间,会发现“咦?同一个 MAC 居然从新端口进来了”,交换机立刻将表项强制更新为 GE0/0/5,实现无缝漫游!

3. 实验 · 在华为 VRP 交换机上查看 MAC 地址表 ​

在企业网络维护中,display mac-address 是定位终端物理位置的最强神技。以下是真实华为 VRP 交换机的典型查询输出:

text
<Huawei> display mac-address
-------------------------------------------------------------------------------
MAC Address    VLAN/VSI/BD   Learned-From        Type                Aging
-------------------------------------------------------------------------------
5489-981a-2b3c 1             GE0/0/1             dynamic             280
5489-981a-2b3d 1             GE0/0/2             dynamic             295
-------------------------------------------------------------------------------
Total items: 2

关键字段解读结论:

  • MAC Address:终端网卡的物理地址。
  • VLAN/VSI/BD:该地址属于 VLAN 1。交换机学习 MAC 是在特定 VLAN 内部隔离进行的。
  • Learned-From:该终端物理上连接在交换机的 GE0/0/1 接口。
  • Type:dynamic 表示该条目是交换机根据数据流量动态自学得到的;如果是管理员手工绑定的安全静态条目,会显示为 static(静态条目永不老化)。
  • Aging:倒计时剩余老化秒数。

真题衍生 · 判断题 · 单选

以太网交换机在收到目的 MAC 在 MAC 地址表中已经存在明确对应端口的已知单播数据帧时,只会从对应的目的端口转发,而绝不会向其他无关端口转发。

4. 小结与下一步 ​

  • 核心三部曲:基于源 MAC 学习物理端口,基于目的 MAC 查表单播,查不到或广播则泛洪。
  • 动态老化:缺省 300 秒老化时间,保证拓扑变化或终端移动时表项能自动校正。
  • 冲突域隔离:每个端口都是一个独立的冲突域,端口之间可以全双工线速并发转发,彻底取代了共享式集线器。

读到这里,细心的读者一定会提出一个直击灵魂的问题: “主机 A 在封装以太网帧时,必须在帧头填上主机 B 的 MAC 地址。可是主机 A 刚开机时,它只知道对方的 IP 地址(比如 192.168.1.2),主机 A 怎么从这个冷冰冰的数字 IP,打听出对方网卡的物理 MAC 地址呢?” 下一课我们请出局域网内不可或缺的地址翻译官——地址解析协议(ARP)。