理论课40分钟

14课:交换机工作原理

MAC地址表与转发

教学目标

1理解交换机的学习和转发机制
2掌握MAC地址表的建立过程
3了解广播风暴的产生和预防

📖 课前导入

上节课我们学习了MAC地址和以太网帧。今天我们深入研究交换机是如何利用MAC地址智能转发数据帧的。

交换机是局域网的核心设备,理解它的工作原理对网络排障至关重要。让我们一步一步拆解交换机的学习、转发和过滤机制!

📚 一、MAC地址表的建立过程

交换机内部维护一张MAC地址表(也叫CAM表,Content Addressable Memory),记录每个MAC地址对应哪个端口。这张表不是预先配置的,而是交换机自动学习的。

🌐 交换机学习过程示例

端口1端口2端口3端口4
交换机
PC-AMAC: AA
PC-BMAC: BB
PC-CMAC: CC
PC-DMAC: DD

场景:PC-A 第一次发送帧给 PC-B

第1步:PC-A 发送帧(源MAC=AA, 目的MAC=BB)

帧从端口1进入交换机。

交换机动作①——学习:看到源MAC=AA来自端口1,记入MAC地址表:

MAC地址端口
AA端口1

第2步:交换机查找目的MAC=BB

交换机动作②——查表:在MAC地址表中查找BB……没找到!

交换机动作③——泛洪:将帧转发到除端口1外的所有端口(端口2、3、4)。

第3步:PC-B收到并回复

PC-B(端口2)发现目的MAC是自己的,接收并处理。PC-C和PC-D发现不是给自己的,丢弃。

PC-B发送回复帧(源MAC=BB, 目的MAC=AA),从端口2进入交换机。

交换机动作④——学习:源MAC=BB来自端口2,记入MAC地址表:

MAC地址端口
AA端口1
BB端口2

交换机动作⑤——精确转发:查表找到AA在端口1,直接从端口1发出(不再泛洪)。

之后:PC-A 再次发送给 PC-B

交换机已经学到了AA→端口1和BB→端口2的映射,可以直接精确转发,不需要泛洪了!

同时PC-C和PC-D之间的通信也可以同时进行,互不干扰——这就是交换机的并行转发能力。

知识点

交换机的三种帧处理方式

转发

目的MAC在MAC表中 → 从对应端口发出(单播转发)

泛洪

目的MAC不在MAC表中,或目的MAC是广播地址 → 从除源端口外的所有端口发出

丢弃

源端口和目的端口相同 → 不需要转发,直接丢弃

📚 二、交换机的转发方式

直通转发

Cut-Through

只读取帧的前14字节(目的MAC),立即开始转发,不等整个帧接收完。

✅ 延迟最低(最快)

❌ 无法检测帧错误

存储转发

Store-and-Forward

接收完整个帧后,进行CRC校验,确认无误再转发。

✅ 能检测并丢弃错误帧

❌ 延迟较高

⭐ 现代交换机最常用

碎片隔离

Fragment-Free

读取帧的前64字节后开始转发。64字节是以太网帧最小长度,可以过滤碰撞碎片。

✅ 折中方案

介于直通和存储转发之间

📚 三、广播风暴与环路问题

什么是广播风暴?

如果交换机之间形成了环路(如两台交换机之间连了两根线),广播帧会在环路中无限循环,迅速消耗所有带宽,导致整个网络瘫痪——这就是广播风暴(Broadcast Storm)

环路导致广播风暴的过程

1. PC-A发送一个广播帧,交换机SW1从端口1收到

2. SW1泛洪到所有其他端口,包括连接SW2的两个端口

3. SW2从两个端口都收到了这个广播帧,又泛洪出去

4. 帧又回到SW1……无限循环,指数级增长!

5. 几秒内网络就会被淹没,所有设备无法正常通信 💥

解决方案预告

STP(生成树协议)可以自动检测环路并逻辑阻断冗余链路,防止广播风暴。我们将在后面的课程中详细学习。

交换机工作原理动画演示

动画展示交换机的MAC地址学习、转发、泛洪过程,以及广播风暴的形成和STP的解决方案

10:00
交换机工作原理动画演示推荐视频10:00

动画展示交换机的MAC地址学习、转发、泛洪过程,以及广播风暴的形成和STP的解决方案

📚 四、交换机的基本管理

企业级交换机(如Cisco、华为)可以通过命令行(CLI)进行管理配置。

连接方式

  • Console口:用Console线(RJ45转串口/USB)连接电脑,首次配置必用
  • Telnet/SSH:通过网络远程管理(需要先配好管理IP)
  • Web界面:部分交换机支持浏览器管理

CLI模式(以Cisco为例)

  • 用户模式:Switch> (只能查看基本信息)
  • 特权模式:Switch# (可查看所有信息)
  • 全局配置:Switch(config)# (修改配置)
  • 接口配置:Switch(config-if)# (配置端口)

常用交换机命令(Cisco IOS)

命令作用
enable进入特权模式
show mac address-table查看MAC地址表
show interfaces status查看所有端口状态
configure terminal进入全局配置模式
hostname SW1设置交换机主机名
interface fastEthernet 0/1进入F0/1端口配置
shutdown / no shutdown关闭/开启端口

✅ 课堂小测

随堂测验

1/5

交换机的MAC地址表是如何建立的?

📋 本课小结

1

MAC地址表:交换机自动学习源MAC和端口的映射关系,有老化机制。

2

三种操作:转发(查到MAC→精确发送)、泛洪(查不到→全发)、丢弃(同端口→不发)。

3

转发方式:直通(快但不检错)、存储转发(慢但安全,最常用)、碎片隔离(折中)。

4

广播风暴:环路导致广播帧无限循环,STP协议可以解决。