进阶 #network#switch#lan

交换机与自学习

交换机(Switch)是局域网的"智能分发器"——它通过自学习算法自动记录每台电脑的 MAC 地址在哪个端口,让数据只发给需要的目标,不像集线器那样无脑广播

为什么要交换机?

上一节我们学了以太网和 CSMA/CD——早期以太网像”全班传话”,一个人说话全班都听到(广播),如果两个人同时说就冲突了。

这样效率太低了。如果宿舍 10 台电脑,A 要跟 B 传文件——结果 C、D、E……全都被迫”听”了一遍,浪费带宽不说,还涉及隐私(A 传了什么 C 全收到了)。

🏫 类比:宿舍楼的收发室

  • 集线器(Hub):收发室大爷收到包裹后,在楼道里大喊”XXX 的包裹!“,全楼都听见了。不管你关不关心,都被打扰了。
  • 交换机(Switch):收发室大爷有本花名册,知道每个宿舍住谁,收到包裹直接送到对应的宿舍门口——其他人完全不受影响。

集线器 vs 交换机

Hub 的工作方式:
A 发数据给 C:
  A→┌─┐
     │H│→B (B 被迫收到了)
     │U│→C (C 收到了)
     │B│→D (D 也收到了…)
     └─┘
  一个问题,全宿舍都"听"到了

Switch 的工作方式:
A 发数据给 C:
  A→┌─┐
     │S│→C (只有 C 收到)
     │W│  其他端口安静如常
     └─┘
  交换机记得 C 在 3 号口,只发 3 号口
对比集线器(Hub)交换机(Switch)
工作方式广播到所有端口只发到目标端口
带宽利用率低——所有人共享高——每端口独享
冲突域一个(所有人都冲突)每个端口一个(不冲突)
智能程度无脑复制自学习 MAC 地址
价格便宜(已淘汰)标准设备

💡 你家里的路由器其实内置了一个交换机——LAN 口之间的数据交换就是交换机在做。

交换机的自学习——它怎么知道谁在哪个口?

交换机刚通电时什么都不知道——但它能通过”观察”自动学会每台设备的位置。这个过程不需要你手动配置,完全是自动的。

学习过程

交换机 MAC 地址表(初始为空):

步骤 1:A 发数据给 C(源 MAC = A, 目标 MAC = C)
  → 交换机不知道 C 在哪个端口
  → 向所有端口广播(除了 A 来的端口 1)
  → 但是!它学到了:A 在端口 1
  ┌──────────────┐
  │ MAC    │端口  │
  ├────────┼─────┤
  │ A      │ 1   │   ← 从收到的帧源地址学到的
  └────────┴─────┘

步骤 2:C 回复 A(源 MAC = C, 目标 MAC = A)
  → 交换机查表:A 在端口 1 → 只发端口 1,不广播
  → 又学到了:C 在端口 3
  ┌──────────────┐
  │ MAC    │端口  │
  ├────────┼─────┤
  │ A      │ 1   │
  │ C      │ 3   │   ← 又学到一个
  └────────┴─────┘

步骤 3:以后 A 再发给 C → 直接走端口 3

老化机制

假设你把电脑从端口 3 拔了插到端口 5——如果交换机一直记住”C 在端口 3”,数据就送不到 C 了。

解决方案:老化时间。 交换机 MAC 地址表每一条都有有效期(通常 300 秒)。如果在这段时间内没收到来自该 MAC 地址的帧——删除记录。这样当设备移动端口时,交换机会自动重新学习。

用一个 ping 就能”唤醒”交换机的学习

# 你的电脑 192.168.1.5 ping 打印机 192.168.1.20
ping 192.168.1.20
# 第一次:交换机不知道 192.168.1.20 在哪个口 → 广播 ARP → 学习
# 第二次:交换机知道了 → 直接转发

VLAN——虚拟局域网

一台交换机有 24 个口——但你想让财务部的 8 台电脑和技术部的 16 台电脑互相隔离,财务的广播不能到技术那边去。

VLAN(Virtual LAN) 就是在一台物理交换机上划分多个逻辑网络:

一台 24 口交换机:

VLAN 10(财务部):端口 1-8
VLAN 20(技术部):端口 9-24

VLAN 10 内的广播只在端口 1-8 传播
VLAN 20 内的广播只在端口 9-24 传播
两个 VLAN 之间不能直接通信(需要路由器)

💡 这就相当于把一台交换机变成了两台独立的交换机,而且还不用买新设备。

交换机的三层功能

普通交换机工作在二层(数据链路层),只根据 MAC 地址转发。但有些交换机支持三层交换——它也能根据 IP 地址转发数据,相当于交换机+路由器的合体:

二层交换机:只看 MAC 地址 → 快(硬件转发)
三层交换机:MAC + IP → 快且能做路由
路由器:主要用软件做路由 → 功能丰富但慢

🏫 类比:分拣中心

  • 二层交换机:快递分拣员只看邮政编码(MAC)的前几位就扔到对应区域
  • 三层交换机:分拣员还看城市名(IP),能处理跨区域转发
  • 路由器:负责跨省、跨国的路线规划(BGP、OSPF)

小结

概念要点
集线器复制到所有端口——低效但有冲突风险
交换机只发到目标端口——高效、安全
自学习从源 MAC 地址学习设备位置,有老化机制
MAC 地址表MAC→端口映射,自动维护
VLAN物理同一交换机,逻辑隔离的网络
三层交换机还能基于 IP 做路由

为什么先学这个? 交换机把局域网组织成了”智能”的网络——数据不再无脑广播,而是精确送达。但交换机只知道 MAC 地址,不知道 IP 地址。下一节看看ARP 协议——IP 地址怎么找到对应的 MAC 地址。