单 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 子接口时无法通信