首页/计算机网络/03-data-link/网桥和交换机 🔗 在 Obsidian 中打开
计算机网络 · 03-data-link

网桥和交换机

重要度 ⭐⭐⭐⭐⭐ 计算机网络/数据链路层交换机MAC地址表转发冲突域广播域
速查
网桥/交换机工作于数据链路层,按 MAC 地址表转发:已知目的端口则转发,未知则泛洪,目的端口=入端口则丢弃。交换机每端口独立冲突域,路由器才分隔广播域。

基本概念

网桥(Bridge)

工作在数据链路层的设备,根据 MAC 地址转发帧,连接两个或多个网段。

交换机(Switch)

多端口网桥,每个端口是一个独立的冲突域。

网桥的工作原理

MAC 地址表学习

端口1: MAC_A, MAC_B
端口2: MAC_C, MAC_D
端口3: MAC_E

网桥根据 MAC 地址表把帧从对应端口转发出去

转发规则

  1. 学习:收到帧时,记录源 MAC 和入端口
  2. 查找:查找目的 MAC 对应的端口
  3. 转发:找到目的端口 → 转发到该端口
  4. 未找到 → 泛洪(向除入端口外所有端口转发)
  5. 目的端口 = 入端口 → 丢弃

转发过程示例

A(端口1) → C(端口2):
1. 收到帧: 源=A, 目的=C, 入端口=1
2. 学习: A→端口1
3. 查找: C→端口2
4. 转发: 从端口2转发

C(端口2) → 未知X:
1. 收到帧: 源=C, 目的=X, 入端口=2
2. 学习: C→端口2
3. 查找: X未找到
4. 泛洪: 向端口1,端口3转发

交换机

特点

  • 多端口网桥(通常 24/48 端口)
  • 每个端口独立冲突域
  • 支持全双工通信
  • 可并行转发多个端口的数据

交换方式

方式说明延迟可靠性
存储转发收完整帧后转发,有 CRC 校验
直通只读目的 MAC 就转发低(可能转发错误帧)
无碎片收到 64 字节后转发

交换机 vs 集线器

特性集线器(Hub)交换机(Switch)
层次物理层数据链路层
冲突域所有端口同一冲突域每端口独立冲突域
转发方式广播按 MAC 地址转发
带宽共享独占
双工半双工全双工

冲突域和广播域

冲突域(Collision Domain)

  • 同一冲突域内的设备共享带宽
  • 集线器的所有端口在同一冲突域
  • 交换机每个端口是独立冲突域
  • 网桥/交换机分隔冲突域

广播域(Broadcast Domain)

  • 广播帧能到达的所有设备
  • 交换机的所有端口在同一广播域
  • 路由器分隔广播域
广播域1:  [集线器(冲突域1)]  [交换机(冲突域2 冲突域3)]
                  │               │
             主机A           主机B 主机C
                  │
             路由器 ← 分隔广播域
                  │
广播域2:  [交换机(冲突域4 冲突域5)] → 主机D 主机E

生成树协议(STP)

问题

交换机之间存在环路会导致:广播风暴、MAC 地址表不稳定、帧的重复接收。

STP 原理

通过阻塞某些端口,将环形拓扑变为树形拓扑,消除环路。

STP 工作过程

  1. 选举根桥(Root Bridge):Bridge ID 最小的交换机
  2. 每个非根桥选举一个根端口(Root Port)
  3. 每个网段选举一个指定端口(Designated Port)
  4. 其余端口被阻塞(Blocking)
状态持续时间说明
Blocking20s阻塞,不转发
Listening15s监听 BPDU
Learning15s学习 MAC 地址
Forwarding-正常转发

MAC 地址表

表项组成

字段说明
MAC 地址设备的物理地址
端口号对应的交换机端口
VLAN所属 VLAN
老化时间表项存活时间(默认 300s)

老化机制

  • 每次收到该 MAC 的帧时刷新老化时间
  • 超时未收到则删除表项
  • 防止表项无限增长

记忆卡片

未知目的 MAC 如何转发?
泛洪——向除入端口外的所有端口转发;收到响应后学习目的 MAC。
交换机与集线器冲突域区别?
集线器所有端口同一冲突域;交换机每端口独立冲突域
谁分隔冲突域?谁分隔广播域?
交换机/网桥分隔冲突域路由器分隔广播域。
STP 的作用与根桥选举?
消除环路(防广播风暴)。选举 Bridge ID 最小的交换机为根桥,阻塞冗余端口成树形。

图示 · 交换机分隔冲突域

一个广播域内:集线器 vs 交换机 集线器 A B 同一冲突域 交换机 每端口独立冲突域 C D E 路由器 分隔广播域
图:交换机每个端口是独立冲突域;只有路由器能分隔广播域(虚线框为两个广播域边界)。

交互动画 · 自学习转发的 7 步过程

手动模式
主机 AMAC_A 端口1 主机 BMAC_B 端口1 网桥/交换机2 端口 主机 CMAC_C 端口2 主机 DMAC_D 端口2 MAC 表端口1: A,B MAC 表端口2: C,D
A 向 C 发送帧:观察网桥如何学习 MAC 表并精确转发
核心:源 MAC → 学习;目的 MAC → 查表转发/泛洪/丢弃

相关知识点

ethernet-and-vlan vlan-detail

↑ 站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。