交换机
→ 返回 计算机网络
交换机(Switch)工作在数据链路层(OSI 第 2 层),根据 MAC 地址转发数据帧,是局域网的核心连接设备。
交换机 vs 集线器
集线器(Hub,已淘汰):
PC-A → Hub → 广播给所有端口(PC-B、PC-C、PC-D 都收到)
所有设备共享带宽,半双工,存在冲突域
交换机(Switch):
PC-A → Switch → 仅转发给目标 PC-B
每个端口独立带宽,全双工,无冲突
| 维度 | 集线器 Hub | 交换机 Switch |
|---|---|---|
| 工作层 | 物理层(L1) | 数据链路层(L2) |
| 寻址方式 | 无,全端口广播 | MAC 地址精准转发 |
| 冲突域 | 所有端口同一冲突域 | 每端口独立冲突域 |
| 带宽 | 所有设备共享 | 每端口独占带宽 |
| 双工 | 半双工 | 全双工 |
MAC 地址表与转发原理
交换机维护一张 MAC 地址表(CAM 表),记录 MAC 地址 ↔ 端口的映射:
MAC 地址 端口 VLAN 老化时间
AA:BB:CC:DD:EE:01 Gi0/1 1 240s
AA:BB:CC:DD:EE:02 Gi0/2 1 180s
AA:BB:CC:DD:EE:03 Gi0/3 10 90s
转发决策流程:
收到帧(目标 MAC = DD:EE:FF:11:22:33)
│
▼ ① 学习:将源 MAC 和入端口写入 MAC 表
│
▼ ② 查表
│ 命中 → 单播转发到对应端口
│ 未命中 → 泛洪(Flooding):向同 VLAN 所有端口广播(除入端口)
│
▼ ③ 目标端口收到帧,其他端口忽略
泛洪的三种场景:
- 目标 MAC 不在表中(未知单播)
- 广播帧(目标 MAC =
FF:FF:FF:FF:FF:FF) - 多播帧(多播 MAC 地址)
VLAN(虚拟局域网)
VLAN 将一台物理交换机逻辑分割为多个独立广播域,实现网络隔离而无需额外硬件:
物理交换机(24 个端口)
├── VLAN 10(研发部):端口 1~8
├── VLAN 20(财务部):端口 9~16
└── VLAN 30(运维部):端口 17~24
VLAN 10 的广播不会到达 VLAN 20(逻辑隔离)
跨 VLAN 通信需要路由器或三层交换机
Access 端口 vs Trunk 端口
| 类型 | 说明 | 场景 |
|---|---|---|
| Access 端口 | 属于单一 VLAN,收发无标签帧 | 连接终端设备(PC、打印机) |
| Trunk 端口 | 承载多个 VLAN 的标签帧(802.1Q) | 交换机间互联、连接路由器 |
802.1Q 帧格式(在以太网帧中插入 4 字节 Tag):
目标MAC | 源MAC | 802.1Q Tag (4B) | 类型 | 数据 | FCS
└─ TPID(2B) + TCI(2B)
└─ PCP(3bit) + DEI(1bit) + VID(12bit)
└─ VLAN ID(0~4094)
STP(生成树协议)
冗余链路可防止单点故障,但会造成环路(广播风暴、MAC 地址表抖动)。STP 通过选举根桥、阻塞冗余端口来消除环路:
根桥(Root Bridge)
/ \
交换机 A 交换机 B
\ /
交换机 C
(某端口被 STP 阻塞,断开环路)
当主链路故障时,STP 重新收敛,激活备用路径(30~50s)
RSTP(802.1w)将收敛时间缩短至 1~2s
三层交换机(L3 Switch)
三层交换机在 L2 交换基础上增加路由功能,实现 VLAN 间路由(无需独立路由器):
VLAN 10(192.168.10.0/24)
↕ 三层交换机内部路由
VLAN 20(192.168.20.0/24)
| 维度 | 二层交换机 | 三层交换机 | 路由器 |
|---|---|---|---|
| MAC 转发 | ✅ | ✅ | ❌ |
| IP 路由 | ❌ | ✅(硬件加速) | ✅ |
| 端口密度 | 高(24~48 口) | 高 | 低(4~8 口) |
| 适用场景 | 接入层 | 汇聚/核心层 | 出口/广域网 |
PoE(以太网供电)
PoE 交换机通过网线同时传输数据和电力,无需单独为终端布设电源线:
| 标准 | 最大功率/端口 | 常见设备 |
|---|---|---|
| PoE(802.3af) | 15.4W | IP 摄像头、IP 电话 |
| PoE+(802.3at) | 30W | AP、视频会议终端 |
| PoE++(802.3bt) | 60W / 100W | 高功耗 AP、PTZ 摄像头 |
企业网络三层架构
互联网
│
核心层(Core):高速三层交换机,负责高速路由转发
│
汇聚层(Distribution):三层交换机,VLAN 间路由、访问控制策略
│
接入层(Access):二层交换机,连接终端设备,VLAN 划分
│
终端(PC、打印机、IP 电话、AP)
常用命令(Cisco IOS)
# 查看 MAC 地址表
show mac address-table
# 查看 VLAN 信息
show vlan brief
# 查看接口状态
show interfaces status
# 查看 STP 状态
show spanning-tree
# 配置 VLAN
vlan 10
name Dev
!
interface GigabitEthernet0/1
switchport mode access
switchport access vlan 10
# 配置 Trunk
interface GigabitEthernet0/24
switchport mode trunk
switchport trunk allowed vlan 10,20,30