真实面经题目 · 原创解析
冲突域和广播域的定义和区别?
冲突域关注的是二层或物理层以太网中谁和谁会争用同一发送介质、同时发送会不会发生碰撞;广播域关注的是一个二层广播帧会被扩散到哪些接口。集线器会把所有端口放在同一个冲突域和同一个广播域;交换机默认每个端口一个冲突域,但所有同 VLAN 端口仍属于同一个广播域;路由器、三层接口、不同 VLAN 之间的边界会隔离广播域。
真实面经题目 · 原创解析
冲突域关注的是二层或物理层以太网中谁和谁会争用同一发送介质、同时发送会不会发生碰撞;广播域关注的是一个二层广播帧会被扩散到哪些接口。集线器会把所有端口放在同一个冲突域和同一个广播域;交换机默认每个端口一个冲突域,但所有同 VLAN 端口仍属于同一个广播域;路由器、三层接口、不同 VLAN 之间的边界会隔离广播域。
冲突域和广播域是两个不同维度的网络范围概念。冲突域是指在共享介质或半双工以太网中,多个设备同时发送数据可能发生碰撞的范围,典型场景是集线器下的所有设备都在同一个冲突域。交换机工作在二层,能够根据 MAC 地址转发帧,每个交换机端口通常就是一个独立冲突域;如果端口是全双工,发送和接收可同时进行,传统意义上的碰撞基本不存在。广播域是指二层广播帧能够到达的范围,例如 ARP 请求使用目标 MAC FF:FF:FF:FF:FF:FF,同一 VLAN 内的交换机会泛洪该广播帧。交换机默认不会隔离广播域,所以同一 VLAN 内仍是一个广播域;路由器、三层交换接口以及 VLAN 间边界会隔离广播域。简单说,交换机主要切分冲突域,路由器或 VLAN 主要切分广播域。
冲突域是共享同一以太网发送介质的节点集合,在半双工环境下,如果两个节点同时发送帧,就可能发生碰撞,随后依靠退避机制重新发送。广播域是能收到同一个二层广播帧的节点集合,广播帧的目标 MAC 地址通常是 FF:FF:FF:FF:FF:FF,交换设备会在同一二层范围内扩散它。
冲突域解决的是介质争用问题,重点是同时发送是否会互相干扰;广播域解决的是广播扩散问题,重点是一个广播帧会影响多大范围。前者和半双工、共享介质、CSMA/CD 更相关,后者和二层转发、ARP、DHCP、VLAN、三层边界更相关。
集线器是物理层设备,本质上把一个端口收到的电信号复制到其他端口。它不学习 MAC 地址,也不做选择性转发。因此,接在同一集线器上的所有主机共享同一个冲突域;同时由于广播帧也会被转发到所有端口,这些主机也处于同一个广播域。集线器越大,碰撞概率和链路利用率问题越明显。
交换机是二层设备,会学习源 MAC 地址并维护 MAC 地址表,然后按目的 MAC 进行转发。对于单播帧,交换机通常只转发到目标端口,这使每个端口成为独立的冲突域;对于未知单播、广播、多播,交换机会在同一 VLAN 内泛洪。因此,交换机默认切分冲突域,但不切分同一 VLAN 内的广播域。
现代交换机端口大多工作在全双工模式,链路两端可以同时发送和接收,已经不再使用传统半双工以太网中的 CSMA/CD 碰撞检测机制。因此在现代交换网络中,冲突域更多是一个边界概念:交换机端口把共享冲突范围隔离开来,而全双工链路让实际碰撞基本消失。
路由器不会转发普通二层广播帧,因此它天然隔离广播域。三层交换机上的三层接口、SVI、不同网段之间的路由边界,也会阻止 ARP 这类二层广播跨越。广播如果要跨三层网络,需要依靠特定中继机制,例如 DHCP Relay,而不是默认广播扩散。
VLAN 是在交换网络中划分二层广播域的常用方式。即使多台主机连接在同一台交换机上,只要它们属于不同 VLAN,它们也不在同一个广播域内;同一 VLAN 可以跨多台交换机通过 trunk 链路延伸,所以广播域不等于一台物理交换机,而是同一 VLAN 的二层范围。不同 VLAN 通信需要三层转发。
主机要访问同一网段的另一个 IP 地址时,通常先发 ARP 请求。ARP 请求是二层广播,同一 VLAN 内的交换机会泛洪,所有同广播域主机都能收到,但只有目标 IP 对应的主机回复。这个例子能清楚说明广播域的边界:ARP 请求能到达哪里,哪里就在同一个二层广播影响范围内。
因为交换机不是简单复制电信号,而是根据 MAC 地址表进行选择性转发。每个端口都有独立链路,端口之间不会像集线器那样共享同一物理介质,所以一个端口上的发送冲突不会扩散到其他端口。在全双工模式下,单个端口链路本身也基本不存在传统碰撞。
因为二层广播的语义就是让同一二层网络内的所有节点都收到。交换机收到目标 MAC 为 FF:FF:FF:FF:FF:FF 的帧后,会在同一 VLAN 的其他端口泛洪。除非通过 VLAN、三层接口或相关策略限制,否则广播会覆盖整个同 VLAN 二层范围。
一个 VLAN 通常就是一个独立二层广播域。同一 VLAN 的端口可以分布在不同交换机上,广播会沿 trunk 链路在该 VLAN 内传播;不同 VLAN 之间二层广播默认不互通,如果要通信,需要路由器或三层交换机进行三层转发。
ARP 请求主要体现广播域问题。ARP 请求使用二层广播 MAC,交换机会在同一 VLAN 内泛洪,因此它的影响范围由广播域决定。冲突域关注的是发送介质争用,与 ARP 请求能传播到哪些主机不是同一个维度。
在默认所有端口同属一个 VLAN 且每个端口连接一个终端的情况下,通常可认为有 24 个冲突域、1 个广播域。如果划分了多个 VLAN,则广播域数量通常等于启用的 VLAN 数量;如果端口连接集线器,那么该端口下挂的集线器部分仍可能共享一个冲突域。