二层转发里 VLAN 起什么作用
交换机的二层转发可以拆成四步:入端口确定帧属于哪个 VLAN(带 Tag 用 Tag 值,不带 Tag 用 PVID);在 VLAN 加目的 MAC 组成的表项里查表;命中就按出端口的规则决定是否打 Tag 转发;未命中就在该 VLAN 内泛洪。VLAN 是这张表的『命名空间』,同一 MAC 在不同 VLAN 里是两个互不相干的表项。
基本信息
| 第一步 | 入端口确定 VLAN:Tag 值或端口 PVID |
|---|---|
| 第二步 | 按 VLAN + 目的 MAC 查表 |
| 第三步 | 命中后出端口按规则封装(带 / 不带 Tag) |
| 第四步 | 未命中则在该 VLAN 内泛洪 |
| 关键结论 | 跨 VLAN 通信必须经过三层设备 |
典型使用场景
- 排查『同网段不通』:判断是否因 VLAN 归属不一致导致查不到表项
- 定位泛洪问题:MAC 表容量或老化异常时泛洪明显增加
- 受控转发验证:确认出端口的 Tag 规则与对端期望一致
- 跨 VLAN 访问规划:明确哪些流量必须过三层
- 理解环路影响:泛洪在环路中会放大为风暴
转发流程示意
转发流程示意
入帧
→ 入端口定 VLAN(Tag 值 或 PVID)
→ 查 MAC 表(键 = VLAN + 目的 MAC)
→ 命中:出端口按规则封 Tag / 剥 Tag 转发
→ 未命中:在该 VLAN 内泛洪
→ 跨 VLAN:必须经三层设备路由四步与常见故障
| 步骤 | 正常表现 | 异常原因 |
|---|---|---|
| 入端口定 VLAN | 归属与设计一致 | PVID 配错,终端落到错误 VLAN |
| 查 MAC 表 | 命中唯一出端口 | 表项老化或容量不足,改为泛洪 |
| 出端口封装 | Tag 形态符合对端期望 | 放行规则错,对端按错误 VLAN 处理 |
| 未命中泛洪 | 仅在本 VLAN 内扩散 | VLAN 过大或环路时泛洪放大 |
MAC 表项与 VLAN 绑定:同一台终端在两个 VLAN 里有两条独立表项。排查时若在 A 网段的表里找不到终端,先确认它实际落在了哪个 VLAN。
『转发路径正确但帧格式错误』是隐蔽故障:出端口 Tag 规则配错时,对端会按错误的 VLAN 处理报文,两端接口计数与邻居状态都正常。