单 VLAN 下交换机与路由器连接的理解与疑惑

Jan 于 2025-11-30 发布 浏览量

单 VLAN 下交换机与路由器连接的理解与疑惑

在学习华为交换机和路由器的实验中,我对单 VLAN 下二层交换机、三层交换机与路由器接口的配置产生了一些疑惑,经过整理和验证,总结如下。

背景

疑惑

  1. 二层交换机下:
    • 单 VLAN 的情况下,一端分配 VLAN,另一端是否需要配置?
    • 是否可以一端 Access并分配VLAN,另一端不配置也能通信?
  2. 三层交换机下:
    • 靠近路由器的端口是否必须 Access?
    • 如果靠近路由器端口配置 Trunk 并允许 VLAN,通过为什么通信失败?
  3. 三层交换机下,Trunk 可以承载单 VLAN 吗?为什么单 VLAN 用 Trunk 有时通信不了?

实验过程

g0/0/1分配vlan 100

g0/0/2 先设置trunk,运行vlan 100通过

通信失败

img

g0/0/2取消trunk 设置access 运行vlan 100通过

通信成功

img

g0/0/2取消运行vlan 100通过

通信失败

img


设置单臂路由 g/0/0.100 192.168.1.254/24

g0/0/1分配vlan 100

g0/0/2 设置trunk并运行vlan 100通过后

通信成功

img

总结

序号 接口 配置 VLAN 状态 通信结果 备注
1 G0/0/1 Access VLAN 100 允许VLAN 100 通过 本端口分配 VLAN 100
2 G0/0/2 Trunk 允许VLAN 100通过 ❌ 失败 Trunk 未允许 VLAN 或对端未配置子接口,通信失败
3 G0/0/2 Access VLAN 100 允许VLAN 100通过 ✅ 成功 改为 Access 后,通信正常
4 G0/0/2 Access VLAN 100 未允许VLAN 100通过 ❌ 失败 VLAN 未激活,通信失败
5 G0/0/2 Trunk 允许VLAN 100通过 ✅ 成功 配置单臂路由后,G0/0/2 Trunk 可通信

原理分析

  1. 二层交换机
    • 单 VLAN 场景下,Access 端口会发送未打标签的原生帧
    • 另一端如果不配置 VLAN 或仅 Access,只要属于同一 VLAN,就能直接通信。
    • 因此二层交换机对单 VLAN 情况非常灵活。
  2. 三层交换机(充当网关)
    • 三层交换机接口本身是三层接口(可配置 IP)。
    • 连接 PC 的端口仍需 Access,并分配到对应 VLAN。
    • 连接路由器的端口:
      • 如果只承载单 VLAN:推荐 Access,发送原生帧,路由器接口直接作为网关。
      • 如果配置 Trunk:交换机会发送带 VLAN 标签的帧,路由器必须配置对应的 dot1q 子接口 才能识别,否则通信失败。
  3. 单 VLAN + Trunk 的限制
    • Trunk 本身可以承载单 VLAN,但发送的数据帧是带标签的。
    • 路由器端口如果没有 VLAN 子接口,则无法识别带标签帧。
    • 所以通信失败的原因是 路由器不识别 VLAN 标签,而非 Trunk 本身不可用。

总结

  1. 单 VLAN 下,二层交换机非常灵活,Access 或 Trunk 都可用,但 Trunk 会打标签。
  2. 三层交换机作为网关时,靠近路由器端口使用 Access 更可靠。
  3. Trunk 适合多 VLAN 场景,单 VLAN 下使用容易因路由器未配置子接口而通信失败。
  4. 本实验加深了我对 VLAN 标签处理、端口类型和单/多 VLAN 场景的理解。

最终总结表格

网络设备/场景 端口类型 VLAN 配置方式 数据帧特性 是否能通信 备注
二层交换机单 VLAN Access 一端分配 VLAN,另一端可不配置 原生帧(untagged) 灵活,单 VLAN 简单可靠
二层交换机单 VLAN Trunk 可通过 Trunk 传单 VLAN 带标签帧(tagged) 路由器需支持 VLAN 标签
三层交换机单 VLAN Access
(靠近 PC)
分配 VLAN 原生帧 保持原生帧,PC 可通信
三层交换机单 VLAN Access
(靠近路由)
分配 VLAN 原生帧 路由器直接作为网关
三层交换机单 VLAN Trunk
(靠近路由)
配置 VLAN 通过 带标签帧 路由器未配置 dot1q 子接口时无法通信