真实面经题目 · 原创解析

有没有了解过交换机和集线器的区别?

集线器是物理层设备,收到比特流后向所有端口无脑转发;交换机是数据链路层设备,会学习源 MAC 地址形成 MAC 地址表,并根据目的 MAC 地址决定转发、过滤或泛洪。核心区别在于:集线器让所有主机共享同一个冲突域和带宽,通常只能半双工并依赖 CSMA/CD;交换机把每个端口隔离成独立冲突域,支持全双工,显著提升吞吐、稳定性和安全性。

出现于:阿里巴巴 · 算法

60 秒回答模板

可以按层次、转发、冲突域/广播域、带宽与双工、实际意义来回答:集线器工作在 OSI 物理层,本质上是多端口中继器,只处理电信号或比特流,不理解 MAC 地址。它从一个端口收到数据后,会复制到其他所有端口,所以所有连接的主机处在同一个冲突域中,共享总带宽,通常是半双工通信,需要通过 CSMA/CD 处理冲突。交换机主要工作在 OSI 数据链路层,能够解析以太网帧头,根据源 MAC 地址学习 MAC 地址表,再根据目的 MAC 地址执行转发、过滤或泛洪:目的 MAC 已知就只转发到对应端口,目的 MAC 未知或是广播地址就泛洪到同一 VLAN 的其他端口,如果目的端口和入端口相同则过滤。需要注意的是,交换机默认不切分广播域,同一 VLAN 内仍属于一个广播域;要隔离广播域通常要使用 VLAN,并通过三层交换机或路由器实现不同 VLAN 间通信。

考点 工作层次
主线 转发逻辑
易错点 把集线器说成数据链路层设备。集线器工作在物理层,不理解…

深入解析

01

工作层次

集线器工作在 OSI 七层模型的物理层,关心的是电信号、比特流的再生和放大,不识别以太网帧,也不识别 MAC 地址。交换机主要工作在数据链路层,能够读取以太网帧头中的源 MAC 和目的 MAC,并根据二层信息做转发决策。也有三层交换机能进一步基于 IP 做路由转发,但这道题通常默认讨论二层交换机。

02

转发逻辑

集线器的转发方式是收到就复制,一个端口收到数据后,会向除入端口外的所有端口发送,完全不判断目的主机是谁。交换机的转发方式更智能:先从收到的帧中学习源 MAC 与入端口的对应关系,写入 MAC 地址表;再查目的 MAC,如果表中已有对应端口,就只转发到该端口;如果目的未知、广播或某些组播场景,则在同一 VLAN 内泛洪。

03

MAC 地址表机制

MAC 地址表是交换机区别于集线器的关键。交换机收到帧时,会把源 MAC 地址和接收端口绑定起来,并设置老化时间。后续如果收到发往该 MAC 的帧,就能直接定向转发。这个过程包括学习、泛洪、转发和过滤:学习源 MAC;目的未知时泛洪;目的已知时转发;如果目的 MAC 对应端口就是入端口,则说明目标在同一侧,不需要再发出。

04

冲突域

集线器连接的所有主机共享同一个冲突域,同一时间只适合一台设备发送数据,多台设备同时发送会发生冲突。交换机通常把每个端口隔离成独立冲突域,主机与交换机端口之间可以独立通信,大幅减少冲突。在全双工交换网络中,冲突基本不再是正常通信中的问题。

05

广播域

集线器不会隔离广播域,广播会被所有端口收到。普通二层交换机也不会天然隔离广播域,同一 VLAN 内的广播帧仍会被泛洪到该 VLAN 的其他端口。因此不能简单说交换机隔离广播域;准确说法是交换机隔离冲突域,VLAN 可以划分广播域,不同 VLAN 之间通常需要三层转发。

06

带宽与双工

集线器的端口共享总带宽,例如一个 100Mbps 集线器下多台主机同时通信时,整体资源被竞争使用,实际吞吐会明显下降。交换机通常为每个端口提供独立带宽,并且支持全双工,发送和接收可以同时进行。集线器多为半双工,需要避免或处理冲突;交换机全双工环境下不再依赖 CSMA/CD。

07

CSMA/CD 的位置

CSMA/CD 是传统共享式以太网中用来处理冲突的机制,核心思想是发送前监听信道,发生冲突后停止发送并随机退避。集线器形成共享介质,半双工通信下需要 CSMA/CD。交换机把链路拆成点到点连接,并普遍使用全双工,因此现代交换式以太网中 CSMA/CD 基本不再发挥作用。

08

为什么交换机替代集线器

交换机替代集线器的原因不是单一的更快,而是体系上的优势:减少冲突、端口带宽独享、支持全双工、能按 MAC 定向转发、降低无关流量暴露、支持 VLAN、链路聚合、生成树、安全策略等扩展能力。随着硬件成本下降,集线器在现代网络中几乎没有优势,只在非常特殊的抓包、教学或兼容场景中偶尔被提到。

易错点

  • 把集线器说成数据链路层设备。集线器工作在物理层,不理解 MAC 地址。
  • 说交换机一定隔离广播域。普通二层交换机默认只隔离冲突域,同一 VLAN 仍是一个广播域。
  • 忽略 MAC 地址表,只说交换机更智能。回答中应明确说明学习、泛洪、转发、过滤这些行为。
  • 说交换机完全不会泛洪。目的 MAC 未知、广播帧以及部分组播场景下,交换机仍会在同一 VLAN 范围内泛洪。
  • 把带宽差异说成单纯速率差异。关键不是标称速率,而是集线器共享带宽,交换机端口通常独享带宽并支持全双工。
  • 没有提到 CSMA/CD 的适用场景。它主要用于半双工共享式以太网,现代全双工交换网络基本不需要。

面试官追问

交换机是否一定能隔离广播域?

不能。普通二层交换机默认只隔离冲突域,不隔离广播域。同一 VLAN 内的广播帧仍会被泛洪。只有通过 VLAN 划分,才能把二层广播域分开;不同 VLAN 之间通信还需要三层转发能力。

交换机第一次不知道目的 MAC 地址时怎么办?

交换机会进行未知单播泛洪,把该帧发送到同一 VLAN 中除入端口之外的其他端口。目标主机回应后,交换机通过回应帧的源 MAC 学到目标 MAC 与端口的关系,后续就可以定向转发。

为什么集线器通常只能半双工?

集线器本质上是共享传输介质,多个端口处在同一个冲突域中。如果多台主机同时发送,就会产生冲突,所以通常采用半双工,并依赖 CSMA/CD 监听、检测冲突和退避重传。

交换机全双工时还需要 CSMA/CD 吗?

通常不需要。全双工链路中发送和接收使用独立方向,点到点连接不会像共享总线那样发生传统以太网冲突,因此现代交换式以太网基本不再使用 CSMA/CD。

交换机的 MAC 地址表会一直保存吗?

不会。MAC 地址表通常有老化时间。如果某个 MAC 地址在一段时间内没有新的帧出现,对应表项会被删除。这样可以适应主机迁移、链路变化和网络拓扑变化。