Appearance
题目
支持 VLAN 划分的以太网交换机,已按端口划分了两个 VLAN。VLAN 划分结果及各端口连接主机的 MAC 地址如下图所示。下列具有不同目的 MAC 地址(DA)和源 MAC 地址(SA)的以太帧 F1~F4 中,H3 会接收到的是( )。

结构(文字版):一台 24 端口以太网交换机(端口排列上下两排:上排 13–24,下排 1–12),由一道虚线竖向把上下两排同时切成左右两块,分出两个 VLAN:
- VLAN A(左半区):占用上排端口 13–19、下排端口 1–7
- H1(MAC
00-1A-2B-3C-4D-01)接端口 13- H2(MAC
00-1A-2B-3C-4D-02)接端口 2- H3(MAC
00-1A-2B-3C-4D-03)接端口 5- VLAN B(右半区):占用上排端口 20–24、下排端口 8–12
- H4(MAC
00-1A-2B-3C-4D-04)接端口 8- H5(MAC
00-1A-2B-3C-4D-05)接端口 9- H6(MAC
00-1A-2B-3C-4D-06)接端口 12其余端口(图中未连任何主机)暂不参与本题。
四个候选帧的地址如下:
- F1:DA =
00-1A-2B-3C-4D-03(H3);SA =00-1A-2B-3C-4D-01(H1) - F2:DA =
00-1A-2B-3C-4D-04(H4);SA =00-1A-2B-3C-4D-05(H5) - F3:DA =
FF-FF-FF-FF-FF-FF(广播);SA =00-1A-2B-3C-4D-02(H2) - F4:DA =
00-1A-2B-3C-4D-06(H6);SA =00-1A-2B-3C-4D-03(H3)
错因
A
把"H3 是 F2 的目的地之一"误判成"H3 收得到"——可能搞反了 F2 的 DA 与 SA:F2 是 H5→H4,DA 是 H4 不是 H3。即使读对了 F2 的方向,也会忽略 H4/H5 都在 VLAN B、H3 在 VLAN A,跨 VLAN 帧不互通这个根本约束。F4 错的根源是漏了"H3 自己发的帧自己不会收回"——交换机不会把帧从源端口转发回去。
C
F1 判对(H1→H3 同 VLAN A 单播,H3 收到),但把 F2 也算进来了。F2 是 H5→H4,两端都在 VLAN B,H3 在 VLAN A,VLAN 隔离让这帧根本到不了 H3 所在的端口 5。常见上钩思路:"F2 是单播,交换机起码会泛洪一下试试" —— 但 VLAN 划分恰恰禁止跨 VLAN 泛洪,未学过的目的 MAC 也只在源 VLAN 内泛洪。
D
F3 判对(H2 发广播,VLAN A 内所有除 H2 外的主机都收,H3 收得到),但把 F4 也算进来了。F4 的 SA 是 H3 自己——交换机看到 F4 从端口 5 进来,不会把它再从端口 5 送回去(IEEE 802.1D 的端口转发规则:永远不向入端口回转)。即便目的 H6 假设和 H3 同 VLAN(实际它在 VLAN B),自己发的帧也回不到自己。
总解析
两条转发规则锁定答案:
- VLAN 隔离:跨 VLAN 帧(含单播 + 广播 + 未学习的 MAC 泛洪)一律被交换机丢弃在源 VLAN 内,不会跨 VLAN 转发(要互通须靠三层设备,本题无)。
- 不向入端口回转:交换机绝不把帧再从它进来的那个端口送出去,所以主机自己发的帧自己永远收不到(哪怕是广播)。
逐帧判定:
| 帧 | DA | SA | DA 在哪 VLAN | SA 在哪 VLAN | H3 是否收? |
|---|---|---|---|---|---|
| F1 | H3 | H1 | A | A | ✅ 同 VLAN 单播给 H3,H3 收 |
| F2 | H4 | H5 | B | B | ❌ 同 VLAN B 内的转发,与 VLAN A 完全隔离 |
| F3 | 广播 | H2 | —(广播) | A | ✅ 在 VLAN A 内广播,H3 与 H2 同 VLAN,H3 收 |
| F4 | H6 | H3 | B | A | ❌ 双重原因:① H3 自己发的,不会回到入端口 5;② 跨 VLAN(H3 在 A,H6 在 B),即便不算回转规则也跨 VLAN 出不去 |
H3 收到的帧 = F1 + F3。
最终答案是 B(仅 F1、F3)。
编者注(生僻术语):"不向入端口回转"是 IEEE 802.1D 透明网桥转发规则的兜底约束——既适用于已学习的 MAC(直接查表转发到对应端口)、也适用于未学习的 MAC 泛洪(向除入端口外所有同 VLAN 端口送)、还适用于广播帧(向同 VLAN 所有端口送但不送回入端口)。三种情形都遵守这条不回转规则。