真实面经题目 · 原创解析
有没有了解过交换机和集线器的区别?
集线器是物理层设备,收到比特流后向所有端口无脑转发;交换机是数据链路层设备,会学习源 MAC 地址形成 MAC 地址表,并根据目的 MAC 地址决定转发、过滤或泛洪。核心区别在于:集线器让所有主机共享同一个冲突域和带宽,通常只能半双工并依赖 CSMA/CD;交换机把每个端口隔离成独立冲突域,支持全双工,显著提升吞吐、稳定性和安全性。
真实面经题目 · 原创解析
集线器是物理层设备,收到比特流后向所有端口无脑转发;交换机是数据链路层设备,会学习源 MAC 地址形成 MAC 地址表,并根据目的 MAC 地址决定转发、过滤或泛洪。核心区别在于:集线器让所有主机共享同一个冲突域和带宽,通常只能半双工并依赖 CSMA/CD;交换机把每个端口隔离成独立冲突域,支持全双工,显著提升吞吐、稳定性和安全性。
可以按层次、转发、冲突域/广播域、带宽与双工、实际意义来回答:集线器工作在 OSI 物理层,本质上是多端口中继器,只处理电信号或比特流,不理解 MAC 地址。它从一个端口收到数据后,会复制到其他所有端口,所以所有连接的主机处在同一个冲突域中,共享总带宽,通常是半双工通信,需要通过 CSMA/CD 处理冲突。交换机主要工作在 OSI 数据链路层,能够解析以太网帧头,根据源 MAC 地址学习 MAC 地址表,再根据目的 MAC 地址执行转发、过滤或泛洪:目的 MAC 已知就只转发到对应端口,目的 MAC 未知或是广播地址就泛洪到同一 VLAN 的其他端口,如果目的端口和入端口相同则过滤。需要注意的是,交换机默认不切分广播域,同一 VLAN 内仍属于一个广播域;要隔离广播域通常要使用 VLAN,并通过三层交换机或路由器实现不同 VLAN 间通信。
集线器工作在 OSI 七层模型的物理层,关心的是电信号、比特流的再生和放大,不识别以太网帧,也不识别 MAC 地址。交换机主要工作在数据链路层,能够读取以太网帧头中的源 MAC 和目的 MAC,并根据二层信息做转发决策。也有三层交换机能进一步基于 IP 做路由转发,但这道题通常默认讨论二层交换机。
集线器的转发方式是收到就复制,一个端口收到数据后,会向除入端口外的所有端口发送,完全不判断目的主机是谁。交换机的转发方式更智能:先从收到的帧中学习源 MAC 与入端口的对应关系,写入 MAC 地址表;再查目的 MAC,如果表中已有对应端口,就只转发到该端口;如果目的未知、广播或某些组播场景,则在同一 VLAN 内泛洪。
MAC 地址表是交换机区别于集线器的关键。交换机收到帧时,会把源 MAC 地址和接收端口绑定起来,并设置老化时间。后续如果收到发往该 MAC 的帧,就能直接定向转发。这个过程包括学习、泛洪、转发和过滤:学习源 MAC;目的未知时泛洪;目的已知时转发;如果目的 MAC 对应端口就是入端口,则说明目标在同一侧,不需要再发出。
集线器连接的所有主机共享同一个冲突域,同一时间只适合一台设备发送数据,多台设备同时发送会发生冲突。交换机通常把每个端口隔离成独立冲突域,主机与交换机端口之间可以独立通信,大幅减少冲突。在全双工交换网络中,冲突基本不再是正常通信中的问题。
集线器不会隔离广播域,广播会被所有端口收到。普通二层交换机也不会天然隔离广播域,同一 VLAN 内的广播帧仍会被泛洪到该 VLAN 的其他端口。因此不能简单说交换机隔离广播域;准确说法是交换机隔离冲突域,VLAN 可以划分广播域,不同 VLAN 之间通常需要三层转发。
集线器的端口共享总带宽,例如一个 100Mbps 集线器下多台主机同时通信时,整体资源被竞争使用,实际吞吐会明显下降。交换机通常为每个端口提供独立带宽,并且支持全双工,发送和接收可以同时进行。集线器多为半双工,需要避免或处理冲突;交换机全双工环境下不再依赖 CSMA/CD。
CSMA/CD 是传统共享式以太网中用来处理冲突的机制,核心思想是发送前监听信道,发生冲突后停止发送并随机退避。集线器形成共享介质,半双工通信下需要 CSMA/CD。交换机把链路拆成点到点连接,并普遍使用全双工,因此现代交换式以太网中 CSMA/CD 基本不再发挥作用。
交换机替代集线器的原因不是单一的更快,而是体系上的优势:减少冲突、端口带宽独享、支持全双工、能按 MAC 定向转发、降低无关流量暴露、支持 VLAN、链路聚合、生成树、安全策略等扩展能力。随着硬件成本下降,集线器在现代网络中几乎没有优势,只在非常特殊的抓包、教学或兼容场景中偶尔被提到。
不能。普通二层交换机默认只隔离冲突域,不隔离广播域。同一 VLAN 内的广播帧仍会被泛洪。只有通过 VLAN 划分,才能把二层广播域分开;不同 VLAN 之间通信还需要三层转发能力。
交换机会进行未知单播泛洪,把该帧发送到同一 VLAN 中除入端口之外的其他端口。目标主机回应后,交换机通过回应帧的源 MAC 学到目标 MAC 与端口的关系,后续就可以定向转发。
集线器本质上是共享传输介质,多个端口处在同一个冲突域中。如果多台主机同时发送,就会产生冲突,所以通常采用半双工,并依赖 CSMA/CD 监听、检测冲突和退避重传。
通常不需要。全双工链路中发送和接收使用独立方向,点到点连接不会像共享总线那样发生传统以太网冲突,因此现代交换式以太网基本不再使用 CSMA/CD。
不会。MAC 地址表通常有老化时间。如果某个 MAC 地址在一段时间内没有新的帧出现,对应表项会被删除。这样可以适应主机迁移、链路变化和网络拓扑变化。