交换机与自学习
交换机(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 地址。