4.1 引言
在现代计算机网络中,以太网交换机(Ethernet Switch)是构建局域网(LAN)的基石。无论是家庭网络、企业办公网还是大型数据中心,交换机都扮演着数据"交通枢纽"的角色。本章将深入探讨交换机的发展历程、核心工作原理、交换架构以及在现代网络中的应用。
4.2 以太网设备的演进历史
要理解交换机为何如此重要,首先需要回顾以太网连接设备的演变过程。这一过程体现了网络对带宽利用率和传输效率不断追求的历史。
4.2.1 从共享介质到集线器(Hub)
早期的以太网基于同轴电缆,采用总线型拓扑。所有计算机连接在同一根线缆上,这意味着同一时刻只能有一台设备发送数据,否则会发生"冲突"(Collision)。
为了简化布线,集线器(Hub)应运而生。集线器工作在 OSI 模型的第一层(物理层)。它的工作极其简单:从一个端口接收到的信号,会原封不动地被整形放大并广播到所有其他端口。

图 4-1:集线器的工作模式示意图
集线器的缺点显而易见:
- 带宽共享 :如果集线器的总带宽是 100 Mbps 100 \text{ Mbps} 100 Mbps,连接了 10 10 10 台设备,每台设备平均只能获得 10 Mbps 10 \text{ Mbps} 10 Mbps。
- 安全隐患:所有数据被广播,任何节点都能抓包窃听。
- 冲突域(Collision Domain):所有端口属于同一个冲突域,设备越多,冲突概率越大,网络越拥堵。
4.2.2 网桥(Bridge)的出现
为了解决冲突问题,网桥诞生了。网桥工作在 OSI 模型的第二层(数据链路层)。它能够识别 MAC 地址,并将网络分割成两个冲突域。网桥通过软件处理数据帧,虽然隔离了冲突,但只有两个端口,且处理速度较慢,未能大规模普及。
4.2.3 交换机(Switch)的革命
以太网交换机本质上是一个"多端口的高速网桥"。它结合了集线器的多端口特性和网桥的智能转发特性,并利用专用集成电路(ASIC)在硬件层面实现高速转发。
交换机将每一个端口都划分成一个独立的冲突域。这意味着,端口 1 和端口 2 通信的同时,端口 3 和端口 4 也可以同时通信,互不干扰。
4.3 交换机的工作原理
交换机工作在数据链路层,其核心任务是根据数据帧中的**MAC 地址(媒体访问控制地址)**来决定数据的去向。
4.3.1 核心组件:MAC 地址表
交换机内部维护着一张"MAC 地址表"(也称为 CAM 表,内容可寻址存储器表)。这张表记录了:
- MAC 地址:网络设备的物理地址。
- 端口号:该设备连接在交换机的哪个接口上。
- 老化时间:条目存在的有效时长。
4.3.2 交换机的三个基本操作
交换机处理数据帧的过程可以概括为三个动作:学习(Learning)、转发(Forwarding)、泛洪(Flooding)。
假设有一个新的交换机,其地址表为空。连接了主机 A(MAC_A,接端口 1)和主机 B(MAC_B,接端口 2)。
-
学习(Learning):
- 当主机 A 向主机 B 发送一帧数据时,数据进入交换机的端口 1。
- 交换机检查帧的源 MAC 地址(Source MAC)。
- 交换机在 MAC 地址表中记录:
MAC_A位于Port 1。 - 原理:既然数据从端口 1 进来,那么回复给 A 的数据自然也要从端口 1 出去。
-
泛洪(Flooding):
- 交换机接着检查帧的目的 MAC 地址 (Destination MAC),发现是
MAC_B。 - 查询 MAC 地址表,发现表中没有
MAC_B的记录(因为是新交换机,还没"认识"B)。 - 交换机不得不将该数据帧复制并发送到除接收端口(端口 1)以外的所有端口。
- 注意:这一步类似于集线器,但仅发生在地址未知或广播帧的情况下。
- 交换机接着检查帧的目的 MAC 地址 (Destination MAC),发现是
-
转发(Forwarding):
- 主机 B 收到数据后,向 A 回复确认信息。
- 数据进入交换机端口 2。
- 交换机再次执行"学习":记录
MAC_B位于Port 2。 - 交换机检查目的 MAC(此时是
MAC_A)。查询地址表,发现MAC_A对应Port 1。 - 交换机将数据单播(Unicast)直接从端口 2 转发到端口 1,而不会发送给其他无关端口。

