第14篇:广播域与冲突域——交换机 vs 集线器

一、写在前面

在计算机网络的教材里,冲突域广播域是两个绕不开的基础概念。很多新工程师觉得抽象,但这两个概念恰恰解释了:

  • 为什么集线器(Hub)被淘汰了
  • 为什么交换机能提升网络性能
  • 为什么要划分 VLAN

本文用最直观的方式讲清楚这两个概念,以及它们对网络设计的影响。


二、冲突域

2.1 什么是冲突域

冲突域 = 两台设备同时发送数据就会"撞车"的范围。

想象一个会议室里只有一部电话,两个人同时对着话筒说话——声音混在一起谁都听不清。这就是冲突。

2.2 在集线器(Hub)上

集线器是物理层设备,它没有任何智能

     [Hub]
   ╱   │   ╲
 PC-A  PC-B  PC-C

PC-A 发数据 → Hub 复制到所有端口 → PC-B、PC-C 都收到

如果 PC-A 和 PC-B 同时发送:
→ 信号在 Hub 内部碰撞 → 数据损坏 → 所有设备都要"退避"重发

集线器的所有端口都在一个冲突域里

设备数 效率
2 台 还行,碰撞概率低
10 台 碰撞明显,效率下降
50 台 几乎无法正常工作

2.3 在交换机上

交换机每个端口都是独立的冲突域

     [Switch]
   ╱   │   ╲
 PC-A  PC-B  PC-C

PC-A → 发数据到 PC-C
  → 交换机只在 G0/0/1 和 G0/0/3 之间建立数据通路
  → G0/0/2 上的 PC-B 可以同时发送,互不干扰

交换机的每个端口是一个独立的冲突域。

2.4 冲突域大小的对比

Hub:  ┌──────────────────────┐
      │   一个冲突域          │
      │  PC-A PC-B PC-C PC-D  │
      └──────────────────────┘
      所有设备共享带宽

Switch: ┌──┐ ┌──┐ ┌──┐ ┌──┐
        │A │ │B │ │C │ │D │  ← 每个端口独立冲突域
        └──┘ └──┘ └──┘ └──┘
      每个设备独享端口带宽

2.5 CSMA/CD(带冲突检测的载波监听多点接入)

这是集线器时代解决冲突的协议:

PC 要发送数据
    │
    ▼
监听信道是否空闲
    │
    ├── 空闲 → 发送数据
    └── 忙   → 等待随机时间再试

如果在发送过程中检测到碰撞:
    │
    ▼
发送阻塞信号 → 所有设备知道发生了碰撞
    │
    ▼
随机退避一段时间 → 重传

全双工交换机网络中,CSMA/CD 已经不需要了,因为每个端口是一个独立的冲突域,不存在碰撞的可能。


三、广播域

3.1 什么是广播域

广播域 = 一个广播帧能到达的所有设备集合。

广播帧(目的 MAC = FF-FF-FF-FF-FF-FF)会被交换机泛洪到所有端口(除了接收端口)。

[Switch]
   │   │   │
  PC-A PC-B PC-C

PC-A 发 ARP 广播 → 交换机泛洪 → PC-B、PC-C 都收到

3.2 交换机默认的广播域

一台交换机(或者说同一个 VLAN)的所有端口在同一个广播域中。

3.3 VLAN 分割广播域

VLAN 可以分割广播域:

[三层交换机]
 VLAN 10    VLAN 20
   │  │       │  │
  PC1 PC2    PC3 PC4
  同一个广播域  另一个广播域

PC1 发广播 → 只到 PC2 → 不到 PC3


四、核心对比表

对比项 冲突域 广播域
定义 可能发生数据冲突的范围 广播帧能到达的范围
集线器 所有端口 = 1 个冲突域 所有端口 = 1 个广播域
二层交换机 每个端口 = 1 个冲突域 所有端口 = 1 个广播域
VLAN 每个端口独立 每个 VLAN = 1 个广播域
三层设备 每个端口独立 隔离广播域

用设备来记忆

          冲突域          广播域
Hub       1               1
Switch    每端口独立        1(同 VLAN)
VLAN      每端口独立        每个 VLAN 独立
Router    每端口独立        每个接口独立

五、为什么这很重要?

5.1 冲突域的影响

网络设备 冲突域数量 对性能的影响
集线器 Hub 1 个(所有设备共享) 设备越多 → 碰撞越多 → 效率指数下降
交换机 Switch 每端口独立 全双工无碰撞 → 每个设备独享带宽

结论:Hub 被淘汰的根本原因就是不能隔离冲突域。

5.2 广播域的影响

广播本身是必要的(ARP、DHCP 都依赖广播),但广播太多就是灾难

广播域大小 影响
小(几十台) 正常,广播流量占比 <5%
中(几百台) CPU 负载上升,广播占比 5~15%
大(上千台) 广播风暴风险,网络几乎不可用

解决广播域过大的办法就是划分 VLAN。

5.3 一条路走到三层

三层设备(路由器、三层交换机 VLANIF)天然隔离广播域:

VLAN 10 的广播 → 只在 VLAN 10 内
永远不可能跨过 VLANIF 接口到 VLAN 20

六、真实案例

案例:某企业 500 台 PC 在一个 VLAN 中

现象:下午上班高峰期网络极慢,ping 网关延迟 500ms~2000ms,ARP 广播满天飞

分析: - 500 台设备在同一个广播域 - 每台设备都会发送 ARP 请求 - 平均每秒几百个广播帧 - 所有设备的 CPU 都被广播中断占用

解决: - 将 500 台 PC 按部门划分为 5 个 VLAN(每个约 100 台) - 配置 VLANIF 三层转发 - 广播域缩小 5 倍,广播量降低 80%


七、思考

  1. 一台交换机有 24 个端口,接 24 台 PC,问冲突域和广播域的数量分别是多少?
  2. 两台交换机通过 Trunk 互联,各接 10 台 PC,都在同一 VLAN 里,广播域有几个?
  3. 一台集线器接 10 台电脑,当 2 台同时发送数据会发生什么?
  4. 为什么交换机不需要 CSMA/CD 协议?
  5. 一个 VLAN 里的设备数量有没有上限?实际建议的上限是多少?
  6. 广播域太大有什么危害?有哪些解决办法(至少列出 2 种)?

下篇预告:第15篇《环路是怎么产生的_一次广播风暴故障实录》——通过真实故障案例,理解环路产生的原因和广播风暴的危害。