图 4-2:交换机建立 MAC 地址表的过程
4.3.3 冲突域与广播域
在学习交换机原理时,必须理清两个概念的区别:
- 冲突域(Collision Domain) :在同一个介质上,同时发送数据会产生冲突的区域。
- 结论 :交换机的每一个端口都是一个独立的冲突域。
- 广播域(Broadcast Domain) :广播帧(目标 MAC 为 F F − F F − F F − F F − F F − F F FF-FF-FF-FF-FF-FF FF−FF−FF−FF−FF−FF)所能到达的范围。
- 结论 :默认情况下,整台交换机属于同一个广播域。如果广播流量过大,会造成"广播风暴",降低网络效率。
4.4 交换机的转发方式
交换机在处理数据帧时,根据对延迟和可靠性的不同需求,主要有三种转发模式:
-
存储转发(Store-and-Forward):
- 交换机接收完整的帧,进行 CRC(循环冗余校验)错误检查。
- 如果帧无误,则查表转发;如果有错,直接丢弃。
- 优点:可靠性高,不转发错误帧。
- 缺点:延迟较高,延迟大小与帧长度成正比。这是目前最主流的模式。
-
直通转发(Cut-Through):
- 交换机一旦读到目的 MAC 地址(在前 6 6 6 个字节中),就立即开始转发,不等待后续数据,也不进行错误校验。
- 优点:延迟极低,恒定延迟。
- 缺点:会将错误帧(如残帧)转发到网络中,浪费带宽。
-
无碎片转发(Fragment-Free):
- 读取帧的前 64 64 64 字节(以太网最小帧长)后开始转发。
- 原理:大多数冲突都发生在前 64 64 64 字节。
- 这是前两种模式的折中方案。
4.5 关键技术扩展
随着网络规模的扩大,仅靠基础交换功能已无法满足需求,以下技术大大扩展了交换机的应用场景。
4.5.1 虚拟局域网(VLAN)
为了解决交换机默认处于同一个广播域导致的安全和性能问题,引入了 VLAN 技术。
VLAN 将一台物理交换机在逻辑上划分为多个虚拟交换机。例如,将端口 1-10 划入 VLAN 10(财务部),端口 11-20 划入 VLAN 20(工程部)。
- 效果:VLAN 10 的广播帧不会到达 VLAN 20,实现了广播域的隔离和安全访问控制。
4.5.2 生成树协议(STP)
为了提高可靠性,网络通常会有冗余链路(例如两台交换机之间连两根线)。但这会形成物理环路,导致广播风暴瞬间瘫痪网络。
STP(Spanning Tree Protocol)通过算法逻辑地阻塞某个端口,打破环路。当主链路故障时,被阻塞的端口会自动激活,恢复通信。

图 4-3:VLAN 与 STP 的应用场景
4.6 现代应用与三层交换
4.6.1 三层交换机(Layer 3 Switch)
传统的二层交换机无法实现不同 VLAN 之间的通信(因为需要路由功能)。三层交换机在二层交换机的基础上,集成了路由器的部分路由功能(三层 IP 转发)。
它实现了"一次路由,多次交换",在企业核心网中,三层交换机已基本取代了传统的"路由器+交换机"的内部组网模式,提供线速的 VLAN 间路由。
4.6.2 数据中心与 SDN
在现代云计算数据中心,交换机的发展呈现出以下趋势:
- 高带宽 :端口速率从 1 Gbps 1 \text{ Gbps} 1 Gbps 向 10 Gbps 10 \text{ Gbps} 10 Gbps、 40 Gbps 40 \text{ Gbps} 40 Gbps、 100 Gbps 100 \text{ Gbps} 100 Gbps 甚至 400 Gbps 400 \text{ Gbps} 400 Gbps 演进。
- 叶脊架构(Spine-Leaf):取代了传统的树状架构,确保服务器之间的横向流量(East-West Traffic)具有低延迟和高带宽。
- SDN(软件定义网络):将交换机的控制平面(大脑)与数据平面(转发硬件)分离。管理员可以通过编写程序集中控制成百上千台交换机,而不是逐台配置,极大地提高了运维效率。
本章小结
以太网交换机通过隔离冲突域、维护 MAC 地址表和智能转发,彻底改变了局域网的性能。从基础的二层转发到 VLAN 隔离,再到三层路由交换及现代 SDN 技术,交换机始终随着网络需求的变化而进化。对于计算机专业的学生而言,深刻理解 MAC 地址学习机制和 VLAN 原理,是掌握复杂网络架构的必经之路。